Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan yazılım geliştirme yaşam döngüsü ve Agile yöntemleri hakkında kapsamlı bir eğitim içeriğidir. Eğitmen, 25 yıllık sektör deneyimine sahip bir uzman olarak, Engin Hoca olarak hitap edilmektedir ve Fatma Hanım da eğitim sırasında yer almaktadır.
- Video, yazılım geliştirme yaşam döngüsünün tarihsel gelişiminden başlayarak, waterfall modelinden modern Agile yaklaşımlarına kadar olan süreci anlatmaktadır. Özellikle Scrum ve Kanban gibi Agile metodolojilerinin temel prensipleri, uygulamaları ve Jira platformundaki uygulamaları detaylı şekilde gösterilmektedir. Eğitimin son bölümünde, Scrum'da beş temel toplantı türü (grooming, sprint planlama, scrum toplantısı, sprint revi ve retro toplantıları) açıklanmaktadır.
- Eğitim boyunca, Jira yazılımının kurulumu, proje oluşturma, sprint planlaması, iş havuzu yönetimi, story puanlama ve raporlama gibi konular adım adım gösterilmektedir. Ayrıca, Scrum ve Kanban yöntemleri arasındaki temel farklar karşılaştırmalı olarak anlatılarak, her iki yöntemde de kullanılan raporlama sistemleri ve sprint süreçleri açıklanmaktadır.
- 00:10Yazılım Geliştirme Yaşam Döngüsüne Giriş
- Video, CIA (probable abbreviation for Jira) konusunu ele alacak ancak önce yazılım geliştirme yaşam döngüsü (SDLC) hakkında bilgi verilecek.
- Yazılım geliştirme süreci, bilgisayarların icadıyla birlikte başlamış olup, modern yazılım süreçlerinin ilk temelleri 1950'li yıllarda atılmıştır.
- Yazılım geliştirme sürecini anlamak, sadece geliştiriciler değil, tüm IT sektöründeki kişilerin işlerini daha başarılı hale getirmesine yardımcı olur.
- 03:13Yazılım Geliştirme Yaşam Döngüsüne Genel Bakış
- Yazılım geliştirme yaşam döngüsü (SDLC), yazılım geliştirme sürecinin adımlarını kapsayan bir yöntemdir.
- Yazılımlar müşteri ihtiyaçlarını karşılamak için geliştirilir ve teknoloji, ihtiyaçlar ve mevzuat değiştiği için sürekli yenilenmesi gerekir.
- 1970'lerde kaynakların etkin kullanılması için ilk model olan "Waterfall Model" (Şelale Modeli) kullanılmıştır.
- 04:39Yazılım Geliştirme Yöntemlerinin Evrimi
- 1980'lere doğru yazılım geliştirme süreci hızlanmış ve iteratif hale gelmiştir, müşterinin süreci daha aktif şekilde katılmaya başlamıştır.
- Spiral modellerde her döngüde geliştirilen yazılım teslim edilmiş ve müşteri geri bildirimi alınarak geliştirme işlemi devam etmiştir.
- Teknolojinin hızla değişmesi ve müşteri beklentilerinin artmasıyla, 1970'lerden 2000'li yıllara kadar kullanılan yöntemlerin yerini "Agile" yaklaşımları almıştır.
- 06:51SDLC Adımları
- SDLC'de ilk adım analiz sürecidir; problem ne ile ilgili olduğunu ve nasıl çözülebileceğini anlamaya çalışırız.
- Analiz sonrası tasarım aşaması gelir; Salesforce geliştiricileri platformda, Python geliştiricileri Python'a uygun tasarım yaparlar.
- Kodlama (implementasyon) aşamasından sonra test edilir, başarılı test sonrası yazılım müşteriye teslim edilir ve canlı sistemlere taşınır.
- 08:54Waterfall Modeli
- 1970'lerde kullanılan Waterfall Modeli'nde her şeyin net tanımlanması gerekiyordu; müşterinin ihtiyaçlarını net ortaya koyması şarttı.
- Waterfall Modeli'nde bir aşama bitince bir sonraki aşamaya geçilirdi; analiz bittikten sonra tasarım, tasarım bittikten sonra kod geliştirme aşamasına geçilirdi.
- Her aşamanın çıktısı bir sonraki aşamaya aktarılır; analiz dökümanı tasarımcılara, tasarım dökümanı yazılımcılara iletilir.
- 10:23Yazılım Geliştirme Süreçlerinin Evrimi
- Yazılım geliştirme sürecinde bir aşama bitip diğerine geçildiğinde, müşteri yazılımın beklenenden farklı olduğunu söyleyebilir ve bu durumda yazılımı baştan yazmak maliyetli olur.
- Yazılım geliştirme süreci, müşteri ihtiyaçlarının, teknolojinin ve mevzuatın değişmesi nedeniyle sürekli bir yaşam sürecine dönüştü.
- Başlangıçta lineer bir süreç olan yazılım geliştirme, müşteri taleplerine daha hızlı yanıt vermek için iteratif (döngüsel) bir yapıya büründü.
- 11:35Iteratif Geliştirme Yaklaşımı
- İteratif yaklaşımda, istekler toplanıp analiz edildikten sonra, tüm analizin bitmesini beklemeksizin eldeki analizlerle geliştirme işlemine başlanıyor.
- Büyük bir yazılım geliştirmek için birkaç ekranı tamamladıktan sonra müşteriye gösteriliyor, müşteri onay verdiğinde kodlama ve test işlemi başlatılıyor.
- İteratif süreçlerde planlamalar ve risk analizleri her aşamada yapılmaya başlandı, çünkü müşteriler yazılımın henüz tamamlanmamış halini bile kullanmak istiyorlardı.
- 12:35Spiral Model ve Modern Yaklaşımlar
- Spiral modelde, tüm analiz ve tasarım aşamalarının bitmesini beklemeksizin, müşterinin en çok ihtiyacı olan kısımlar öncelikle geliştiriliyor.
- İlk başta lineer (waterfall) bir süreç olan yazılım geliştirme, iteratif ve spiral modellerle evrildi.
- Modern ecel yöntemleri, waterfall, iteratif ve spiral modellerin özelliklerini birleştirerek planlı ve kontrol edilmiş bir yapıya sahip olup, müşteriyi projenin başlangıcından itibaren dahil ediyor.
- 15:42Scrum Yöntemi ve Geliştirme Süreci
- 2000'li yılların başında Scrum yöntemi tanıştırıldı ve bu yöntem, bir yazılım geliştirme projesi için müşteri talebiyle oluşmaktadır.
- Bir proje tamamlamak için yüzlerce iş bitirmek gerekiyor ve bu işlerin listesi ürün sahibi veya program yöneticisi tarafından oluşturulur.
- Proje tamamlanabilmek için yapılması gereken iş listesine "product backlog" veya "pro backlog" denir ve bu liste genellikle yüzlerce işi içerir.
- 18:03Sprint ve Scrum Takımı
- Iterasyon yöntemiyle, tüm işler hemen yapılmaz, öncelikli işler seçilip planlanır ve sprint adı verilen kısa süreli (genellikle iki haftalık) periyotlar oluşturulur.
- Sprint planlaması yapılır ve sprint backlog olarak adlandırılan bu kısa süreli işler takım tarafından tamamlanır.
- Scrum takımı, işleri tamamlamakla sorumlu olup, ecel yaklaşımlarla birlikte takım kendini yönetme ve motive etme yeteneğine sahiptir.
- 22:15Scrum Board ve İş Akışı
- Scrum board, yapılacak işlerin listesini gösteren ve işlerin durumunu takip eden bir görselleştirme aracıdır.
- İşler genellikle "to do", "in progress", "validate" ve "done" olmak üzere dört aşamada ilerler.
- Scrum board, proje ile ilgili tüm çalışanların şeffaf bir şekilde iş durumlarını görebileceği bir görselleştirme aracıdır.
- 24:55Kanban ve Scrum Karşılaştırması
- Kanban ve Scrum hem iterasyon, hem planlama, hem sprint ve hem günlük toplantılar gibi özellikleri paylaşır.
- Scrum daha yazılım geliştirme süreçlerine uygunken, Kanban özellikle üretim sektöründe kullanılmaktadır.
- 2001-2015 yılları arasında yapılan bir rapor, ecel metodolojilerinin başarısızlık oranını %9'lardan %13'e düşürdüğünü ve başarı oranını üç kat artırdığını göstermiştir.
- 27:47Atlas Yazılım Firması Tanıtımı
- Atlas, yüz milyar dolar değerinde bir yazılım firması olmasına rağmen web sitesi oldukça basit görünüyor.
- Atlas'ın yazılım ürünleri dört gruba ayrılmış: yazılım geliştirme ve proje yönetimi araçları, işbirliği araçları, yazılım geliştirme süreçlerinde kullanılan ürünler ve güvenlik/kimlik yönetim sistemleri.
- Atlas'ın en önemli ürünleri arasında Jira, Confluence, Bitbucket ve Bamboo bulunuyor.
- 29:41Jira Kullanımı ve Avantajları
- Jira ücretsiz olarak kullanılabilir ve tüm Atlas'ın özelliklerini sunuyor, sadece kullanıcı sayısı (10 kullanıcıya kadar) ve proje kapasitesi (2 GB) kısıtlaması var.
- Atlas'ın aktif bir komünitesi var ve 4 milyonun üzerinde kullanıcıya sahip.
- Jira, kullanıcılar için bir web sitesi sağlıyor ve bu site için kullanıcılar kendi isimlerini veya e-postalarını kullanabilir.
- 34:33Jira Proje Oluşturma
- Jira'da proje oluşturmak için projenin bir adı, anahtar ve şablon (kanban veya scrum) seçimi gerekiyor.
- Proje oluşturulduğunda otomatik olarak board (kanban tahtası) görünüyor ve "to do", "in progress" gibi başlıklar geliyor.
- Bir kullanıcı birden fazla proje oluşturabilir, farklı şablonlarla (kanban veya scrum) farklı projeler açabilir.
- 39:36Scrum ve Kanban Arasındaki Farklar
- Yazılım geliştirme süreçlerinde Scrum daha çok kullanılmaktadır.
- Scrum'da sprint adı verilen iki haftalık planlama ve planlanmış işler vardır, Kanban'da ise böyle süreler yoktur.
- Scrum'da sprintte yapılması gereken işler planlanır ve takım sadece o işleri yapabilirken, Kanban'da herkes istediği işi alıp yapabilir.
- 40:33Kanban Projesi Yönetimi
- Kanban projesinde bir panosu olması gerekir ve bu panoda işler takip edilir.
- Product Backlog olarak düşünebileceğimiz bir iş listesi oluşturulur ve her işin bir önceliği ve estimation (puan) değeri vardır.
- Puanlar işlerin kapsamını ve zorluk seviyesini karşılaştırmak için kullanılır, gerçek süreler değil göreceli değerlerdir.
- 46:03Kanban Board Özellikleri
- Kanban board'da To Do, In Progress ve Done olmak üzere üç temel sütun vardır, ancak istenildiği kadar yeni sütun (örneğin Validation) eklenebilir.
- Sütunlara sınır belirlenebilir, örneğin To Do sütununda en fazla 10 iş bulunabilir.
- İşlere yorum eklenebilir, dosya eklenebilir ve süre belirlenebilir.
- 48:29İş Takibi ve Atama
- İşler belirli kişilere atanabilir ve herkes projede hangi işin kim tarafından yapıldığını görebilir.
- İşler To Do'dan başlayıp, In Progress'e taşınır, tamamlandığında Done'a veya eklenen diğer sütunlara (örneğin Validation) taşınır.
- Kanban esnek bir sistemdir ve Scrum'a göre daha flexible olup, işleri takım üyeleri kendileri alabilir veya Kanban sorumlu kişisi atayabilir.
- 50:34Agile Proje Yönetimi Hakkında Bilgilendirme
- Eğer daha önce Agile proje yönetimi hakkında eğitim almadıysanız, anlatılanlar kafanızı karıştırabilir.
- Agile proje yönetimi yaklaşımı, geleneksel yönetim yöntemlerinden çok farklıdır.
- Agile metodolojileri hakkında Türkçe ve İngilizce kaynaklara bakmanız tavsiye edilir.
- 51:55Kanban Proje Yönetimi Örneği
- Kanban proje yönetimi örneğinde, işler bittiğinde diğer işler üzerine alınabilir.
- Kanban yönetimi ile üç iş tamamlanarak bir yazılım veya ürünün belirli bir aşaması tamamlanabilir.
- Kanban projesi olduğu için pano özelliği açılamaz, çünkü Kanban projesi için zorunludur.
- 53:23Proje Özellikleri ve Raporlar
- Proje ayarlarında bazı özellikler kapalı olarak gelir, örneğin kapsam kapalı, pano açıksa inaktif yapılabilir.
- Raporlar kapalı olarak gelebilir, ancak açılabilecek ve çeşitli raporlar kullanılabilir.
- Kanban projesinde sprint (sprint) özelliği bulunmaz çünkü bu Scrum metodolojisine özgü bir terimdir.
- 54:46İş Atamaları ve Notifikasyonlar
- İş atamalarında kişiler mail ile bilgilendirilir ve mutasyonlar üzerinden takip edilebilir.
- Kullanıcılar "bana atanan işler" bölümünden işlerini kontrol edebilir.
- İş havuzu (havuz) olarak adlandırılan to-do listesinden kişiler işleri kendilerine atayabilir.
- 59:07İş Havuzu ve Çalışma Etkinliği
- İş havuzu, to-do listesinden kişilerin işleri kendilerine alabilmesi için bir mekanizmadır.
- Her firmanın kendi iç projeleri ve eğitim projeleri vardır, bu nedenle herkes sürekli iş almayabilir.
- Boş kalmak profesyonel yaşamda lehimize değil, bu nedenle istekli olmak ve işleri almak önemlidir.
- 1:00:41Proje Yönetimi ve Görev Atama
- Şirketlerde farklı takımlar olabilir ve her takımda iş yapma biçimleri farklılık gösterebilir.
- Proje yöneticisi işleri Excel'e girebilir ve uygun olanlar bunları bitirebilir, veya tek tek görev atayabilir.
- Önemli olan, yapılması gereken işleri ve kimin ne zaman ne kadar zamanda tamamladığını anlamak ve değerlendirmektir.
- 1:01:56Proje Yönetimi ve Deneyim Kazanma
- Proje yönetimi ve görev almak önemlidir, deneyim kazanmak için zamanla daha fazla proje yapmak gerekir.
- Raporlarda yol haritası ve kapsam gibi özellikler bulunur, bunlar projenin ilerlemesini gösterebilir.
- Faturalandırma kısmı hakkında bilgi verilmiştir; 10 kişiden fazla eklenirse ücretli geçer.
- 1:03:42Atlas Topluluğu ve Destek
- Atlas ürünlerini kullanan insanların oluşturduğu bir topluluk bulunmaktadır ve bu toplulukta 4 milyon kullanıcı bulunuyor.
- Sorun yaşandığında topluluğa soru sorulabilir ve aktif bir şekilde cevaplar alınabilir.
- IT sektöründe sorunlarla karşılaşıldığında önce araştırılır, sonra deneyimli kişilerden yardım istenir veya forumlarda soru sorulur.
- 1:05:25Scrum Projesi Oluşturma
- Scrum projesi oluşturmak için "Proje Oluştur" seçeneği kullanılır ve proje ismi belirlenir.
- Scrum projesi oluşturduktan sonra board görünümü gelir ve projeler listelenir.
- Scrum projesinde hemen işler eklenebilir, ancak sprint planlaması ve toplantılar yapılması gereklidir.
- 1:08:21Scrum'da Kapsam ve Havuz
- Scrum'da "kapsam" ve "sprint kapsamı" farklıdır; sprint kapsamı havuzdan alınan işlerdir.
- Havuza işler atarken, ürün sahibi (product owner) müşteri veya iş birimleriyle görüşerek yapılacak işleri belirler.
- Scrum master, ekipin sorunlarını çözer, motive eder ve teknik engelleri giderir.
- 1:13:06Story Özelliklerinin Eklentisi
- Story'nin özelliklerini olmayan özelliklerini (örneğin süre takibi ve öncelik) ekleyebilirsiniz.
- Eklenen özellikler proje için ve story işleri için kaydedilir.
- Excel'de verilen öncelik ve süre değerleri tek tek girilmelidir.
- 1:14:11Öncelik ve Story Point Değerleri
- Öncelik değerleri 1 (en yüksek), 2 (yüksek), 3 (orta), 4 (düşük) ve 5 (en düşük) olarak ayarlanabilir.
- Story point değerleri (puanlar) işlerin büyüklüğünü belirler.
- Her işe öncelik ve story point değerleri atanarak sprint planlaması yapılır.
- 1:18:44Sprint Planlaması
- Sprint planlama toplantısında hangi işlerin ilk sprinte alınacağı kararlaştırılır.
- Sprint'te belirli sayıda iş planlanır, örneğin ilk sprintte beş iş seçilmiştir.
- Sprint'in iki hafta süresi belirlenir ve başlangıç tarihi atanır.
- 1:22:16Sprint Başlatma
- Sprint başlattığınızda takım üyelerinin işleri kabul etmeleri ve sürelerin uygun olup olmadığı kontrol edilir.
- Sprint'e anlamlı isimler verilir (örneğin "1. Sprint").
- Sprint başlangıç tarihi ve süresi (örneğin iki hafta) belirlenir.
- 1:23:33Sprint Yönetimi ve İş Planlaması
- 15 Ağustos Salı günü ilk sprint başlamış ve hayırlı olsun temennisi yapılmış.
- Sprint hedefleri belirlenmiş ve işler havuzdan sprinte planlanmış.
- Speed başlamış ve projenin panosu boş olarak başlamış.
- 1:24:13Sprint İşlerinin İlerlemesi
- İkinci projeye (versiyon 2) beş tane iş gelmiş ve bu işler ilerletilecek.
- İşler yapılacaklar, devam ediyor, bitirildi şeklinde ilerleyecek.
- Dijital board sayesinde herkesin ne yaptığını ve ne kadar ilerlediğini görebiliyor.
- 1:25:39İş Takibi ve Durum Değişiklikleri
- Atanan işlerin durumları takip edilebiliyor, örneğin "devam ediyor" ve "yapılacaklar" kolonları arasında geçiş yapılıyor.
- Versiyon 2 panosunda işlerin ilerlemesi takip edilebiliyor.
- Sprintlerde test aşaması eklenilebilir, bu şirketlerin proje yönetiminin karar vereceği bir konu.
- 1:27:33Sprint Kapanışı ve Yeni Sprint Başlangıcı
- Birinci sprintte planlanan beş iş tamamlanınca sprint kapatılıyor.
- Sprint tamamlandığında sistem "Sprint tamamlayalım mı?" sorusunu soruyor.
- Sprint kapatıldığında, ikinci sprintin panosu açılıyor ve bekleyen işler yeni sprinte aktarılıyor.
- 1:29:19Scrum ve Kanban Yöntemleri
- Scrum master, projeye katılımcı olarak iş alıp iş yapmaz, ancak gerektiğinde projeye katılım sağlayabilir.
- Scrum ve Kanban yöntemlerinde şeffaflık önemlidir; takım üyeleri birbirlerinin yaptığı işleri görür ve birbirlerinin yapacağı işlerden sorumludur.
- Scrum takımı bir rol gibi görülür, bireyler değil takım olarak değerlendirilir.
- 1:30:45Kanban Sisteminde İş Takibi
- Kanban sisteminde işler havuzda görülür ve herkesin işinin hangi aşamada olduğunu görebilir.
- Bir kişi işi bitirdiğinde, başka biri o işi alabilir ancak isim değişimi yapılmalıdır.
- Sistemde çalışma saatleri takip edilir ve herkesin kaç saat çalıştığı raporlanır.
- 1:32:21Scrum ve Kanban Arasındaki Farklar
- Scrum'da sprint planlama toplantısı, günlük toplantılar, sprint revi ve retro toplantıları gibi birçok toplantı vardır, Kanban'da bu tür toplantılar yoktur.
- Scrum'da timebox (süre sınırlaması) vardır, genellikle iki hafta sürer, Kanban'da ise süre belirtilmez, iş tamamlanana kadar devam eder.
- Scrum takımı belli işleri yapacak, bilmediği konularda eğitim alacak veya birlikte çalışacak, Kanban'da ise herkes belirli bir tip işleri yapar.
- 1:35:35Sprint Sonunda Tamamlanmayan Taslar
- Sprint sonunda tamamlanmayan taslar, iki stratejiyle ele alınır: iş başlanmışsa bir sonraki sprintte tekrar planlanır ve devam edilir.
- Hiç başlanmamış veya çok zor yapılamayan taslar, bekleme havuzuna gönderilir ve bir sonraki planlama yapılmaz.
- Kanban'da sprint kavramı olmadığı için, tamamlanmayan işlerin nasıl ele alınacağı Scrum'dan farklıdır.
- 1:36:53Raporlama
- Scrum'da sprint raporları kullanılırken, Kanban'da sürelere çok rahat etmediği için raporlar farklı şekillerde hazırlanır.
- Kapsam pano raporları, tasların kim tarafından yapıldığı, durumu, tamamlanma durumu, başlama ve bitiş zamanları gibi bilgileri içerir.
- Yöneticiler bu raporlarla yapılacak işleri ve bunların planlanması için bilgi edinirler.
- 1:39:01Sprint Planlaması ve İş Takibi
- Kullanıcılar projelerinde her gün ilerleme yaparak güzel raporlar oluşturabilirler.
- Sprint planlama toplantısında kalan işler konuşulur ve hangi kişi hangi işi yapacak belirlenir.
- İkinci sprint 15 Ağustos'ta başlayacak ve Ağustos'un sonunda bitmesi planlanıyor.
- 1:41:45Scrum Toplantıları
- Scrum metodolojisinde beş tane toplantı vardır: iş havuzu oluşturma toplantısı, sprint planlama toplantısı, günlük stand-up toplantısı, sprint revizyon toplantısı ve retrospektif toplantısı.
- Günlük stand-up toplantısı her sabah 15 dakika sürer ve herkes dün ne yaptığını, bugün ne yapacağını ve karşılaştığı problemleri paylaşır.
- Sprint revizyon toplantısında müşteriler de katılarak ürün değerlendirilir ve takım kendini de değerlendirir.
- 1:43:34Sprint Tamamlama ve Jira Kullanımı
- İkinci sprint tamamlanıyor ve Perol System versiyonu 2'nin 2. sprintinde dört iş tamamlanmış oluyor.
- Normalde velocity raporu ile sprintte ne kadar iş planlandığı ve ne kadar işin tamamlandığı görülebilir.
- Jira kullanımı ilk defa görülenler için karışık değil, faydalı bir araçtır ve pratik yaparak kolayca öğrenilebilir.