27 Ağustos 2014 Çarşamba

Scrum: bir dönüşüm hikayesi üzerine


Edebi olarak bakıldığında hikaye tanımı ile birebir örtüşüyor. [Öyküde, olayın geçtiği yer sınırlı, anlatım özlü ve yoğundur. Karakterler belli bir olay içinde gösterilir. Bu karakterlerin de çoğu zaman sadece belli özellikleri yansıtılır. Konu tümüyle düş ürünü olabilir ya da son derece gerçekçidir.][1] 
Bu açıdan değerlendirildiğinde günümüz yazılım Türkiye'sinin kesit kesit hikayeleştirilmiş hali. Yazılım geliştirme yaşam döngüsünün tüm paydaşları açısından sancılı taraflarına değinilmiş. Çevik yaklaşımlar ile Scrum'ın gerekliliğini bilgi teknolojilerine içeriden bir göz olarak bakıp anlatıyor. Akıcı dili ve sade üslubu ile kendini okutan bir kitap. 

Proje yöneticisi, IT birim müdürü, yazılımcı, ürün geliştirme iş birimi vb. pozisyonlarda yazılım geliştirmeye bakış açıların ne olduğuna dair bilgiyi sunarak, Scrum dönüşümü ile bunun nasıl değiştiğini gözler önüne seriyor. 

Sıfırdan başlayarak kurumsal dönüşümün adım adım nasıl gerçekleşebileceği anlatılabilecek en özet şekilde anlatılmış. Kurumsal dönüşüme giden yolda kurum kültürünün, iş yapış şeklinin, değişime direnen zihniyetin nasıl değiştiğine, geliştiğine ve şekillendiğine değinilmiş. [Scrum'ın kalbinde değişimin yatıyorken herhangi bir statüko, bir öncekinden daha iyi de olsa kesinlikle kabul edilemeyeceğini vurguluyor.][2] (Benim için en çarpıcı cümlesiydi.)

Kitabın iyileştirilecek bir tarafı olarak, belki, daha fazla resim grafik içermesi söylenebilir. Özellikle kitapta bahsedilen takımın, Kick-off, Daily Scrum ve Sprint Retrospective vb. toplantılarında oluşturdukları board'a, artifact'lere yer verilebilirdi. Scrum hakkında bilmeden okusaydım kavramları yerine oturtmakta zorluk yaşayabilirdim diye düşünüyorum. Okuyucuyu teorik bir dünyadan, reel bir dünyaya çekmenin en pratik yolunun görselleştirme olduğu kanaatindeyim. 

Bir başucu kitabı. Scrum eğitimi ile öğrenilmiş bilgilerin pekişmesini sağlıyor. Aynı zamanda bir kaynak olarak, kendi kurumsal agile dönüşümleriniz için istifade edebilirsiniz. 

Bu çalışması için Mehmet Yitmen'e ayrıca teşekkür... 

Kitabın kısa tanıtımı için bkz. D&R

Not: Roman olsaydı nasıl olurdu diye düşünmeden edemedim. :) 

[1] http://tr.wikipedia.org/wiki/Hik%C3%A2ye
[2] Scrum; Bir dönüşüm hikayesi, Mehmet Yitmen

22 Ağustos 2014 Cuma

Sprint Retrospective: Meşveret-i Ahval-i Mazi


Kısaca etimolojisine değinecek olursak; anlamı geriye bakmaktır. Detayı için bkz. retrospect (n.)

Sprint Retrospective Sprint'in son toplantısıdır ve Sprint Review'in hemen ardından gelir.
Sprint Review, tüm paydaşlara açıkken, Sprint Retrospective tamamen Scrum takımına özeldir. Her seviyeden yönetici de dahil olmak üzere; yabancılar, özellikle davet edilmedikleri sürece bu toplantıda kesinlikle yer almazlar.

Sprint Retrospective'e tüm Scrum takımı katılır. Genellikle Product Owner ve Development takımı katılımcı olarak yer alırken, Scrum Master  yönlendirir. 

Sprint Review'de ürüne odaklanılırken, Retrospective'de sürece yani Scrum takımının birlikte nasıl çalıştığına odaklanır. Buna teknik yetenekler, yazılım geliştirme pratikleri ve kullanılan araçlar da dahildir. 

