Bir spesifikasyonun en önemli fonksiyonu programı tasarlamaktır . Kod üzerinde tek başınıza çalışıyorsanız ve yalnızca kendi yararınıza bir özellik yazsanız bile, spesifikasyonun yazılması - programın nasıl ayrıntılı bir şekilde çalıştığını açıklayan - sizi programı gerçekten tasarlamaya zorlayacaktır ...
... ürününüzü bir insan dilinde tasarladığınızda, çeşitli olasılıkları düşünmeye, tasarımınızı gözden geçirmeye ve geliştirmeye çalışmak sadece birkaç dakika sürer. Kelime işlemcideki bir paragrafı sildiklerinde kimse kendini kötü hissetmez. Ancak ürününüzü bir programlama dilinde tasarladığınızda, yinelemeli tasarımların yapılması haftalar alır . Daha da kötüsü, sadece bir kod yazarak 2 hafta geçiren bir programcı, ne kadar yanlış olursa olsun, bu koda oldukça bağlı olacak ...
... Bir spesifikasyon yazdığınızda, programın sadece bir kez nasıl çalışması gerektiğini bildirmeniz gerekir . Takımdaki herkes spesifikasyonu okuyabilir. KG çalışanları programın nasıl çalışması gerektiğini ve neyi test edeceklerini bilmeleri için okudu. Pazarlama insanlar bu web sitesinde henüz oluşturulmamış ürünler hakkında kusmak için belirsiz vaporware beyaz kağıtları yazmak için kullanın. İş geliştirme insanları, ürünün kellik ve siğilleri nasıl tedavi edeceğine dair garip fantezileri döndürmek için yanlış anlıyorlar, ancak yatırımcıları alıyor, bu yüzden sorun değil. Geliştiriciler hangi kodu yazacaklarını bildikleri şekilde okurlar. Müşteriler, geliştiricilerin ödemek istedikleri bir ürün oluşturduklarından emin olmak için bunu okurlar. Teknik yazarlar okudu ve güzel bir el kitabı yazdı ...
Spesifikasyonunuz olmadığında, tüm bu iletişim hala gerçekleşir, çünkü zorunludur , ancak geçici olur . QA halkı, programla aptalca dalga geçiyor ve bir şey garip göründüğünde, programcılara bir daha çalışmayı kesmeleri için bir kez daha aptalca bir soru sormak için yine ara veriyorlar ...
ayrıntılı bir spesifikasyon olmadan, bir program yapmak imkansız ... Çok fazla programlama organizasyonunda, her tasarım tartışması olduğunda, kimse genellikle siyasi nedenlerle karar veremez. Yani programcılar sadece tartışmasız şeyler üzerinde çalışıyorlar. Zaman geçtikçe, tüm zor kararlar sonuna kadar itiliyor ... Spesifikasyon yazmak, spesifikasyonunuz yoksa örtülü olan irili ufaklı tüm tasarım kararlarını çivilemek için harika bir yoldur. ..