Kategori arşivi: Enterprise Agility Transformation

Kanban ve Scrum, İkisinin de En İyisini Yapmak

Kanban ve Scrum, İkisinin de En İyisini Yapmak

Kitabı çevirmemin iki nedeni var. Birinci neden Çeviklik ve Yalınlık konularında Türkçe kaynak eksikliğidir. İkinciyse Çevik Bildiri’de çoğu zaman dikkat edilmeyen, önemsenmeyen bir cümle, Çevik Bildiri’nin ilk cümlesidir. “Daha iyi yazılım geliştirme yollarını, uygulayarak ve başkalarının da uygulamasına yardım ederek, bu yolları ortaya çıkarmak…” Kanban ve Scrum öğrenildikçe daha fazla kullanılacaktır.

Kitaplarını okuduğum, konuşmalarını dinlediğim, seminerlerine katıldığım, videolarını izlediğim, Çeviklik ve Yalınlık topluluğuna inanılmaz katkıları bulunan insanlar var. Çeviklik’i ve Yalınlık’ı öğrenmemi sağladılar. Umarım bu kitapla birilerinin öğrenmelerine yardımcı olabilirim.

Çeviklikle tanışmam kaos halini alan işlerimizi düzene sokmak için neler yapabileceğimi düşünmekle başladı. Bir müşteri telefon ediyordu ve onun işlerini yapmaya başlıyorduk. Bir müşterinin talebini geliştirmeye çalışırken akışa* ulaşabildiğim çok az oluyordu. Bir şeyler geliştirmeye çalışırken daha büyük bir müşteriden baskı geliyorsa her şeyi bırakıp yangını söndürmeye çalışıyordum. On dakika içinde üç-dört farklı müşterinin projeleri arasında gidip geldiğim çok oldu. En sonunda hangisinin sesi en yüksek çıkıyorsa onunla ilgileniyordum. Bir düzen yoktu.

Dünya üzerinde bu sorunu yaşayan tek şirket olmadığımızı biliyordum. Araştırmaya başladığımda Çeviklik ve Scrum’la tanıştım. Çeviklik’in özü olan deneycilik felsefesiyle onbir yaşındayken kuzenimin verdiği felsefe kitapçığında tanışmıştım ve sevmiştim. Buna rağmen iş hayatımda uzun süre determinizmi savundum. Her şeyi önceden bilip planlayabileceğimi ve planı oluşturduktan sonra herhangi bir engelle karşılaşmayacağımı savunuyordum. Yazılım geliştiricinin müşteriyle iletişim halinde olmaması bunun yerine arada birilerinin olması ve yazılım geliştiricinin sadece kod yazması gerektiğini düşünüyordum. Belki o zaman müşterilerle fazla muhatap olmak işimden zevk almamı engellediği için böyle düşünüyordum.

Çeviklik’i anladıkça bir plan oluşturup sadece planı takip ederek başarılı olamayacağımı anladım ve müşteriyle her zaman iletişim halinde olmam gerektiğine karar verdim.

Kitapta göreceğiniz gibi Agile yerine Çevik sözcüğünü, Agility yerine Çeviklik sözcüğünü kullandım. Eğer Türkçe’de Scrum’ı ifade etmemizi sağlayacak bir sözcük olsaydı onu kullanırdım. Scrum, Rugby’de oyuncuların kafa kafaya verdikleri toplanma hareketidir. Türkçe’de bunu karşılayan bir ifade yok. Bu nedenle Scrum dedim. Kanban, Japonca görsel kart anlamına geliyor. Yine Türkçe’de bu şekilde ifade etmek anlamlı gelmiyor. Hâlbuki Çevik, Çeviklik İngilizce Agile’den çok daha güzel, okuyanın zihninde ışık yakıyor. Bu nedenle Türkçe’de anlamlı bir karşılığı olan bütün ifadeleri Türkçe karşılıklarıyla yazdım. Türkçe’ye çeviremediğim özel ifadeler için sizin aklınıza gelen bir şeyler olursa lütfen paylaşın.

Teşekkür

Yaptığım çevirilerde kullandığım Türkçe sözcükleri seçerken aslında ne kadar önemli bir iş yaptığımı hatırlatan ve yardımcı olan arkadaşım Mehmet Bozok’a teşekkür ederim. Kitap bittikten sonra ilk okuyan ve çeviriyle ilgili “anlamak için sadece bir defa okuyorum” gibi olumlu yorumlar yapan Âdem Topal’a çok teşekkür ederim. İngilizce waste ifadesinin yerine israf sözcüğünü kullanabilirdim, çok uzun sürede kullandım. Alper Tonga’nın Kanban; Evrimsel Değişim – S01E01 yazısını okuduktan israf sözcüğünün yerine çöp sözcüğünü kullanmaya başladım. Alper’in çöp sözcüğünü kullanmasının nedeni çöpün somut olarak bir varlık ifade etmesidir. Çöp, kötü kokusu, çirkin görüntüsü olan ve kurtulmamız gereken herşey olabilir. Bu tanımın yanında israf sözcüğü kulağa çok soyut geliyor. Bu soyut anlam aksiyon almamız için uyarıcı bir nitelik taşımıyor. Çöp ifadesini topluluğa kazandırdığı için Alper Tonga’ya teşekkür ederim.

