Tekrarlanan Yazılım Geliştirme Metodu
Tekrarlanan yazılım geliştirme metodu, yazılım projelerinin sıralı yinelemelerle oluşturulduğu bir yazılım gelişirme metodolojisidir. Tekrarlanan yazılım metodolojilerinde yazılım projeleri kendi içerisinde parçalara bölünerek ele alınır. Bu metodolojilerde, oluşturulan her bir parça kendi içinde küçük bir proje gibi düşünebilinir. Asıl proje hedefi, bu küçük projelerin birbirine eklenmesiyle elde edilmektedir.
Tekrarlanan yazılım geliştirme metodundaki her bir yineleme kendi içinde bir yazılım projesinin gereksinim analizi, dizayn, kodlama ve test gibi adımlarını bünyesinde bulundurur. Ancak, her bir yinelemenin içerisindeki bu proje adımlarının ağırlığı değişkendir. Öyle ki, ilk yinelemelerde gereksinim analizi kodlamaya göre daha yoğunken ileriki yinelemelerde durum değişerek gereksinim analizinin içeriği küçülmekte ve kodlamanın ağırlığı artmaktadır.
Bir projedeki yineleme sayısı projeden projeye ve kullanılan modellere (XP, Scrum, vs) göre değişiklik gösterir. Ancak, bugün yaygın olarak kullanılan modellere bakıldığında yineleme uzunluklarının genellikle 1-6 hafta arasında değişiklik gösterdiği görülmektedir. Araştırmalar göstermektedir ki, yazılım projeleri büyüdükçe karmaşıklıkları artmakta ve projelerin başarılı olma oranları azalmaktadır. Diğer yandan projeleri parçalara ayıran tekrarlanan yazılım geliştirme metodolojileri, projelerin karmaşıklığını ve riski azaltmakta, verimliliği ve başarı oranlarını arttırmaktadır.
Tekrarlanan yazılım geliştirme metodunda projenin küçük parçalara ayrılmasının yanında, bu yinelemer arasındaki geri bildirimler de büyük önem taşımaktadır. Geri bildirimler proje gelişim sürecinin esnekliğini arttırmakta ve proje başarısını arttırmaktadır. Projeyle hedeflenen sonucun tam olarak anlaşılması ve elde edilebilmesi için geri bildirimler oldukça kritikir. Her ne kadar bu metodolojiyle esneklik destekleniyor olsa da, esneklik sınırsız değildir ve değişiklik oranı proje ilerledikçe azalmalıdır. Aksi takdirde, proje sonlandırılamayacak ve kaos ortamı doğacaktır.
Özetleyecek olursak, tekrarlanan yazılım geliştirme metodu, ana projeyi parçalara bölerek karmaşıklığı azaltmakta, bünyesinde bulundurduğu geri bildirimler sayesinde değişimi desteklemekte, riskleri azaltmakta ve projelerin başarı oranını arttırmaktadır. İşte bu yüzden, tüm dünyada bir çok yazılım projesi bu yöntem ile geliştirilmektedir.
Kaynaklar:
- www.agilealliance.com
- www.scrum.org
- www.apln.org
- Agile&Iterative Development, Craig Larman, Addison-Wesley 2007
- Extreme Programming Explained, Kent Beck with Cynthia Andres, Addison-Wesley 2007
- Agile Project Management With Scrum, Ken Schwaber, Microsoft 2003
GERİ
YUKARI


