Her projede olduğu gibi yazılım projelerinde de olmazsa olmazlar vardır. Bir yazılım geliştirmek ve bu yazılımın bakımını yapmak profesyonel bir süreç ister. Süreç doğru ve planlı şekilde ilerlemelidir. Oluşturulan düzenli plana yazılım geliştirme süreci denir. Bu plan zaman yönetimi ve içeriğe göre bölünmüş aşamalardan oluşur. Böylece adım adım ve programlı olarak proje ilerler. Tüm aşamalar birbiriyle bağlantılıdır.

Yazılım Geliştirme Aşamaları Nelerdir?

Ana Aşamalar:

İhtiyaç ve Proje Analizi Aşaması

  • Projenin ilk aşamasında projede ihtiyaç duyulacak ana modüller analiz edilmelidir. Projenin amaç ve hedefleri detaylandırılmalıdır.
  • Projeye ait varsayımlar göz önüne alınmalıdır, kullanıcıya dönük faydaları değerlendirilmelidir.
  • Süreçte zaman kaybı yaratabilecek önemsiz ya da etkisi olmayan özellikler sonraki faza aktarılabilmelidir. Böylece proje süreci uzamadan tamamlanacak ve söz konusu özelliklerin gerekli olup olmadıkları analiz edilebilecektir.
  • Projede kullanılacak sunucu gereksinimleri, en doğru yazılım dili ve yazılım mimarisi belirlenmelidir.

Tasarım Aşaması

  • Oluşturması hedeflenen proje sadece web tabanlı olmayabilir. Mobil veya masaüstü de olabilir. Bkz: Responsive Tasarım. Bu durumda yapılacak tasarımın söz konusu platformlara ya da cihazlara uygun olması gerekir.
  • Projenin web arayüz tasarımı yapılırken html standartlarına uyulmalı ve arama motorları optimizasyonu (SEO) kurallarına uyacak şekilde düzenlenmelidir.
  • Projede ihtiyaç duyulan modüller belirlenmeli, tasarlanmalı ve kullanım kolaylığı analiz edilmelidir.
  • Proje, kullanıcıyı yönlendirilmek istediği sayfaya ya da sonuca en fazla 3 tık ile ulaşacak şekilde tasarlanmalıdır.
  • Tasarımların sade, göz yormayan ve kullanıcıya güven verecek şekilde tasarlanmasına özen gösterilmelidir.

Kodlama Aşaması

  • Kodlama, sonradan karşılaşılabilecek bütün isteklere cevap verilebilecek şekilde ve etkili bir yazılım mimarisiyle yapılmalıdır. 
  • Team Foundation Server aracılığı ile projenin bir takım çalışması şeklinde yönetilebilmesi, raporlanabilmesi ve izlenebilmesi sağlanmalıdır.
  • Projedeki modüllerin hızlı çalışması adına sayfa içinde aşırı sorgu olmamasına dikkat edilmeli, en iyi uygulamalar (Best Practices) hakkında araştırma yapılmalıdır.

Test Aşaması

  • Projeye dair önceden belirlenmiş ihtiyaçların karşılanıp karşılanmadığı, doğru sonucu üretip üretmediği test edilmelidir.
  • Birden çok güvenlik testiyle sistemde bulunan açıklıklar kapatılmalıdır.
  • Stres testleri ile proje sisteminin dayanıklılığı test edilmelidir. Gerek duyulan yerlerde sorgular optimize edilmelidir.


Destekleyici Diğer Aşamalar:

  • Talep, kalite, proje ve yapılandırma yönetimleri
  • Yazılım sunumu
  • Dökümantasyon
  • Ayrık yapılandırma

Yazılım Projeleri Neden Başarısız Olur?

Türkiye Bilişim Derneğinin 2012 ve 2013 tarihli raporuna göre BT sektöründe servis ve ürün harcamaları 3,7 trilyon doları görürken bu sektörün pazar payının ise 1,7 trilyon değeri gördüğü bildirilmiştir. Dünya bilişim sektörleri arasında en çok kaynağa sahip alan yazılım sektörüdür. Facebook başarılı yazılım projelerinin en güzel örneği Facebook’tur. Fakat sektör içerisinde yazılımın payı bu kadar büyükken yine de tüm projeler Facebook kadar başarılı olamıyor. Bazı yazılım projeleri neden başarısız oluyor? Biraz bundan bahsedelim.

Yazılım projesi talep eden taraf ile projeyi oluşturacak taraf arasındaki iletişimin sağlıklı sağlanamaması, netleştirilememesi, gereksinimlerin anlaşılamaması gibi faktörler yazılım projelerinin başarısızlığının en büyük nedenleridir. En başta belirtilmeyen yeni taleplerin proje bitimine doğru belirtilmesi nedeniyle süreç sekteye uğramaktadır. Bu doğrultuda ise hem zaman kaybı hem de para kaybı görülür.

Gerçek dışı zaman tahminleri tüm etkenler içinde ikinci sıradadır. Müşterilerin projelerin oluşması için acele etmeleri ve baskı uygulamaları karşısında proje yöneticilerinin en uygun zamanı analiz ve ölçümleme ile belirleyerek bu duruma engel olmaları gerekir. Fakat yöneticiler planlama kısmına gereken zamanı ayırmadıkları ve çalışanlardan gelen geri bildirimleri umursamadıklarında müşteriyi elde tutmak için gerçek dışı zaman tahminleri vermektedir.

Proje sürecine uygun uzman bir ekibin oluşturulmaması ve proje yöneticileri tarafından gereken ilgi ve nizamın gösterilmemesi de başarısızlık sebeplerinden biridir.

Kısacası bir yazılım projesinin başarısı da başarısızlığı da insan faktöründen kaynaklanmaktadır.
 

  • HDD (Hard Disk) Nedir? Ne İşe Yarar? HDD (Hard Disk) Nedir? Ne İşe Yarar?
  • Bug Nedir? Ne Anlama Gelir? Bug Nedir? Ne Anlama Gelir?