ceturk cevik günü

38
dev \ efor projesi ve çevik yöntemler Ersan Bilik

Upload: ersanbilik

Post on 13-Jan-2015

1.000 views

Category:

Technology


2 download

DESCRIPTION

dev \ efor sunumu

TRANSCRIPT

Page 1: CETurk Cevik Günü

dev \ efor projesi ve

çevik yöntemler

Ersan Bilik

Page 2: CETurk Cevik Günü

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ç

Page 3: CETurk Cevik Günü

dev \ efor ne yapar ?

Typical Man / Month ? Try dev \ efor

Page 4: CETurk Cevik Günü

dev \ efor ne yapar ?

DEMO

Page 5: CETurk Cevik Günü

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...

Page 6: CETurk Cevik Günü

Ö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)

Page 7: CETurk Cevik Günü

Single Point MeasurementF(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

Page 8: CETurk Cevik Günü

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.

Page 9: CETurk Cevik Günü

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 !

Page 10: CETurk Cevik Günü

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.

Page 11: CETurk Cevik Günü

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 ?

Page 12: CETurk Cevik Günü

Iterasyon 0

• .NET platformunda yapılacak• .NET geliştirme ortamına (Visual Studio)

mantıksal bir sensör yerleştirilecek• Veriler merkezde konsolide edilecek• Yöneticilere metrik raporları sunulacak

Page 13: CETurk Cevik Günü

Mimari

Page 14: CETurk Cevik Günü
Page 15: CETurk Cevik Günü
Page 16: CETurk Cevik Günü

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

Page 17: CETurk Cevik Günü

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

Page 18: CETurk Cevik Günü
Page 19: CETurk Cevik Günü

Reprospective 1

• Geçen Süre – 3 Ay• Tahminlerimize yakın mıyız ? – Evet• Riskler – Normal riskler var

Page 20: CETurk Cevik Günü

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.

Page 21: CETurk Cevik Günü
Page 22: CETurk Cevik Günü

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.

Page 23: CETurk Cevik Günü

Budur.

Page 24: CETurk Cevik Günü

Reprospective 2

• Geçen Süre – 2 Ay• Tahminlerimize yakın mıyız ? – Evet• Riskler – Risk kalmadı. Projenin kapsamı ve

yapılacak işler gayet net.

Page 25: CETurk Cevik Günü

Iteration 3 – rock solid engines !

• Geribeslemelerden aldığımız kullanıcı şikayetlerini değerlendir– Bazı bileşen bağımlılıklarını kaldır– Bugları düzelt– Refactor, refactor, refactor !

Page 26: CETurk Cevik Günü

Reprospective 3

• Geçen Süre – 1 ay• Tahminlerimize yakın mıyız ? - Tam üstündeyiz• 2. sürüm yayınlandı.

Page 27: CETurk Cevik Günü

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

Page 28: CETurk Cevik Günü
Page 29: CETurk Cevik Günü

Budur.

Page 30: CETurk Cevik Günü

Reprospective 4

• Kurumsal sürüm, mart ayının ilk haftasında yayımlanacak. ( Beta Sürümü )

• Tahminlerimize yakınız.

Page 31: CETurk Cevik Günü

Bir Sonra...

• Production ( 1 Haziran )

Page 32: CETurk Cevik Günü

Altyapımız...

• .NET Geliştirme ortamı ( VS Team System & TFS Server )

Page 33: CETurk Cevik Günü

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

Page 34: CETurk Cevik Günü

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...

Page 35: CETurk Cevik Günü
Page 36: CETurk Cevik Günü

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 )

Page 37: CETurk Cevik Günü

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. ...

Page 38: CETurk Cevik Günü

Teşekkürler

• Sorular ?