1. dev efor projesi
ve
çevik yöntemler
Ersan Bilik
2. Gündem
• dev efor ne yapar ?
• Nasıl geliştirdik ?
• Ne tür zorluklarla karşılaştık ?
• Çevik yöntemleri (ve pratiklerini) nasıl
kullandık ?
• Kim ne dedi ?
• Sonuç
3. dev efor ne yapar ?
Typical Man / Month ?
Try dev efor
5. Nasıl geliştirdik ?
• Herşey bir soruyla başladı.
– What is developer and team productivity and how
can we measure it in software engineering field ?
• Bu soruya cevap vermek zor...
6. Örnek Verelim
• Geliştiricinin kaç satır kod yazdığı bir ölçü mü ?
– Measuring performance by more lines of code
number is like considering a plane better than
other because it weights more.
( Bill Gates )
• Geliştiricinin ne kadar iş üzerinde çalıştığı bir
ölçü mü ?
– Nothing is done between 9:00 – 17:00
( Timothy Lister)
7. Single Point Measurement
F(t) Project 1 Project 2 Project 3 Project 4 Project 5
SLOC 100 150 1250 2000 10000
CC 10 15 120 210 1500
MI 95 80 70 68 60
DIT 4 3 2 3 5
8. Steve McConnell der ki
Remember that trends are
usually more important than
single-point measures.
Measures of individual
productivity tend to be far less
useful in comparing one
individual to another than they
are in seeing how one individual
is progressing over time.
9. Mevcut durum analizi
• Ölçüm yapmak zor.
– Araçlar, sürece müdahele ediyor.
– Sırf ölçüm yapmak için, araç satın alınıyor.
– Araç uzmanları var.
– Veriyi yorumlayan uzmanlar var.
– etc, etc...
– DEĞER YOK !
10. Oysa cennette...
Ölçüm, mevcut sürece
herhangi bir müdahele
etmeden, otomatik
olarak yapılır, saklanır,
raporlar hazırlanır,
gelecek “predict”
edilebilir.
11. Bunu başarabilir miyiz ?
• Iteration 0 (Proof of Concept )
– Teknik olarak mümkün müdür ?
– Hangi platform baz alınacaktır ?
– Hangi teknolojiler kullanılacaktır ?
– Teknik riskler neler ?
– Hangi varsayımlar yapılacaktır ?
– Kısıtlar nedir ?
16. Reprospective 0
• Geçen süre - 4 Ay
• Tahminlerimize yakın mıyız ? – 1 ay gecikmeli
• Yapılabilirlik durumu – Yapılabilir
• Riskler – Yüksek Riskler var
17. Iteration 1 – start the engines
• Mevcut kodu yapılandır ( refactor ) ve modüler
hale getir
• Test Driven Development pratiğini uygula
• Continious Integration uygula
– Hergün 2 release
• Debug Build: Her check-in sonrası (CI)
• Nightly Build : Her gece sürüm çıkar
18.
19. Reprospective 1
• Geçen Süre – 3 Ay
• Tahminlerimize yakın mıyız ? – Evet
• Riskler – Normal riskler var
20. Risk değerlendirmesi
• Metrikleri konsolide edemiyoruz !
• Aktif ve Akışkan zamanlar kendi başlarına bir
değer katmıyor. Ancak, atanan bir görev
olduğu taktirde değer ifade ediyor.
• Geliştiricinin “ben şu iş üzerinde çalışıyorum”
demesi önemli.
21.
22. Iteration 2 – polish the engines
• Ürünün kapsamı, Visual Studio ve Team
Foundation Server ile entegre olacak şekilde
değiştirildi.
• Web arayüzü ve ilgili modülleri tamamen
kaldır
• Sadece visual studio kullanan geliştiricilerin
kullanacağı bileşeni topluluk sürümü olarak
bedava yayınla, geri besleme al, testleri yaptır.
26. Reprospective 3
• Geçen Süre – 1 ay
• Tahminlerimize yakın mıyız ? - Tam üstündeyiz
• 2. sürüm yayınlandı.
27. Iteration 4 – Finish him !
• VS Client Enterprise sürüm için özelleştirmeleri
yap
• Offline çalışma zamanı gerçekleştir
• TFS Sunucu ambarını özelleştir
• Takım projelerinin metrik verileri ile
geliştiricilerin efor metriklerini, onlara atanan
görevler ile ilişkilendir
33. Aslında hangi süreci uyguladık ?
• Melez
• RUP’tan biraz, ( Inception , Elaboration )
Scrum’dan biraz ( genel proje yönetimi )
XP’den biraz (TDD, Continious Integration,
Courage etc..)
• AgileCodartUP
34. Key Notes...
• Çevik süreçler din, siz de mürit DEĞİLSİNİZ !
– En iyi süreç, size ne yapmanız gerektiğini
dayatmayan süreçtir.
– En iyi süreç, üzerinize en iyi uyan elbise gibidir.
– Olmuyorsa, zorlamayın. Yöneticiniz zorluyorsa,
yöneticinize klavyeyi uzatın ve “sen daha iyi
yazıyormuşsun duyduğuma göre” deyin
• TDD hikayesi...
35.
36. Ne dediler ?
• This looks very interesting ! Please let me know when you
release the product.
– Steve McConnell ( CEO , Construx Software )
• Cool Concept. The key benefit i see here is not to ask
anything from developer except to install it.
– Eric Sink ( CEO , SourceGear )
• This looks very cool !
– Scott Guthrie ( VP of Dev Division, Microsoft )
• These are indeed important improvements because it’s the
trend that can really tell the story of your project. You can
then start asking intelligent questions and identify troubling
trends early on while you still have time to address them.
– Jeff Beehler ( Chief of Staff - VSTS , Microsoft )
37. Ne dediler ?
• Bu biri bizi gözetliyor gibi bişey yani...
– KOSGEB mülakatından Prof. Dr. .... ....
• Verileri NASA’dan mı alacaksınız ?
– KOSGEB mülakatından Prof. Dr. .... .....
• Ben sizden daha iyi mühendisim !
– TUBITAK Hakem inceleme kurulundan Doç. Dr. ...