2. Agile nedir?
• Eşya değildir. Tek seferde satılmaz. (Mutlu insan gibi)
• 1 ve 0 kesinliğinde değildir. (Sağlıklı insan olmak gibi)
• Bir ihtiyaçtır ve maliyeti vardır.
• Diğer sıfatlar (disiplinli, sağlam, olgun, kararlı, güçlü...) gibi
bir sıfattır.
7. İki Yaklaşımın Genel Karşılaştırması
Çevik Yöntemler
• 1950’li yıllarda, İngiliz kömür madencilerinin
kendi kendini organize eden ekipleri
• 1986’da, Morgan, organizasyonların kendi
kendini organize etme yeteneğini
geliştirebileceğini ileri sürer.
• Toyata üretim sisteminden esinlenen 1986
çalışması
• 1990’lı yılında Scrum ile birlikte yazılım
geliştirme dünyasına girer.
• Scrum’ da proje, hizmet vs. ürün geliştirme
Klasik yöntemler
1970’ lerden itibaren yaygın olarak kullanılmaktadır.
Yaklaşımlarını mühendislik ve üretim disiplinlerinden
ödünç almışladır
Öngörü: detaylı planlama ve sıkı prosedür/süreçler
ile kendini sağlama almaya çalışılır.
(Çok) Önden planlama, örneğin yıllar
Değişimin hızına reaksiyon veremez.
Dokümantasyon
Kontrol
8. Konu başlıkları:
• İnsan odağı
• İterasyon ve toplantılar,
• Planlama
• Dokümantasyon
Çevik Yazılım Geliştirme Manifestosu
9. İnsan Odağı
Çevik Yöntemler
• Yazılım geliştirmeyi bir sosyal aktivite görür.
• Hiyerarşik yapıları kabul etmez
• Komuta ve kontrol üzerinden yönetim
yapmak yerine, çevik takımlar kendi iş yükünü
yöneten, kendi aralarında ve takım çalışması
ile işlerini yapan ve kendi kendini organize
eden ekiplerdir
• Çevik yapılarda, kişilerin sorumluluk ve
inisiyatif alma imkanı, takımın uçtan uca
ürüne hakim olma, katkının görünmesi,
hissedilmesi ve görülmesi, iletişim ve
koordinasyon daha kolay sağlaması, sık geri
bildirim alma, takımın üyelerine gelişme
imkanı tanıması, bilgi paylaşım imkanı, birlikte
çalışma, ait olma hissi, takım olarak ortak
hedefe odaklanma...
Klasik yöntemler
Geliştiriciler ayrık, seri ve sıralı dizilir
Düşünen (thinker) ile yapan (doer) katmanlarını
birbilerinden ayırır.
Geliştirmenin teknik boyutu, daha az insan
odaklıdır
Plan içinde, insanı nitel değil nicel değerler
üzerinden rakamlara indirger. (1381 a/g)
Süreçler ve prosedürler, standart akış içindeki
insanın üretkenliğini kısıtlar.
10. İnsan Odağı
Çevik Yöntemler
• Motive olan takımlara ve güvene ihtiyaç vardır.
• Motive olmayan ekip üyelerine karşı veya organizasyonun motive olmayan takımlara karşı
yaptırımları ile ilgili dengeleyici bir yaklaşım sunulmamaktadır.
• Kritik yapma, olumsuz geri bildirimlerde bulunma ve çatışmadan kaçınma
• Kendine yeten yapıdaki çevik takımlar bir zaman sonra takımların kendi içinde homojen
kalmasına, dış dünyadan farklılaşarak izole olmasına ve merkezi tasarımlardan ve yapılardan
ayrılmalarına neden olacaktır.
• Düz bir organizasyon yapısı, kariyer yolu
• Takımın içinde bireysel çabaların dışarıdan görülemeyip kariyer imkanına dönüşmeme riski de
vardır. (Bireyin takıma feda edilmesi)
• Ürün odağının olduğu sürekli bir akış içinde, takımların kendine alan oluşturarak insana dair
değerleri yönetecek dengeyi bulması şarttır
11. Çevik Yöntemler
Çalışmalarının gerçek değere dönüştüğü noktaya uzaklık kısa,
Projenin ilk kaynağı olan müşteriye ve fikrin doğma zamanı ve yerine daha
yakındır
İş küçük fakat net ulaşılabilir hedeflere dönüşür, ilerleme hissini
somutlaştırır. Çalışanların kendine olan, kendi ve müşterilerle aralarındaki
güven artar
Değer görme hissini de canlı tutar
Geliştiricilerin erken ve sık geri dönüş alırİletişimi kolaylaştırır ve hızlandırır
Klasik yöntemler
• Çalışmalarının gerçek değere dönüştüğü
noktaya uzaklık fazla
• Geliştirmenin sıralı ilerlemesi, ileriye dönük
uzun planlamalar, zaman olarak geliştirmenin
son safhaları ile ilk safhaları arasındaki mesafeyi
açar. Bu da geliştiricinin, odağını azaltır
• Seri dizilimde bağımlılıklar doğar ve bu da
bekleme sürelerine dönüşür
Analiz Yazılım Test
15 ay
Analiz + Yazılım + Test
15 gün
İterasyon ve toplantılar
12. İterasyon ve toplantılar
Scrum
• İterasyon ve gün içindeki belirli toplanma sıklığı veya toplantıların maksimum süresi
insana bırakılmamıştır (15, 8, 30...).
• Günlük toplantılar, zaman açısından rutin ve bir öncekine benzeme açısından
homojen olmaya yatkındır.
• Toplantılar bir öncekinden farklı olmayacak olsa bile, yapılan işin yolunda ilerlemesi
günlük bazda karşılık bulmasa bile, bu rutine uyulmalıdır. (yıl, ay, hafta, gün)
• Klasik yöntemlerde olduğu gibi insanın tekrar eden dizilerin prosedürlerine
hapsedilme durumu burada da vardır.
• Yazılım geliştiriciler uzun ve sık yapılan ve üretken olmayan toplantılara karşı
isteksizdirler.
• Sürekli kısa sprintler koşmak (run), geliştirici açısından bir zaman sonra baskı ve buna
bağlı olarak stres üretebilmekte, rutine dönme durumu olabilmekte ve geliştirmenin
bu düzenli rutini çalışanı sıkabilmektedir.
• Sürekli ilerleme dayatılır->inişli çıkışlı tabi dalgalanmaya alan yoktur-> takımı yanıltma
24000 dk. =8*60*10 (gün)*5 (kişi)
13. Planlama
Klasik Yöntemler:
1) Zamanı planlamak:
• Zamanın lineer ilerler, gelecek ise lineer değildir.
• İnsanın kestirilemez olması, insan lineer davranmaz
• En yakın noktaya en uzak noktayla aynı muamelenin yapılması
2) Gelecekte kullanılacak sistemi bugünden tasarlamak:
• Bütünsel
• Katmansal: Üst seviye -> Detaya doğru
• Yukarıdan aşağıya
Scrum:
İterasyonun kendisi net, katı ve statik bir planlamadır (zaman, kapsam, bütçe)
Makro ölçekteki tasarımlar ile genel tasarıma ulaşmak (aşağıdan yukarıya), üretim hattı:
tasarım ihtiyacı makro ölçeklerde
Ölçeklenebilir Scrum modellerinde parçaların bütüne evirilmesi ve parçalar arasındaki
zaman planlamasının kusursuz mekanikte olması
14. Dokümantasyon
• Dokümantasyon gereğinden fazla veya eksik yapılması ile bir demotivasyon faktörüdür.
• Ağır ve detaylı dokümantasyondan ziyade çalışan yazılım=yanılgı=dokümantasyon yazılıma
muadil değildir. (Tasarım) (1989, 2020)
• Ağır değil ama daha sık ve daha çok dokümantasyon
• Ağır ve detaylı değil yeteri kadar (?)
• Çalışan boyutunda, yazılımı (müşteriyi) ön plana çıkarıp geliştiriciyi kendisi için kullanılabilir
dokümantasyon manasında kaynak kod ile baş başa bırakmak
• Araçlar ve süreçler (dokümanlar) üzerinden iletişim yerine yüz yüze iletişimin yeğlenmesi
(İletişim)
• Dokümanlar (çalışana ait) bilginin depolanması, (çalışan bilgisinin) çoğaltılması, (yüz yüze
iletişimden daha etkili değil ama verimli) iletilmesi, (çok yere aynı anda kolayca) yayılması,
(geçmiş hafızası ile) izlenebilir kılınması
• Basit ve pratik dokümantasyon teknikleri=(çevik değil ama) yalın yaklaşımlar
15. Sonuç ve Değerlendirme
• Çevik Yöntemler, klasik yöntemler
• Geçmiş zaman, şimdiki zaman, gelecek zaman
• Küçük, orta, büyük
• Teknoloji, süreç, proje ve ÜR(insan)ÜN
• Siyah odağı, beyaz odağı (Tersi de zayıflıkları)
• Çevik Yazılım Geliştirme != Çevik Yazılım Geliştirme Manifestosu !=
Scrum
• Çevik Yazılım Geliştirme (! zıttı ) Klasik Yazılım Geliştirme