Kitap 15
Ekipler ve Süreç
Yazılım ekiplerinin işi birlikte nasıl planlayıp teslim ettiği: Agile, Scrum, Kanban, sprint'ler, kullanıcı hikâyeleri ve etraflarındaki ritüeller.
İçindekiler
- 01Acceptance CriteriaKabul Kriterleri1Acceptance criteria, tek bir user story'nin ya da backlog öğesinin Product Owner'ın kabulü için karşılaması gereken, test edilebilir koşullardır.
- 02Açık Kaynak2Açık kaynak yazılım, kaynak kodu herkesin kullanmasına, incelemesine, değiştirmesine ve paylaşmasına izin veren bir lisansla yayımlanan yazılımdır.
- 03AgileÇevik Yazılım Geliştirme3Agile, çalışan yazılımı küçük ve sık parçalar halinde teslim eden ve planları düzenli geri bildirime göre ayarlayan bir yazılım geliştirme yaklaşımıdır.
- 04Burndown Chart4Burndown chart, bir sprint veya sürümde kalan işi zaman içinde gösteren grafiktir; ekip bitirmek için yolda olup olmadığını bir bakışta görür.
- 05Bus Factor5Bus factor, geriye kalanlardan hiçbiri kritik parçaları bilmediği için bir proje durma noktasına gelmeden önce aniden ayrılabilecek en az kişi sayısıdır.
- 06Code SmellKod Kokusu6Code smell (kod kokusu), kod hâlâ çalışsa bile çoğu zaman daha derin bir tasarım sorununa işaret eden yüzeysel bir belirtidir.
- 07Daily Standup7Daily standup, ekibin hedefe doğru ilerlemeyi kontrol ettiği, günü planladığı ve engelleri dile getirdiği, genellikle 15 dakikayı geçmeyen günlük toplantıdır.
- 08Definition of DoneTamamlanma Tanımı8Definition of Done, bir işin ekip tarafından tamamlanmış sayılabilmesi için karşılaması gereken kalite standartlarının ortak kontrol listesidir.
- 09Epic9Epic, Agile'da tek bir sprint'te bitmeyecek kadar büyük olan ve ekibin zamanla teslim edilen daha küçük user story'lere böldüğü geniş bir iş kümesidir.
- 10Extreme Programming10Extreme Programming, eşli programlama, test odaklı geliştirme ve sürekli entegrasyon gibi mühendislik pratikleri üzerine kurulu bir Agile yöntemidir.
- 11Kanban11Kanban, işi sütunlardan oluşan bir panoda görselleştiren ve iş akışının düzgün ilerlemesi için aynı anda devam eden iş sayısını sınırlayan bir Agile yöntemidir.
- 12Lean Software DevelopmentYalın Yazılım Geliştirme12Lean yazılım geliştirme, yalın üretim fikirlerini yazılıma uygulayarak israfı kaldırıp akışı iyileştirerek müşteri değerini hızla teslim etmeyi amaçlar.
- 13Mob Programming13Mob programming, bütün bir ekibin aynı görev üzerinde, aynı anda ve tek bir ortak bilgisayarda sırayla klavyeyi kullanarak çalıştığı bir pratiktir.
- 14MVPMinimum Uygulanabilir Ürün14MVP, gerçek kullanıcıların kullanabileceği en sade ürün sürümüdür; temel bir varsayımı test etmek ve en az emekle en çok şeyi öğrenmek için geliştirilir.
- 15Pair ProgrammingEşli Programlama15Pair programming, iki geliştiricinin aynı kod üzerinde birlikte çalıştığı, birinin yazarken diğerinin işi gözden geçirip yönlendirdiği bir Agile tekniğidir.
- 16Planning PokerPlanlama Pokeri16Planning poker, ekip üyelerinin bir görev için birer tahmin kartını gizlice seçip aynı anda açtığı, sonra farkları tartıştığı bir tahminleme tekniğidir.
- 17Product Backlog17Product backlog, bir ekibin bir ürünü geliştirmek için yapabileceği özellikler, düzeltmeler ve teknik işler gibi her şeyin tek ve sıralı listesidir.
- 18Product OwnerÜrün Sahibi18Product Owner, sırada neyin geliştirileceğine karar verip product backlog'u sıralayarak ürünün değerini en üst düzeye çıkaran Scrum sorumluluğudur.
- 19Proof of ConceptKavram Kanıtı19Proof of concept (PoC, kavram kanıtı), bir fikrin ya da teknolojinin pratikte işe yarayabileceğini asıl geliştirmeden önce gösteren küçük, hızlı bir deneydir.
- 20Retrospektif20Retrospektif, ekibin her sprint sonunda nasıl çalıştığını değerlendirip bir dahaki sefer için somut iyileştirmelerde anlaştığı toplantıdır.
- 21Scrum21Scrum, küçük bir ekibin tanımlı roller, olaylar ve çıktılarla ürünü sprint denen sabit uzunluklu döngülerde teslim ettiği bir Agile framework'üdür.
- 22Scrum Master22Scrum Master, koçluk yaparak, olayları kolaylaştırarak ve engelleri kaldırarak ekibin ve kurumun Scrum'ı iyi kullanmasına yardım eden Scrum sorumluluğudur.
- 23SDLCYazılım Geliştirme Yaşam Döngüsü23Yazılım geliştirme yaşam döngüsü (SDLC), bir yazılımın geçtiği aşamalar dizisidir: planlama, tasarım, geliştirme, test, yayın ve bakım.
- 24Spike24Spike, Agile ekiplerin bir özelliği geliştirmeye geçmeden önce bir soruyu yanıtlamak veya belirsizliği azaltmak için yaptığı kısa, zaman kutulu araştırmadır.
- 25Sprint25Sprint, bir Scrum ekibinin tek hedefe doğru çalışıp kullanılabilir bir ürün artışı ürettiği, bir ay veya daha kısa, çoğunlukla iki haftalık sabit dönemdir.
- 26Sprint PlanningSprint Planlaması26Sprint planning, her sprint'i başlatan Scrum etkinliğidir; ekip bir sprint hedefinde anlaşır, bitirebileceği backlog öğelerini seçer ve işi planlar.
- 27Story Points27Story point, Agile ekiplerin iş öğelerinin göreli büyüklüğünü saat yerine karmaşıklık, iş miktarı ve belirsizliği birleştirerek tahmin ettiği birimdir.
- 28TimeboxingZaman Kutulama28Timeboxing (zaman kutulama), bir etkinliğe önceden sabit bir süre sınırı koyup süre dolunca durmaktır; işi odaklı tutar ve kapsam kararlarını zorunlu kılar.
- 29User StoryKullanıcı Hikâyesi29User story, bir özelliğin kullanıcının bakış açısından, kimin neyi neden istediğini açıklayan kısa ve sade bir dille yazılmış tanımıdır.
- 30Velocity30Velocity, bir Agile ekibinin bir sprint'te tamamladığı iş miktarıdır; genellikle biten işlerin story point toplamıdır ve gelecek sprint'leri planlamaya yarar.
- 31WaterfallŞelale Modeli31Waterfall, gereksinimlerin, tasarımın, geliştirmenin, testin ve yayının birbiri ardına gerçekleştiği ardışık bir yazılım geliştirme yaklaşımıdır.
- 32Yazılım Lisansı32Yazılım lisansı, yazılımın kullanımını, değiştirilmesini ve dağıtımını düzenleyen yasal izindir; açık kaynak lisansları izin verici ya da copyleft olabilir.