Kategori arşivi: Waterfall

Büyük Yazılım Sistemlerinin Geliştirilmesini Yönetme

Önsöz

Büyük küçük birçok şirket Çevik Dönüşüm başlattı ya da başlatmayı düşünüyor. Hatta Steve Denning bu durum için “Why Agile Is Eating The World” adlı bir makale yazdı ve bu makale oldukça popüler oldu. Çevik Dönüşüm, temelde geleneksel yaklaşımda işlemeyen ve üretken olmayan organizasyonu işler ve üretir duruma getirmektir. Geleneksel yaklaşım deyince aklıma gelen ilk yaklaşım Waterfall. Winston Royce tarafından adına basit metot (1970) denen daha sonra Bell ve Thayer tarafından adına Waterfall (1976) denen yaklaşımdan Çevik yaklaşımlara doğru bir evrim geçiriyoruz. Bu evrimi geçirirken nereden geldiğimizi hatırlamak ve nereye gidebileceğimize karar vermek bu makaleyi çevirmemdeki ana nedendi. Diğer bir neden Waterfall’un neden bu kadar popüler olduğunu anlayabilmekti. Bunlar:

  • Basit
  • Başlangıç maliyetinin düşük olması
  • Öğretmesi ve öğrenmesi kolay (Üniversitede hala Waterfall öğretiliyor, makalenin yayınlanmasının üzerinden 49 yıl geçtiğini unutmayın)
  • Zamanın üretim anlayışına paralel olması
  • Mantıklı olması 🙂
  • Başlangıç ve bitişinin olmasının sağladığı yanılsama

Çok büyük çoğunluğumuz bu makaleden doğan yaklaşımlarla iş yaptı. İş yaptı derken hayatını kazandı ve hayatını yaşadı. Kimileri emekli bile oldu. Kimileri projeleri bitirdiğinde mutlu oldu bitiremediğinde üzüldü. Kimimiz bu yapıya yatkın olmadığı için iş değiştirdi. Peki, tüm bunlar olurken aslında başlangıç noktası neydi? Kaçımız bu başlangıç noktasını düşündü? Ne yazık ki çok azımız. Bugünlerde Çevik yaklaşımların çok popüler olduğunu yazımın başında söylemiştim. Yine ne yazık ki Çevik Bildiri’yi bir defa bile okumamış Çevik Koç, Scrum Kılavuzu’nu bir defa bile okumamış Scrum Master artıyor. Bu çeviri birazda birey ve toplum olarak Waterfall’a yaptığımızı Çevik yaklaşımlara yapmamak için yapıldı.

Makaledeki önemli noktalar: Makalede bence önemli olan yerlerin arka rengini sarı yaptım. Böylece buraların daha dikkatli okunması gerektiğini vurgulamak istedim.

Makalenin orijinaline erişebileceğiniz bağlantı: http://www- scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf

Mart 2019,

Cihan Yılmaz

Büyük Yazılım Sistemlerinin Geliştirilmesini Yönetme makalesini indirebileceğini bağlantı: Büyük-Yazılım-Sistemlerinin-Geliştirilmesini-Yönetme.pdf (178 indirme)

Büyük Yazılım Sistemlerinin Geliştirilmesini Yönetme yazısına devam et

Çeviklik ve Scrum Eğitimi

Çeviklik ve Scrum Eğitimi

Bir araya gelişimizin adı eğitimdi. Eğitmenin anlattığı ve katılımcıların dinlediği bir eğitimden çok herkesin katkısının bulunduğu bir sohbet ortamı yaratabildiğimiz için kendimizi tebrik ediyorum. 🙂 Bu kitapçıkta eğitimde konuştuklarımızı hatırlatmaya ve konuşmaya vaktimizin yetmediği konulara değinmeye çalışacağım. Kitapçık konusundaki iyileştirme fikirlerinizi sabırsızlıkla bekliyorum. Umarım bu sohbet sizlerde bir ışık yakmıştır ve bu doküman sizlerin başkalarında bir ışık yakması için iyi bir araç olur. Kitapçığın odağı Siperden Çeviklik ve Scrum Eğitimi çünkü öğrendiklerimizin ve öğrettiklerimizin hepsi siperlerde öğrenilmiştir. 🙂

Siperden Çeviklik ve Scrum
Siperden Çeviklik ve Scrum

Çeviklik ve Scrum Eğitimi Kitapçığını bağlantıdan indirebilirsiniz: Siperden-Çeviklik-ve-Scrum-Eğitim-Kitapçığı_V2-1.pdf (683 indirme) Çeviklik ve Scrum Eğitimi 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

Çevik Yazılım Geliştirmede Risk

Çevik Yazılım Geliştirmede Risk

Çevik Yazılım Geliştirmede risk konusu üzerine birçok araştırma yaptım. Ne yazık ki paylaşabileceğim ya da bana bir şeyler katabileceğini düşündüğüm bir paylaşım bulamadım. Bu, Çevik Topluluğu için büyük bir kayıp. Özellikle geleneksel yöntemle proje geliştirenlerin savunduğu; “Çevik yaklaşımlar içinde risk yönetimi bulunmuyor; bu nedenle kullananların canı çok yanıyor!” iddialarına cevap niteliğinde birkaç yazı bulurum diye düşünüyordum.

Çevik Yazılım Geliştirmede Risk yazısına devam et

Çevik Yazılım Geliştirmede İş Değeri

Çevik Yazılım Geliştirmede İş Değeri

Bu makalede çevik yazılım geliştirmede iş değeri neden bu kadar önemli anlatmaya çalışacağım. Çevik Yazılım Geliştirme Bildirisi’nin ilk prensibi der ki;

“En önemli önceliğimiz değerli yazılımın erken ve devamlı teslimini sağlayarak müşterileri memnun etmektir.”

İş değerinin, ölçülmesi ve ne olduğunun anlaşılması zor olabilir. Geliştirilen bir özelliğin size ne kadar değer katacağını hesaplamak bazen çok zor bazen çok kolay olabilir.

Çevik Yazılım Geliştirmede İş Değeri yazısına devam et