Agile’ı Doğru Anlamak

Sektördeki uzmanlar ile firma çalışanlarını bir araya getiren ve Teba Tech tarafından organize edilen Off Site Visit etkinliğinin ilki BT Kalite Yönetimi Takım Lideri Necmettin Özkaile birlikte gerçekleştirdi. Agile’ın pratiği ve teorisinin yanında felsefesinin de konuşulduğu etkinlikte, Agile’ı doğru/hatalı anlamanın üzerinde duruldu. Etkinlik içeriğinden satır başları şu şekilde:

Canlılığın şekilsel manadaki formu daireselliktir. Tıpkı atomların çekirdek etrafında dönen elektronları, insan bedeninin doğum ile ölüm arasında dairesel dönüşü – insan dişsiz doğar, dişsiz ölür, yardıma muhtaç doğar, ihtiyarladıkça yardıma muhtaç hale gelir, topraktan bedeni toprağa geri döner – ve doğaya can veren suyun döngüsü gibi canlılık kazanmak isteyen varlıklar dairesel form almaya başlar.

Canlılık özelliği kazanmak isteyen süreçlerin de evirildiği yapı yine dairesel bir şekil almaktır. Bu nedenle donanıma can katan yazılımın kendisinin (öğrenen algoritmalar) ve geliştirilmesinin (SDLC) yine dairesel halkalar üzerinden olması idealdir. İnsan sürekli bir keşif, araştırma, öğrenme, hata yapma, hatadan ders çıkarma, baştaki noktaya geri dönme ve bir döngüseldik formuna kavuşma amacındadır. 

Çünkü lineer olmak, mutlak manada doğru olana, içinde eğrilik barındırmaya yakışır. Lineer olma iddiası hatadan ayıklanma ideasıdır. İnsanın -bir parça da olsa- gizli bir tanrısallık barındırma yanılgısıdır. Klasik yazılım geliştirme yaklaşımlarının en tipik ve bilindik örneği olan şelale yönteminin geleceğe dair ön görüsünü de böyledir. Agile, bu mutlak doğru olma ve tanrısallık iddiasından bir vazgeçme biçimidir. İnsanın özüne olan bir geri dönüş yolculuğudur.

Yani, çeviklik iyidir ve herkesin hakkıdır. Bir tekelin güdümünde olmamalıdır.

Agile içinde bir çok kavram barındırıyor. Kimi çok  faydalı, kimi biraz faydalı, kimi zararlı, kimi şişirilmiş, iç içe geçmiş, agile’danmış gibi anlaşılmış. Ciddi bir kısmı güçlü pazarlama tekelinin gölgesinde nadiren irdelenmiş. Gerçek agile’dan beklentileri yanıltan bu zararlı, şişirilmiş….nadiren irdelenmiş kavramların ele alınması gerekir.

Örneğin, Agile:

  • Bir eşya değildir. Tek seferde satılmaz. (Mutlu insan gibi)
  • 1 ve 0 kesinliğinde değildir.
  • Bir ihtiyaçtır ve maliyeti vardır.
  • Diğer sıfatlar (disiplinli, sağlam, olgun, kararlı, güçlü…) gibi bir sıfattır. Ailesinin tek evladı değildir.

Saf Agile bileşenleri ile süreç oluşturmak mümkün değildir. İçinde disipline, yalınlığa doğru bir kayma ister istemez olur. Sadece proteinden bir canlı veya sadece tuğladan bir ev yapamazsınız. Bakınız: “Individuals and interactions over processes and tools [Manifesto]”… “ Scrum is a process framework [Scrum Guide]”.

Ne kadar saf agile o kadar iyi diye düşünmek doğru değildir. Ne kadar dengeli, ne kadar ihtiyaca uygun o kadar iyidir.

Plan yap ama geleceği planlamayacağını bil, çünkü zaman lineer ilerler ama gelecek lineer değildir.

Her şeyi Agile ile yönetemezsiniz; örneğin değer. Agile’da yanlış değere adapte olmak da gayet mümkündür. Agile doğru değeri belirleme yöntemi değil, doğru değere adapte olma yöntemidir. – How ve What farkı.

Her alanın kendine özgü agile prensip ve değerleri olmalıdır. Yazılım geliştirme için hazırlanan manifestonun insan kaynakları için kullanımı hatalı olur. En basitinden bakınız: “Working software over comprehensive documentation”.

Binary Selection’dan kaçınmak gerekir. Bu mantık önce bir karşı taraf tanımlar. Sonra kendi tarafını seçerek karşı tarafı sıfırlar. Disiplin/planlama yaklaşımı vs. Agile veya complex vs complicated seçimi gibi. Oysa her kurum bunların birer karışımıdır.

Zaten, hangi birimiz değeri olan iki değerlisini böyle ifade eder:

  • Sevgi over Saygı
  • İnsan sevgisi over hayvan sevgisi
  • Su  over yiyecek
  • Uçak ile ulaşım over otomobil ile ulaşım.

Ola ki bir zaman, bir mekan, bir bağlam gelir, sağ taraf sol taraftan daha kıymetli olur (Determinism in Agile: Göz ardı edilen boyutlar: time, location, context).

Seçimlerdeki Trade-off’ların farkında ol. Binary seçimden farklı olarak bunda bir tekil tercih yapılır. Bu tercihin getirdikleri ve götürdükleri vardır. Mavi rengi seçmek aynı zamanda yeşil rengi seçmemek manasına gelir. Örneğin:

  • Dynamic vs. Static Iteration
  • Project vs. Product-Based Development
  • Digitalization vs. Physical Dependencies
  • Centralization vs. Decentralization
  • Up-Front vs. Emergent

Kendi Kendine Organize olan (!) Takım, Kendi Kendini Yöneten (!) Takım demek değildir. Kendi Kendine Organize olan (!) Takım, sadece bir «How» konusudur, abartılmaması iyi olur. Stratejiyi örneğin takım mı belirliyor? Agile takımların dizinin dibinde yöneticiler/liderler yaşamaya devam eder. Takım, what-how sarmalı içinde bir yerde, kendi kendine organize olmaya çalışıyor. Onu dahi yaparken mutlak manada kendi kendine organize olması mümkün değil. Hala normlar, kurallar, kabuller, bağlılıklar var.  Takım içinde değişik dinamikler var. Her bireyin içinde de değişik dinamikler, hatta karşıt yükler var (Yin-yang) (Fractal).

“Cross-functional teams” de “Cross-functional individuals” demek değildir. Trade-offları vardır; adacıklar, izole yapılar.

T-shaped skills, sığ suda (üretim bandında) iş görür, derin suda (yazılım geliştirme dünyasında) zor.

Bir framework insanı iyi veya güvenilir yapmaz. Gözlük takarak gerçeği yok edemezsin, yönetmen gereken hala aynı.

Scrum da bir süreç çerçevesidir, insanı ön plana çıkar (Manifesto madde 1).

Ya olduğun gibi görün ya da göründüğün gibi ol (Being Agile vs. Doing Agile).

Agile’dan beklentini bil, doğru anla, fazla veya hatalı bir beklenti içine girme.

Sunumun erişmek isteyenler için: https://www.slideshare.net/ncmozkan/agile-doru-anlamak

Yorum Yap

Please enter your comment!
Please enter your name here