Quantcast
Channel: proje – Savaş DOĞAN
Viewing all articles
Browse latest Browse all 8

Büyük Yazılım Projeleri Geliştirirken Dikkat Edilecekler

$
0
0

Büyük Yazılım Projeleri Geliştirirken Dikkat Edilecekler

Sadece ülkemizde değil, dünyada da geliştirilen yazılımların %50 si başarısızlıkla sonuçlanmaktadır. Kalan %50 nin ise sadece %5-10’u tam başarılı, kalan %40-45’i ise kısman başarılıdır. Hal böyleyken yanlışları görmek ve mümkün olduğu kadarıyla bunları düzeltmek, şirketimiz, projemiz ve müşterilerimiz açısından hayati önem arz etmektedir.
Bu bağlamda yazılım şirketlerine ve ekiplere nacizhane tavsiyelerim olacaktır.

Yönetimsel mevzular

  1. İlk yapmanız gereken yanlışlarınızı doğru tespit etmek olacaktır.  Bunları tespit etmen iki basit yolu vardır. Birisi bütçe gerektiren dışarıdan bir danışmanlık desteği almaktır. İkincisi ise çalışanlarınıza sormaktır. Çalışanlarınıza sorarken samimi davranmanız ve onların rahatça gördükleri yanlışları ifade edebilmelerini sağlayabilmeniz gerekir. Dilerseniz isimsiz kartlara yazdırmak bir yöntem olabilir.
    Yanlışlar – Sorunlar tespit edildiğinde ise bunları önem ve aciliyet sırasına  dizmeniz gerekir. Bunu da ekip arkadaşlarınıza sormanız en sağlıklı yöntem olacaktır.
  2. Kaynaklarınızın değerlendirmesini yeniden yapınız. Gerek insan kaynağının yeterliliği ve yetkinliği olsun, gerekse bütçe ve finans kaynağınız olsun tekrar analiz edip, değerlendirmeniz sizi her zaman doğru yönlendirecektir.
    Gerekirse insan kaynağı arttırımı yapmalısınız ve/veya şirket içi eğitimlerle ekip arkadaşlarınızın yetkinliği arttırmalısınız.
    Aynı değerlendirmeyi şayet “iş ortaklarınız/partnerleriniz” varsa, onlarla ilgili de yapmalısınız.
  3.  Bir çok şirketin misyonu/vizyonu vardır. Bunların çoğu göstermelik cümlelerden oluşur. Şirket içi genel, departmanların ve meslek gruplarının birer manifestosu olsun.
    Basit birer örnek :
    – Proje Yöneticisi manifestosu :  a) Sorumlu olduğum projelerin belirlenen zamanda hazır olmasını sağlayacağım.
    – Developer manifestosu : a) Dünya standartlarında kodlama yapacağım.
    – Analiz Ekibi manifestosu : a) Müşterilerin istek ve ihtiyaçlarını doğru tespit edip, Proje Yöneticilerine eksiksiz ve tam aktaracağım.
    gibi…… 
  4. Mutsuz çalışan, başarısız proje ve şirket demektir. Çalışanlarla iletişiminizi doğru kurup, haklı ihtiyaçlarını karşılamak önemlidir.
  5. Projelerde zaman planlaması yaparken özellikle Developer ekibinin gün hesabını en fazla 6 saat olarak hesaplayın. “Benim” diyen coder bile tüm mesaisi boyunca sürekli ve verimli kod yazamaz.
  6. Teşbihte hata olmaz : “En iyi atlara sahipsiniz ne fayda. Ona koşacak meydan vermediyseniz!”
    Bu şu demek; Sorumluluk veriyorsanız, yetkisini de vereceksiniz. İkinci bir anlamı da şu; İhtiyacı olan masayı, bilgisayarı (ekran, işlemci, ram, klavye v.s…) sağlamak zorundasınız!Teknik mevzular
  7. Agile (Çevik) Yazılım Geliştirme yöntemleri kullanın. Projeye göre değişir elbette ama tavsiyem Srum ya da Kanban olacaktır.
  8. Scrum kullanmasanız bile her sabah Daily Scrum toplantılarınını ( Max. 15 dk.) yapmanızın bir çok faydasını zaman içerisinde göreceksiniz.
  9. Projelerinizde mutlaka bir versiyonlama  (sürüm kontrol) sistemi kullanın. SVN, Git, TFS….
    [
    Faydaları :
    1. Uygulamanın iki sürümü arasındaki farkları net bir şekilde görmeye yarar.
    2. Hatalı kodları geri almayı sağlar.
    3. Yapılan her toplu değişikliğe yorum yazarak uygulamanın gelişimini görmeyi sağlar.
    4. Her çalışan kopya aynı zamanda bir yedektir.
    5. Birden fazla geliştirme modelini ve modelin uygulanmasını mümkün kılar.
    6. Sadece kodların değil belgelendirmenin da sürüm kontrolünde tutulabilmesi belgelendirmeyi kolaylaştırır.
    7. Sürüm yönetimini ve sürüm yedekleme işlemlerini otomatikleştirir.
    8. Yanlışlıkla silinen kod veya dosyaların geri alınması olanağı sağlar.
    9. Bir proje üzerinde birden fazla kişinin çalışmasını büyük oranda kolaylaştırır.
    10. Disk alanından kazandırır. Sürüm kontrol sistemi kullanmayan bir geliştirici örneğin her hafta kodun tamamının bulunduğu klasörü paketleyip yedeklerken, sürüm kontrol sistemi kullanan bir geliştirici için yedek almaya bile gerek yoktur.
    11. Kod üzerinde istediğin gibi oynayıp daha sonra tek bir komutla yaptığın değişiklikleri projeye dahil edebilir ya da projeden çıkarabilirsin.
  10. Unit Test ve CI (Continuous Integration) kullanmanız, projelerinizin selayeti için hayati önem arz eder.
    CI ile ilgili detaylı bilgi için tıklayınız…
  11. Yazılımcı arkadaşları gereksiz dokümanlarla, mailleşmelerle ya da rapor hazırlatmak gibi işlerle meşgul etmeyin ki, projeniz zamanında ve doğru bir şekilde çıksın!
  12. Mutlaka bir proje yönetim aracı kullanın. AMA dokümanlara veya raporlara boğulmaktan, iş yapamaz hale gelmeyin.
Genel olarak söyleyebileceklerim bunlar. Eklemede bulunmak isteyenler yorum olarak katkıda bulunabilir.
Son olarak şöyle bir kapanış yapalım : “Proje size yazılmasın, siz projeyi yazın!” 


Viewing all articles
Browse latest Browse all 8

Latest Images