Yazılım Geliştirme Süreci Modelleri - Öner Bilişim
Demo İste

Yazılım Geliştirme Süreci Modelleri

Yazılım Geliştirme Süreci Modelleri

Yazılım geliştirme sadece kodlamadan meydana gelmez. Yazılım, ürün geliştirmeden kullanılan araçlardan sadece birisidir. Ürün geliştirme sürecinde, devamlı bir iyileştirme ve süreci takip gereklidir. Ürün geliştirme sürecinde başarısız olan firmalar müşteri ve itibar kaybı tehlikesiyle karşı karşıya kalmaktadır. Yazılım geliştirme süreç modelleri de tam da bu sırada yardımımıza yetişir ve organizasyonun planlı ve belli bir süreç içerisinde gerçekleşmesinde yardımcı olur. Code-fix, Agile, Waterfall, V Model, Spiral vs. gibi 50’den fazla yazılım geliştirme süreç modeli karşımıza çıkmaktadır.  Peki neden bu kadar farklı süreç modeli bulunur isterseniz önce bu soruya bir cevap arayalım.

Her yazılım projesinin zaman planlaması, büyüklüğü, hangi amaçla kullanılacağı, bütçesi, projeyi kullanacak kişilerin ve kurumların çeşitliliği, projenin çalıştırılacağı yer gibi etkenler farklı süreç modellerine ihtiyaç duymamızı sağlamıştır.

Yazılım geliştirme süreç döngüsünün fazları bulunmaktadır. Bunları planlama, analiz, tasarım, gerçekleştirme ve bakım olarak sınıflandıra-biliriz.

Yazılım Geliştirme Süreç Döngüsünün Fazları:

  • Planlama;

Projenin maliyeti, risk analizi, iş bölümü, iş bölümünün hangi sırayla ve kimler tarafından yapılacağı, müşteri ile iletişim, eğitim, uygulamanın kullanılması, oluşabilecek hataların giderilmesi, yeni özelliklerin nasıl ekleneceği vs. birçok başlığın planlanması çalışmasıdır. Planlama ile proje için tahminler yaparak oluşabilecek hataların önüne geçilmesi veya hızlı bir şekilde çözülmesi beklenir

  • Analiz;

Projeyi ortaya çıkartabilmek için geliştiricilerin ne yapacağını bilmesi gerekir. Analiz safhasında ne yapacağımızı öğrenmek amaçlanır. Projenin sözleşmesi, alanda uzman kişilerle birlikte çalışma, işi yaptıran, projeyi kullanacaklar ve ürünü kullanacak sistem uzmanları ile iletişim halinde olup ne istediklerini anlamak amaçlanır. Sistem analizi ve yazılım gereksinimi dokümantasyonu oluşturulur.

  • Tasarım

Analiz kısmında ne yapılacağı tam anlamıyla öğrenildikten sonra bunun nasıl yapılacağı konusunda tasarım yapılması gerekir. Analiz görselleştirme yaparken bazı diyagramlardan faydalanılır ve görselleştirmeler yapalır.

  • Gerçekleştirme

Bu kısımda kodlama ve testlerin yazılması yapılır ve proje canlıya geçirilir.

  • Bakım

Ürün canlıya alındıktan sonra çıkan hatalar, kullanılan kütüphanelerin son versiyonları, güvenlik açıklarının kapatılması, müşterinin yeni istekleri gibi konularda çözümler üretilir.

Yazılım Geliştirme Bazı Süreç Modelleri

Waterfall (Şelale) Modeli:

Bu model ilk geliştirilen modellerden birisidir. Yazılım geliştirmenin tamamı farklı adımlarda ve sırasıyla uygulanır. Çünkü geri dönmemek için her fazın hakkını vererek uygulamak gerekir. Sonradan bu modelin çok da kullanışlı olmadığı, kodlama sırasında çoğu şeyin değiştiğinin farkına varılmıştır. Daha verimli modeller aranmaya başlanmıştır. Fakat bu model küçük projeler için oldukça kullanışlıdır.

Waterfall (Şelale) Modeli

Agile (xp, kanban, scrum) Modeli:

Ürünü döngülere bölerek hızlı bir şekilde çalışan bir ürün sunar ve çok gerçekçi bir yaklaşım olarak kabul edilir. Her model bir önceki sürümden küçük, daha iyi değişiklikler içeren sürümler üretir. Her yinelemede ürün test edilir. Bu modelde etkileşim oldukça önemlidir. Çünkü her an bir şeyleri geliştirmek, değiştirmek gerekebilir ve hızlı olunması gerekir. Ancak bu modelde büyük ölçüde müşteri etkileşimi olduğundan müşteri net değilse proje başarısız sonuçlanabilir.agile

Agile modelinde farklı kullanımlar mevcuttur: XP, Scrum ve kanban

 

xp, kanban, scrum 

 

  • Scrum:

Çalışmalarını sprint adı verilen kısa, yoğun iş döngülerine bölen çapraz işlevli, kendi kendini organize eden ve yetkilendirilmiş ekiplerin kullanımıdır. Scrum çerçevesi sadece küçük projeler için kullanılabilir.
Ancak, büyük projelerde etkin kullanım için kolayca ölçeklenebilir. Takımlar, sprint sırasında sprint tahmininde değişiklik yapmamaya çalışmalıdır. Bunu yapmak, tahminle ilgili öğrenmeleri tehlikeye atar. 

  • Kanban:

Teslim etmemizin daha uzun sürmesine neden olan sorunları hafifletmek için, sürecin gerekli parçalarından kopmaz. Birçok grubun Kanban’ı uygulamasının nedenlerinden biri, nasıl daha tutarlı bir şekilde teslim edileceğini bulmaktır. Kanban ve diğer birçok süreç, genellikle yönetim veya liderlik katmanı tarafından seçilir ve uygulanır. Değerler ve hedefler geliştiricilere veya diğer bireysel katkıda bulunanlara iletilir. Değişim her an olabilir.

  • XP :

İnsanları daha kaliteli yazılımları daha verimli üretecek şekilde organize etmek hedeflenir. Küçük komut programcıları için çok etkili bir metodolojidir. Takım büyüklüğü 5 veya daha az kişidir ve yineleme şeklinde ilerlenir. 

Kodla ve Düzelt / Code-fix Modeli:

Code & Fix model, bir konu üzerine araştırma yapma durumu ve bir konu yeni öğreniliyorsa veya belli bir problem çözmeye çalışılıyorsa kullanılacak en basit yöntem, kodla ve düzelt modelini kullanmak olacaktır.kodla düzelt

En basit ürün geliştirme, Cowboy Coding olarak adlandırılan bu modelde en kısa sürede prototipleyerek sonuca gitme hedeflenir.  Planlama, Analiz yapma vs kısımlar ile çok vakit kaybetmeden hemen ana problem üzerine odaklanılarak sonuca gidilir

Öner Bilişim olarak sunduğumuz ürünler hakkında bilgi almak için buradan iletişime geçebilirisniz.

Haberdar olun.

Öner Bilişim yenilikleri ve iş çözümlerine ilişkin gelişmelerden haberdar olun.