Kitabı çevirirken yardım eden ve Türk Dili ve Edebiyatı dersini neden sevmediğimi hatırlatan ama sonsuz dikkatiyle bütün yanlışlarımı düzelten biricik kardeşim Ayşenur’a çok teşekkür ederim.

Bu kadarcık küçük bir kitapta bu kadar çok bilgi vermelerine rağmen okuyucuyu sıkmayan bir kitap yazdıkları için Henrik Kniberg ve Mattias Skarin, çok teşekkür ederim.

*Belki bütün işlerde akış vardır ama yazılım dünyasında çok daha önemlidir çünkü aklınızda binlerce şeyi tutmanız ve çok kısa zamanda hatırlamanız gerekir. Akış, sizi üst benliğe ulaştırabilir. Eğer yazılım geliştirici değilseniz şuan söylediklerim anlamsız geliyor olabilir, bir yazılım geliştiriciye sorun! ☺O, ne dediğimi biliyor.

Cihan Yılmaz

Ekim 2016 – İstanbul

site@yilmazcihan.com

Kanban ve Scrum, İkisinin de En İyisini Yapmak yazısına devam et

Scrum Roller ve Sorumluluklar

Scrum Roller ve Sorumluluklar

Bu sunumda sizlere Scrum Roller ve Sorumluluklar nelerdir konusunu özetlemeye çalışacağım. Makaleyse daha derin ve gerçek hayattan bilgiler isteyenler için yazıldı.

Scrum, felsefe olarak deneyciliğe dayanır. Scrum’ın doğru şekilde işleyebilmesi için Şeffaflık, Gözlem ve Adaptasyon olmalıdır.

Scrum’da üç rol bulunur. Bu roller, Ürün Sahibi, Geliştirme Takımı ve Scrum Master’dır. Şimdi bu üç rolün sahip olduğu sorumluluk nelerdir konusuna değineceğim.

Ürün Sahibi’nin Sorumlulukları

İş Listesini yönetir. Birincil önceliği İş Listesi’ni yönetmektir. İş Listesi’ni yönetmek demek, ürünü yönetmek demektir. Ürünle ilgili yapılacak bütün geliştirme İş Listesi’nde bulunur. Ürün Sahibi, İş Listesi’ni yönetirken şunlara dikkat eder:

  • Yatırım Getirisi
  • Risk
  • İş Değeri
  • Teknoloji

İş Listesi’nin sahibi Ürün Sahibi’dir. İş Listesi herkes tarafından erişilebilir ve anlaşılabilir olmalıdır. Scrum Roller ve Sorumluluklar yazısına devam et

Winston Royce & Waterfall & Çeviklik

Winston Royce & Waterfall & Çeviklik

Bu makalede Winston Royce & Waterfall & Çeviklik konularına değineceğim. Geleneksel yazılım geliştirme metodunun babası Winston W. Royce, yazılım geliştirme alanında öncü olarak kabul edilir. California Institute of Technology’de Fizik Bölümü’nde lisans öğrenimini tamamladıktan sonra yine aynı enstitüde Havacılık Mühendisliği üzerine yüksek lisans yapmıştır. Julian David Cole’un gözetiminde yine Havacılık Mühendisliği alanında doktorasını tamamlamıştır. 1961 yılında ise ünlü otomotiv şirketi TRW’de çalışmaya başlamıştır. TRW, Türkiye’de otomotiv alanında bilinsede aslında havacılık üzerine de çalışmaları bulunmaktadır. Royce, TRW şirketinin havacılık ile ilgili geliştirmeler yapılan bölümünde proje yöneticisi olarak çalışmıştır. Bu dönemde yazılım projelerinin nasıl daha kolay, daha kaliteli ve daha ucuz geliştirilebileceğine dair çalışmalar yürütmüştür. Bu çalışmaları yürütürken akademik yaklaşımını sergilemiş ve yaptığı çalışmaları anlattığı “Managing The Development Of Large Software Systems” adlı makaleyi 1970 yılında yayınlamıştır. Royce’un makalesi yazılım ürünlerinin geliştirilmesi süreçlerine tarihteki en büyük etkiyi yapmıştır ve bu etki günümüzde de devam etmektedir.

Basit Metot

Winston Royce makalesinde açıkladığı yaklaşımlara herhangi bir isim vermemiştir. Bugün Waterfall dediğimiz metoda “basit” diyordu. 1976 yılında Bell ve Thayer adında iki TRW çalışanı “Software Requirements : Are They Really A Problem?” adında yayınladıkları makalelerinde Waterfall terimini ilk defa kullanmışlardır.