Sprint Retrospective takımın iş yapış tarzını nasıl iyileştirip, rafine edebileceğine dair bir fırsat olarak değerlendirilmelidir. Edilgen olduğumuz, etki alanımızın dışındaki konular ve problemler yerine, etken olduğumuz alanlara yönelmeli ve toplantının amacından uzaklaşılmamalıdır. Bu toplantının asıl amacı iyileştirme adına net aksiyonları belirleyebilmektir. 

Inspection, Adaption, Transparency üçlüsü üzerine kurulu Scrum'ın Adaptation'ının başladığı yer Retrospective'dir.

Retrospective'ler için farklı tekniklerden söz edilebilirse de iyi bir Sprint Restrospective'in belli başlı karakteristikleri şunlardır;
  • Tüm takım ilgilidir.
  • Müzakere bireyler üzerinde değil takım üzerine odaklanır.
  • Takımın Definition of Done'ı değinilir ve genişletilir.
  • Aksiyon alınabilir taahhütler oluşturulur.
  • Bir önceki Sprint Retrospective'in sonuçlarına değinilir.
  • Müzakere tüm katılımcıları ilgilendirir.
Katılımcılardan bağımsız olarak Sprint Retrospective için ortam güvenli olmalıdır. Bundan katılımcıların diğerlerine karşı dürüst ve şeffat bir şekilde davrandığı anlaşılmalıdır.

Verimli Retrospectiveler...


Not: Sprint Retropective'in bizim dilimizde ne karşılığına geleceğini düşünürken zorlandım. Ama sonunda geçmiş zaman halinin (tarz,yaklaşım,biçim,şekil) görüşüldüğü bir toplantı olduğu için aynı zamanda anlamsal ve fonetik olarak da hoş bulduğum için en uygunu Meşveret-i Ahval-i Mazi olduğunu düşündüm. :)

18 Ağustos 2014 Pazartesi

Verimli Daily Scrum'lar için tüyolar;


Daily Scrum’ın ana amacı, takım üyeleri için (commitment) taahütlerin gerçekleştirilmesinin ve takibini kolaylaştırılmasının sağlanmasıdır. Daily Scrum geliştirme takımının Sprint'i yönetmesi için yapılır. :) Daily Scrum’ınız odak kayması yaşıyorsa, time-box’ı aşıyorsanız, bir kaç tüyo ile Daily Scrum’larınızı daha verimli hale getirebilirsiniz.

  • -          [Basitlik karmaşayı azaltır] Tüm toplantılar aynı yerde ve zamanda gerçekleşsin.  
  • -          Her takım üyesinin yeterli sürede söz aldığından emin olun.
  • -          15 dakika içerisinde toplantının bitmesini sağlayın.
  • -          Daily Scrumlara hazırlanarak gidin, board’un karşısında ne yaptığınızı hatırlamaya çalışırken zaman yönetimini başarılı bir şekilde yapamayabilirsiniz.
  • -          Herbir takım üyesi kendini tüm takıma karşı sorumlu hissetmeli.
  • -          Email okumak, mobil uygulamalarla uğraşmak sizin odak noktanızın kaymasına sebep olur. [Put your guns out of door.]
  • -          Scrum Master sadece bu görevi yerine getiriyorsa [takımda geliştirici rolü yoksa] Daily Scrum’a katılmak zorunda değildir, ama scrum reflekslerinin kazanılması için Daily Scrum’da yer alarak takımı yönlendirebilir.(yönetmez!)
  • -          Takım üyeleri, Scrum Master yada board bakmak yerine birbirlerine bakarak bilgi paylaşımı yapın.
  • -          Engeller oluştuktan sonra görüşmek yerine proaktif davranarak oluşma ihtimali olan engelleri de görüşerek takımı dikkat konumuna taşıyın.
  • -          3 soruya net cevap vermeye çalışın. O gün için aksiyon planınızı önceden hazırlamış olun.
  • -          Daily Scrum’ı “derin konu tartışmaları” veya “problem çözümleme” aşamasına taşımayın, bir konunun uzayacağını hissediyorsanız ilgili arkadaşları Daily Scrum sonrası görüşme ile halledin.

Şimdilik bu kadar. Yeni paylaşımlarda buluşmak üzere... 

Kaynakça:
http://www.agileforall.com/2009/02/7-tips-for-a-more-effective-daily-scrum/

Deneyimler :)