Yazılım Geliştirmede Teknik Borç

Yazılım Geliştirmede Teknik Borç

Üç arkadaş öğle yemeğinde konuşuyorlar:

 

  • Sabah yazılım geliştirme ekibiyle toplantımız vardı. Bireysel kredi başvuru raporlarına iki yeni alan eklemelerini istedik. Bu iki alanı ne kadar zamanda teslim edecekler, biliyor musun?
  • İki alan olduğuna göre arkadaşlarında keyifleri yerindeyse iki günde bitirirler heralde.
  • Ahahaha. Gerçekten yazılımcı olmak varmış. Adamlar yata yata para kazanıyorlar! Bütün gün bilgisayar başında otur ve hiç bişey yapmadan dünyanın parasını kazan. İki alan için dört hafta süre verdiler desem ne dersin?
  • Bizde bu işe girmeliyiz derim…

Continue reading Yazılım Geliştirmede Teknik Borç

Çevik Yazılım Geliştirmede Verimi Artırma – Çok Görevlilik, Görev Değiştirme ve İçerik Değişikliği

Çevik Yazılım Geliştirmede Verimi Artırma – Çok Görevlilik, Görev Değiştirme ve İçerik Değişikliği

 

Bu yazının amacı çalışırken verimimizi düşüren durumlar olan Çok Görevlilik, Görev Değiştirme ve İçerik Değişikliği’ni net bir şekilde anlatabilmektir. Çok Görevlilik, Görev Değiştirme ve İçerik Değişikliği üç terimde sıkça birbirinin yerine kullanılmaktadır. Anlatılmak istenen aynı ya da benzer konularda olsa birbirinin yerine kullanılan bu terimleri anlamanın doğru olacağını düşünüyorum. Umarım yazının sonunda hem bu kavramları net bir şekilde anlamış olacağız hem de verimliliğimizi düşüren bu durumların farkına varıp bireysel gelişimimiz için aksiyonlar alabilir olacağız.

Continue reading Çevik Yazılım Geliştirmede Verimi Artırma – Çok Görevlilik, Görev Değiştirme ve İçerik Değişikliği

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

İş 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. Continue reading Scrum Roller ve Sorumluluklar

Winston Royce & Waterfall & Çeviklik

Winston Royce & Waterfall & Çeviklik

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.

 

Winston Royce makalesinde açıkladığı yaklaşımlara herhangi bir isim vermemiştir. En basit haliyle 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ı 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. Continue reading Winston Royce & Waterfall & Çeviklik

Ç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”].

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