Ben Joel testi güncel olduğunu düşünüyorum - "zamansız" diğer yazılım yazma kadar güncel.
Spesifikasyon olmadan ürün geliştirme (yazılım geliştirme dahil) yapmak sadece deliliktir.
Nereye gitmek istediğini nereden biliyorsun?
Spesifikasyon yazmakla ilgili tek bir noktaya değineceğim (aslında Joel'in spesifikasyonlarının çok iyi olduğunu düşünmüyorum ... hiç yoktan iyi, ama olabildiğince iyi değil). Bu nokta:
Spesifikasyon yazarken, nasıl yapılacağını değil, yalnızca ürünün ne yapması gerektiğini söyleyin.
Bu, bir spesifikasyondaki uygulama ayrıntılarını dikte etmediğiniz anlamına gelir. Bu bir tasarım etkinliği ve bunu tasarımcıların deneyimine ve yaratıcılığına bırakıyorsunuz.
[Bu kuralın yalnızca bir istisnası vardır: Bazen belirli bir uygulama ayrıntısı veya yöntemi zorunlu kılınmakta veya zorunlu kılınmakta, bu durumda uygulamaya konulmaktadır. Örneğin, yazılımın PHP ile yazılması gerekiyorsa ve bu pazarlık konusu değilse, spec. Bunun çok az örneği olmalı.]
Şunu da ekleyebilirim: hata izlemenin olmaması eşit bir delilik eylemidir. Bu sadece ameliyat için en profesyonelce ve aptalca bir yoldur ve büyük acı ve acıya yol açacaktır.