Karmaşık Yazılımlar Nasıl Planlanmalı ?
Örneğin bir alış-veriş sistemi, blog veya portal gibi bir sistem yazacaksınız; neler yapmalısınız, hangi adımları incelemelisiniz bunları elimden geldiğince, kendi yöntemlerimle ve önerilerimle anlatmaya çalışacağım.
Yazıda web sitesi olarak yazacağım siz tabîi ki bunları desktop applicationlarda da uygulayabilirsiniz...
Ön Geliştirme
Herşeyden önce fikirlerinizi daha düşünme aşamasındayken bi’ yandan not almaya alışın. Yanınızda kağıt yoksa elinize, kolunuza yazın. Çünkü eğer not almazsanız unutabilirsiniz ve iyi yada kötü tüm fikirler birgün bir işe yarar, ihmal edilmemelidirler 
Fikirlerinizi geçiştirirken yapacağınız sistemin varsa daha önceki örneklerine veya benzer konulu işlere bakıp derinlemesine inceleyin. Orda sizce hata olan şeyleri ve hedef kitlenin ihtiyaçlarını ele alarak, yanı sıra hedef kitlenin tahmini bilgisiyle ve empatisiyle diğer sitelerden farklı olacak, fark yaratacak yönler bulmaya çalışın. Hedef kitleyi sürekli düşünün, "bu insanlar bunu kullanabilir mi ?", "anlaşılabiliyor mu ?" gibi soru-cevaplarla, kıyaslamalar yapın.
Fikirler geldi, gelişti… Bu aşamada kendinize “İleride bu sistemi başka ne şekilde kullanabilirim ?” sorusunu sorarak başka fikirler geliştirin. Örneğin bir araç sitesi yaparken konsept bellidir: yönetim paneli, araç ekleme, araç önizleme, üyelik, üyelik paneli, girişi ve şifremi unuttum vs sayfaları vs vs… Araç sitesinde veritabanını hazırlarken, veritabanındaki araç (veya ismini ne verirseniz) tablosuna abs, esr, hava yastığı, sigara içilmemiş, aksesuarli gibi alanlar da ekleyebilirsiniz (çoğu kişi bunu hâlen yapmakta), fakat bence bu çok büyük bir yanlıştır. Bunun yerine araçlar tablosuna sadece belirli alanlar (id, ad, açıklama, durum, eklenme tarihi…), özellikler için ise ayrı bir tablo oluşturup daha sonra bir ilişki tablosu oluşturun. Bu şekilde daha sistematik çalışmış olursunuz.
Mesela; ileride araç sitesini gibi bir sistemi, emlak sitesine çevirebilicek şekilde yaparsanız eğer; hem kendinizi geliştirmiş, hem de kendinize ileriye yönelik bir siteler zinciri oluşturmuş olursunuz…
Mantar Pano
Fikirlerinizi bitirdikten sonra tüm notlarınızı tek tek, küçük anektod (not) kağıtlarına temiz bir şekilde yazın ve mantar panonuza yapıştırın (yoksa bir tane edinin). Buradaki amaç kendinize belirli bir harita çizmiş olacaksınız. Notlarınızı önem veya işlem önceliği gibi sıralara koymak sizi daha emin adımlarla sonuca gitmenize yardımcı olacaktır.
Mantar panodaki kağıt sayısı çok iken daha çok çalışıp bitirmek için, azaldığında ise bitirmenin eşiğine gelmiş olmanın verdiği gurur size, işi daha hızlı bitirmenizde yardımcı olacaktır.