Aşama 1 : Sorunları oluşmadan önce çözmek.
* Sorunları oluşmadan önce öngörüp çözemesem de belki daha önceden karşılaştığım sorunların tekrar etmesini önleyebilirim. Bu tekrar etmeyi önleme için, karşılaştığım sorunların objektif bir şekilde gözlenmesi ve kaydedilmesi gerekiyor ki, sonradan onların üzerinde benim veya başka kişilerin hangi hataları yaptığını veya ortada bir kişinin hata yapması durumu yoksa, nereden sorunun kaynaklandığını görebilelim.
Adım 1 : Ürün yaklaşımı
Ortaya koyduğumuz her iş için bu iş A firması için yapılan bir üründür, bakış açısıyla yaklaşmak öyle kabul etmek ve öyle davranmak.
Adım 2 : Yalancı kod (pseduo) yazmak.
Psed. sistem hakkındaki tüm gereksinimlerimizi erken görmek ve kodlama sırasında hataları, gereksiz uğraşları önlemek açısından faydalıdır.
Adım 3 : Readme (Okubeni) odaklı yazılım geliştirmek.
Önce okubeni.txt veya readme.txt dosyasını yazarak, benden sonra gelecek, işi kopyalayıp değiştirebilecek yazılımcının işini kolaylaştıracağım.
Detaylı bilgi : http://tom.preston-werner.com/2010/08/23/readme-driven-development.html
Adım 4 : Versiyon kontrol sistemi
Merkezi bir sunucu gerektirmeyen (git) versiyon kontrol sistemiyle, işlerin yedeklerini, hangi tarihte ne değişiklik yaptığım belli olacak şekilde tutup, öyle yedekleyeceğim.
Adım 4 Sorun 1 : Versiyon kontrol sistemi kullanmayan kişilerden gelen farklı çalışmalar (flash, resim, logo, döküman vb.) ve kodları nasıl versiyon kontrol sistemine entegre edebilirim?
Bu listede olmayan ama gerçekleşmesi gerekenler:
1. TDD : Test driven development, kodu yazmadan önce testini yazmak ve o testten geçecek kodu yazmak.
asp.net mvp, asp.net mvc, php unit
2. Loglar : Yazdığımız program, sadece hata mesajı verdiği zaman bizim haberimiz olmamalı. Nasıl çalıştığına dair düzenli rapor tutmalı. Hata durumları loglanmalı. Başarılı çalışma durumu ise oran olarak tutulmalı.
3. Ping : Yayına aldığımız sitelerin yayındayken sorun ile karşılaşmasını müşteriden aldığımız telefon ile öğrenmemeliyiz. Başka bir güvenilir sunucu, o sitenin "kalp atışlarını" sürekli takip etmeli . Bu konuda kendimiz basit bir yazılım yapabiliriz veya ücretli destek alabiliriz pingdom.com gibi bir yerden.
4. Otomatik yedekleme : Yedekleme işlemini otomatik olarak betikler yardımıyla yapmak ve tarihine göre klasörler içinde tutmak gerekiyor. Belli aralıklarla elle kontrol edebiliriz.