Sevgili programcılar,
akademik araştırmalar yapıldığında "yazılım planlaması" nasıl yapılır? Ve bir yan not, nasıl patronuna yazılım yazma olduğunu ikna edeceğiz değil bir ev inşa gibi ve bir daha gibi bir roman yazıyor ?
Kanlı ayrıntılar aşağıdadır.
Bir araştırma laboratuvarında çalışan küçük bir geliştirme ekibinden sorumluyum. Bir gün halka açılmak amacıyla bir yazılım geliştirmeye başladık (yani bunu satmak ve para kazanmak). Bu tür yazılımlar, diğer şeylerin yanı sıra, en az iki bağımsız araştırma hattına bağlıdır: yani, en az iki doktora vardır. umarım bir gün ihtiyacımız olan şeyin çalışan bir uygulamasıyla ortaya çıkar.
Ana yazılım, geliştiriciler olarak bakabileceğimiz diğer daha somut kaynaklara da bağlıdır: grafik oluşturma, yumuşak gövdeler deformasyonu vb.
Patronum tüm projenin özelliklerini, gereksinimlerini ve kanlı bir GANTT şemasını yazmamı istedi. Araştırma kısmı hakkında bir ipucum olmadığı ve böyle bir araştırmanın yazılım için temel olduğu gerçeğiyle karşı karşıya kaldığında, “varsayımlar yapın” dedi. Argümanın netliği için doktora derecesi olan bir profesördür. Öğrenciler ihtiyacımız olan araştırmayı bulmalılar. Ve kesinlikle mühendislik geçmişinden geliyor: önce her şeyi planlayın, spesifikasyonları yazın ve daha sonra "bu son bölüm" kodunu yazın.
Şimdi ne yapıyorum:
- Ürünü özelliklerde bozdum; her 'özellik' fiili olarak ayrı bir üründür;
- Her özellik bir öncekinin üzerine inşa edilmiştir;
- Bir özellik (A) çalışan bir prototipe sahip olduğunda, ekip bir sonraki özellik (B) üzerinde çalışmaya başlayabilir, A için KG yapılırken (para izin veriyorsa, daha fazla kişi getirilebilir, vb.);
- Araştırmanın bağımlı Özellikler son gelecektir: o zamana kadar, umarım, araştırma bölümü tamamlanmış olacak ( ne zaman büyük bir soru hala);
Ayrıca, ekibi birkaç ay içinde 'sürüm 1.0'ın geliştirilmesi için SCRUM'u kullanacak şekilde ayarladım . Bu son tarih makul varsayımlara dayanarak belirlenebilir: gerekli tüm özellikleri listeledik, kullanılabilirliğimizi saydık ve makul bir tahmin yaptık.
Yani sorularım yine:
- Aynı zamanda kapıdan bir şey çıkarırken patronumu nasıl mutlu edebilirim?
- Geliştiricilerin yapmamızın mümkün olup olmadığına dair hiçbir fikrimiz yokken nasıl spesifikasyon yazabilirim ? (Hala bazı görevler için hangi kütüphaneleri kullanacağımıza karar vermedik; bunu yapmamız gerektiğinde yapacağız)
- Henüz müşteri veya yatırımcı olmadığı, sadece çok fazla ilgi ve vaatte bulunmadığı için bunun için nasıl gerekli şartları elde edebilirim ?
- Dünyada nasıl barış elde edebilirim?
Eminim sorularımdan en az biri cevaplanacaktır :)
ps: Bunu anonim olarak yazıyorum çünkü potansiyel bir yatırımcı keşfedilirse geri tepebilir. Umarım anlarsın. Ancak şunu söylemeliyim ki, bu 'gerçeği gizleme' anlayışından hoşlanmıyorum: bu program büyük olasılıkla pek çok fayda sağlayacaktır ve bunun hakkında açık bir şekilde konuşamamak (benim adım ve itibarım eklenmiş) sansür gibi geliyor. Ama ne yazık ki, önerilerinizi şimdi önemsiyorum.