Royce’un makalesi incelendiğinde görülür ki sadece Waterfall -Royce’un deyimiyle basit– olarak bilinen modelden bahsetmez aynı zamanda artımlı ve modelleme yaklaşımlarını da anlatır. Sanırım artımlı ve modelleme yaklaşımlarını Waterfall’ın altında anlatması ve Waterfall’ın bunlara nazaran daha kolay bir sürece ve bakıldığında daha anlaşılır bir şekle sahip olması Waterfall’ın benimsenmesini kolaylaştırmış ve günümüze kadar gelmesini sağlamıştır.

Artımlı Yaklaşımlar

Artımlı ve modelleme yaklaşımlarını anlatırken Waterfall modeliyle ilgili problemlerin çözümünü aradığını görürüz. Bu amaçla modelleme yaklaşımında analiz aşamasından önce adına “Preliminary Program Design” dediği bir aşama koymuş ve burada projenin bir modelinin yapılması gerektiğini söylemiştir. Artımlı yaklaşımda ise yine Preliminary Program Design aşamasını koymuş ve bundan sonra gelen her aşamada aslında sürecin tekrarlanmasını savunmuştur. Bu yaklaşım günümüzdeki iterasyon bazlı geliştirme yaklaşımının temeli olmuştur. Winston Royce & Waterfall & Çeviklik yazısına devam et

Çeviklikte Gözlem ve Adaptasyon Ne Zaman Kullanılır?

Çeviklikte Gözlem ve Adaptasyon Ne Zaman Kullanılır?

Kurumsal Geçiş Takımı’yla gözlem ve adaptasyonu basit durumlarda kullanmak gayet mantıklı bir yaklaşımdır. Sonuçta bu değişim çabası çok zahmetlidir, bu uygulandıktan sonra daha güçlü olan dönüşüm yaklaşımı düşünülmelidir.

ADAPT

ADAPT, Scrum’ın benimsenmesi için Mike Cohn’un modelidir.

  • Awareness – Farkındalık – içinde bulunulan sürecin kabul edilebilir sonuçlar üretmediğinin farkında olmak.
  • Desire – İstek – Var olan problemlerin adreslenmesi için Scrum’ı benimseme isteği.
  • Ability – Yetenek – Scrum ile başarılı olabilmek için gerekli yetenek.
  • Promotion – Tanıtım – Scrum deneyimlerimizi paylaşarak hem bizim bunu hatırlamamız hem başkalarının bizim başarımızı görmesini sağlamak.
  • Transfer – Aktarım – Scrum’ı kullanmanın etkilerinin şirketin bütün bölümlerine aktarılması.

Daha fazla bilgi için Mike Cohn’un kitabına ya da sunumuna bakabilirsiniz[Cohn – “Succeeding with Agile” – Chapter 2] [Cohn – “Adapting to Agile Keynote”].

Çeviklikte Gözlem ve Adaptasyon Ne Zaman Kullanılır? yazısına devam et

Çevikliği Benimseme ve Çevik Dönüşüm

Destekleyici Kültürde Çevikliği Benimseme ve Çevik Dönüşüm

Bu yazının amacı Çevikliği Benimseme ve Çevik Dönüşüm konularını netleştirmektir. Bu bölümde baskın kültürlerin İş birliği ve Usta-Çıraklık -ve belkide eXtreme Programming için Yetkinlik- olduğu destekleyici kültürde Çevikliği benimseme ve Çevik olmanın ne olduğunu göreceğiz.  Bu bölümde anlatılacak fikirler ve yaklaşımlar Kanban ve Yazılım Ustalığı’na da uygulanabilir. Çeviklik, bu bölümün anahtar fikirlerini göstermek için kullanılacaktır.

Önceden konuştuğumuz gibi Schneider Kültür Modeli organizasyondaki baskın kültürün hangi kültür olduğunu görmemizi sağlar. Çeviklik anlayışının kültür tarafından tamamıyla desteklendiği varsayımıyla basit bir şekilde Çevik Pratikleri benimseme yaklaşımı naif bir görüştür. Maalesef durum bir şekilde bundan daha karmaşıktır. Böyle bir durumda Schneider Kültür Modeli hangi senaryoda olduğumuzu anlamamıza yardım eder fakat ileri bir rehberlik sağlamaz.

Organizasyonel Kültür ve Liderlik’te(In Organizational Culture and Leadership), Schein şunu iddia eder, “kültürün yüzeysel modellerini görmezden gelmeliyiz ve daha derin ve karmaşık antropolojik modeller oluşturmalıyız”[Schein, p.14]. Kültürü birçok farklı boyutta ele alır, örneğin; adetler, gelenek, grup normları, benimsenen değerler, resmi felsefe, oyunun kuralları, kök mecazlar vb. Çevikliği Benimseme ve Çevik Dönüşüm yazısına devam et