XP’nin temel değeri önce basitliktir. XP ekipleri ek ve gereksiz özelliklerden kurtulmak, israftan kaçınmak, işleri basit tutmak ve müşteri gereksinimlerini karşılamak için işe yarayabilecek en basit çözümü bulmaya odaklanırlar. Scrum gibi, XP de proje boyunca değişiklikler bekler ve XP ekibi değişikliği memnuniyetle karşılar.
XP’de son teslim tarihlerine sahip projeler, teslimatı oluşturmak için gereken süre konusunda gerçekçi değildir ve proje ekibine ek stres yaratır. Son teslim tarihi, XP ekibinin gereğinden fazla çalışmasına, baskı altında kalmasına ve yenilik yapmaktan korkmasına neden olabilir.
XP, zaman sınırlamalı yaklaşımında haftalık döngüler ve üç aylık sürüm döngüleri tercih edilir. Scrum’daki sprint gibi haftalık döngü yinelemeli gerçekleştirilir. Her haftanın ilk gününde ekip, neler başarıldığını tartışmak, hafta boyunca gerçekleştirilecek öncelikli kullanıcı hikayelerini seçmek ve seçilen kullanıcı hikayelerini nasıl oluşturacağına karar vermek için toplanır. Bu yaklaşım, sprint planlamasına benzer, ancak tipik sprint’ten daha kısadır. Üç aylık döngü sürümdür ve müşterinin gereksinimleri önceliklendirmesine göre haftalık döngülerde planlanır ve güncellenir. Temel olarak, her haftanın başarıları, her çeyrekte neyin piyasaya sürüleceğini belirlemeye yardımcı olur.
XP’de Slack kavramı, süre yetmezse haftalık döngüden çıkarılabilecek bazı düşük seviyeli gereksinimleri listeye ekleyerek oluşturulur. İşler sorunsuz gidiyorsa, proje ekibi için yük oluşturmayacak düşük seviyeli gereksinimler haftalık döngüye eklenebilirler.
XP’de On Dakikalık Yapı kavramı, yazılan kodun derleme ve test etmek için on dakikalık bir zaman diliminde tamamlanabileceği anlamına gelir. On dakikalık süre, ekibi otomatikleştirilmiş derleme yaklaşımı oluşturmaya, sık sık test etmeye ve sürekli entegrasyonu izlemeye teşvik eder. Sürekli entegrasyon, kod geliştirildiğinde veya değiştirildiğinde gerçekleşir. Ardından entegrasyon hatalarını bulmak ve düzeltmek için kod hemen test edilir.
XP, önce test planlama yaklaşımını izler. Önce test planlandığında, programcılar gerekli testi geçmek için kodun nasıl yazılması gerektiğini bilirler.
XP, yaşam döngüsü boyunca planlama ve geri bildirim döngülerini içerir;
XP Projesini Planlamak
- Kullanıcı hikayeleri yazılır.
- Sürüm planı oluşturulur.
- Sık, küçük sürümler için planlar geliştirilir.
- Proje yinelemelere bölünür.
- Her yineleme, bir yineleme planlama oturumu ile başlar.
XP Projesini Yönetme
- Bir arada bulunan ekipler uygun çalışma ortamında çalışır.
- Sürdürülebilir bir çalışma hızı oluşturulur.
- Gün, 15 dakikalık ayaküstü toplantı ile başlar.
- Proje ekibinin hızı düzenli ölçülür.
- Ekip üyeleri diğer rollerde bilgi sahibi olacak şekilde eğitilir.
- Retrospektifler, XP’deki sorunların çözülmesine yardımcı olur.
Tasarım
- İşler basit tutulur.
- Projenin hızlı ve kolay anlaşılması için sistem metaforu oluşturulur.
- Yapılacak işler, sorumluluklar ve işbirliği kartları hazırlanarak, sistem tasarlanır.
- Spike(mümkün olan en basit çözüm) yinelemeleri, riskleri ele almak için kullanılır.
- İstenene kadar özellik ve işlev eklenmez.
- Kodun temizlenmesi anlamına gelen refactor, proje boyunca gerçekleşir.
Kodlama
- Müşteri rolüne ihtiyaç vardır.
- Tüm kodlama için standartlar oluşturulur.
- Önce birim testleri yazılır.
- Programcılar eşli programlama (aynı işi bilen iki kişi) yapar.
- Kod sık sık entegre edilir.
- Tüm kodlar ekibe aittir, herhangi bir programcı kodu gözden geçirebilir veya düzenleyebilir.
Test yapmak
- Tüm kodlar için birim testleri yapılır.
- Tüm kodlar yayınlanmadan önce birim testini geçmelidirler.
- Koddaki hatalar, yeni testlerin oluşturulmasını gerektirebilir.
- Kabul testi gereklidir, sonuçlar izlenir ve paylaşılır.
XP’nin en önemli unsuru iletişimdir. XP, Scrum gibi, yüz yüze iletişime önem verir. Etkili iletişim erken ve sık geri bildirim almayı sağlar. Bu sayede erken ve hızlı başarısız olma avantajı yakalanır. Ekip hızlı ve erken başarısız olduğunda, neyin işe yarayıp yaramadığına dair geri bildirim alırlar, ayarlamalar yapabilir ve projede ilerleyebilirler. XP, çalışanların deneyip başarısız olmaları için güvenli bir ortam gerektirir. Olumsuz bir geri bildirim yoktur. Eğer yapılan işe yaramadıysa, ekip neyin işe yaramadığını bilir ve ceza korkusu olmadan devam edebilirler.
XP’de basit, kolay anlamına gelmez. Basit, aşırı mühendislik yapmamak, karmaşık kod oluşturmamak, doğrudan ve uygulaması kolay bir çözüm tasarlamak anlamına gelir. XP’de, müşteri gereksinimlerini karşılamak için işe yarayacak en basit şey hedeflenir.
Scrum’da, ekipler bir sonraki sprintte gelişme ve daha iyi çalışma fırsatı için sprint retrospektif yaparlar. XP, anında geri bildirim yoluyla benzer bir konsepte sahiptir. Geri bildirim yargılayıcı değil yapıcı olmalı ve ekibe daha iyi kararlar verme konusunda rehberlik etmelidir. Geri bildirim verirken ekip üyeleri saygılı, dürüst olmalı ve neyin işe yarayıp neyin yaramadığına odaklanmalıdır. Geri bildirimler, suçlamak için fırsat değil, projede ilerlemek için fırsattırlar.
Erken, hızlı ve sık sık başarısız olmak için cesarete ihtiyaç vardır. Geliştiriciler deneme yaptıklarında ekipteki herkes tarafından görülebilir. Ekip, kodu açıkça paylaşır, birbirlerinin kodunu düzeltme yetkisine sahiptirler. Eşli Programlamada bir kişi geliştirici olarak çalışır ve yanında kodu geliştirmesini izleyen bir kişi vardır. İkinci programcı hataları yakalamaya yardımcı olur, iyileştirmeler sunar ve programcıya ihtiyaç duyduğunda yardımcı olur. Programlayan kişiye sürücü, yardım eden kişiye yönlendirici denir. Sürücü ve yönlendirici her 1,5 ila 3 saatte bir rol değiştirir.
Etkili iletişim kurmak, eşli programlamayla birlikte çalışmak ve yeni yaklaşımlar denemek için ekip üyeleri birbirlerine saygı duymalıdırlar. XP, projenin başarısı veya başarısızlığından herhangi bir kişinin değil herkesin sorumlu olduğu kavramını benimser. Herkes farklı çalışır, ancak ekiple birlikte çalışmak gerekir.
XP Rolleri ve Sorumlulukları
XP projesinde PMP sınavı için bilmeniz gereken sekiz rol vardır. Bunları derinlemesine bilmeniz gerekmez, ancak sorumluluklarını bilmeli ve projede her rolün ne yaptığını anlayabilmelisiniz;
- Müşteri veya ürün sahibi – Bu rol, scrum’daki ürün sahibi gibi, iş değerlerini temsil etmekten, kullanıcı hikayeleri yazmaktan, gereksinimleri önceliklendirmekten ve programcıların kullanıcı hikayelerinin değerini anlamalarına yardımcı olmaktan sorumludur. Bu rol müşteri gibi hareket eder. Müşterinin neye değer verdiğine ve projeden ne beklendiğine dair iyi bir içgörüye ihtiyaçları vardır.
- Koç – XP koçu, ekip üyelerine XP yaklaşımı konusunda koçluk yapar, işlerin ilerlemesini sağlar, projenin çalışmasını denetler ve ekip geri bildirimlerine dayalı olarak süreç iyileştirmelerinin uygulanmasına yardımcı olur. Koç, proje yöneticisi ile aynı şey değildir, ancak proje faaliyetlerinin koordine edilmesine yardımcı olur, herkesin kurallara uymasını ve katkıda bulunmasını sağlar.
- Programcı – Kodu müşterinin gereksinimlerini karşılayacak şekilde yazandır. Kullanıcı hikayelerini tamamlamak için gereken görevleri belirlerler ve birim testleri yaparlar.
- Testçi – Programcıların oluşturduğu kod üzerinde işlevsel testler gerçekleştirirler. Fonksiyonel testler, entegrasyon testleri olarak da adlandırılır ve programcıların yaptığı birim testlerinden farklıdır. Testçi, test sonuçlarını belgeler.
- İzleyici – Bu rolün bazı proje yönetimi görevleri vardır, çünkü kişi projede işlerin “yolda” olduğunu doğrulamak için iş atamalarını izleyecektir. İşler beklendiği gibi gitmezse, kişi belirli görevleri yapmak için plan yapacaktır. İzleyici ayrıca proje ilerlemesini raporlamak için programcılar, koç ve müşteri ile bir araya gelir.
- Risk İzleyici – Projelerdeki, riskleri, kötü sonuçları ve projeyle ilgili sorunları izler. Projenin başarısını tehdit edebilecek durumlar hakkında sık sık iletişim kurar. Rolün amacı, projenin sağlığı konusunda dürüstlüğü ve şeffaflığı sağlamaktır.
- Yönetici – Projeyi söz verildiği gibi teslim etmekten sorumludur. Yönetici, proje müşterisine durumu iletmekten, sürüm planlaması için toplantıları planlamaktan ve genellikle kontrol etmekten sorumludur.
- Sponsor – Projeye kaynak sağlayandır.
XP ekipleri yüz yüze iletişim ve ozmotik iletişim (konuşulanlara kulak kabartmak) kurarlar. XP rollerine bazen genelleme uzmanları denebilir. Bir rolün yalnızca bir şey yapmaktan ziyade birden fazla şey yapabileceği anlamına gelir.
PMP sınavında dikkat edilmesi gereken sürdürülebilir tempodur. Ekip, ürün iş biriktirme listesini incelerken, en üstteki en önemli öğelerle başlayacak ve ekip, tamamlama sürecinde(döngüde) kaç hikaye noktası tamamlayabileceklerini belirleyecektir. Yeni döngülerde, daha fazla iş yapmaya teşvik edilmezler. Bu fazla mesaiye ve uzun çalışma saatlerine yol açar ve sürdürülebilir değildir. Hız bir ekibin yinelemede ne kadar iş yapabileceğidir, bu yüzden tek tip ve sürdürülebilir olmalıdır.
PMP Sınavında, senaryo bazlı sorular proje çalışmasını tanımlayabilir, projenin tamamladığı işin türüne göre çevik veya öngörücü olduğuna dair bilgiler verecektir.
PMP sınavında dikkat etmeniz gereken tüm çevik proje yönetimi kavramlarının benzerlikleri vardır:
- İletişim şeffaf ve dürüst olmalıdır.
- Değişim memnuniyetle karşılanır ve beklenir.
- Proje gereksinimlerine değerine göre öncelik verilir.
- Ekip ve paydaşlar işbirliği yapar.
- Asgari düzeyde yeterli belge olmalıdır.
Türkçe eğitimler
İngilizce eğitimler