Zor verilere veya gerçeklere erişemiyorum, bu yüzden BT'deki son 20 senemden beri size anekdotlu gözlemler sunabiliyorum.
Çoğu geliştiricinin bugün 20 yıl öncesine kıyasla yazılım yaratma yöntemi arasında büyük bir fark olduğuna inanıyorum. Çevik hareketin çok fazla ivme kazanmasıyla, özellikle son 5-6 yılda, işyerindeki tutumlarda gerçek bir değişim gördüm. Öyle ki, yaptığımız işin niteliği her yıl artıyor ve sınırlanıyor gibi görünüyor ve projeden projeye öğrendiğimiz dersleri uygularken her projeyle. İlk test geliştirmeye odaklanan yalın süreçler, tartışmalı olmaktan çok yaygın hale geldi. Öyle ki, bugün birçok şirkete girmek için, Çevik ile rahat değilseniz, size kapıyı göstermezlerse şanslısınız.
Peki, bunun ne etkisi oldu? Öncelikle, sorunların çok daha erken tespit edildiğini fark ettim. Genellikle, eğer sorun çok büyük görünmüyorsa, bazen süresiz olarak beklemeye alınabilir. Nadir görülen bir avuçta, daha sonra ele alındığında önemsiz olduğu düşünülen hataların, o zamanlar dikkate alınmayan bazı temel sorunların ortaya çıkması nedeniyle ciddi sorunlar haline geldiğini gördüm. Bazen bu, bir sabitleme döngüsünün ortaya çıkmasına neden olabilir ve bir dereceye kadar maliyetli olabilir, ancak bu maliyet genellikle kaynak bulma açısından daha az ve daha sık olarak müşteri ile geliştirici arasındaki ilişki üzerindeki etki açısından ölçülür. Müşteriler, sonuçları eski günlerde olduğundan daha hızlı döndüren bu Çevik düşünme biçimine alışmaya başlıyorlar. yüksek yinelemeli gelişim sprintleri ve talepler ile uygulama arasında hızlı geri dönüşler sayesinde, bizden çok şey beklemeye başladılar. Ve gerçek hatalar söz konusu olduğunda, bir hatayı düzeltmek için gereken zaman, değişiklikleri desteklemek için sağlam bir testler paketi ve içgörü ile çözümler sağlayacak yeni testler oluşturma kabiliyetinin bir sonucu olarak daha fazla azalır. bildirilen sorunlara.
Sonuç olarak, sağlam bir testler takımı varsa, çoğu durumda hataları gidermek için genel çabaların azaldığı ve testin geliştiricinin yaptığı şeyin odağı olarak kalmaya devam etmesini sağlayacak prosedürler olduğu görülüyor bazı yönlerden en azından uygulamadan, işletmenin diğer alanlarına kaymıştır, çünkü bazı yönlerden odaklanma aynı zamanda saf arz ve talepten ilişki yönetimine de kaymıştır.
Ortaya çıkan bir başka şey, Çevik olmanın bakım döngülerimizi azaltacağını ileri süren içgüdülerimizin birkaç yıl önceki içgüdülerinin hem doğru hem de yanlış olduğunu kanıtlamış olmasıdır. Sağlam testler, kodumuzu büyük ölçüde hata ayıklamayı ve düzeltmeyi ve genel olarak üretim koduna bırakılan hata sayısını azaltmayı ve şu anda ihtiyaç duymamak için daha fazla çalışmakta olduğumuzun yanlış olduğunu anlamayı sağlar. sürekli kodları yeniden düzenleyerek ve mimariyi iyileştirerek, sıfırdan tamamen yeni ürünler geliştirmemiz gereken hale geldikçe, eski kodunuzu koruyun.
Sonunda, OP'nin sorusu açısından bunun anlamı nedir? Şey, cevabın gerçekten bir zamanlar düşündüğümüz kadar kesin ve kuru olmadığı anlamına gelir. 15 yıl önce muhtemelen soruyu Evet olarak cevaplardım.Ancak şimdi ampirik olarak ölçmenin gerçekten zor olduğunu söylemenin daha gerçekçi olduğunu düşünüyorum, çünkü yazılım geliştirmek için yaptığımız şeyin niteliği kendimize OP'nin sorusunu ilk sorduğumuzda sorduğumuzdan büyük ölçüde değişti. Bazı yönlerden, bir endüstri olarak tekniklerimizi ve becerilerimizi ne kadar fazla ilerletirsek, soru o kadar kesin bir evetden büyür ki, kısa bir süre içinde önemli olmadığını söyleyeceğimizden şüphelendiğim bir noktaya hataları düzelttiğimizde, testlerimiz ve süreçlerimiz çok daha güçlü olacağından, hata düzeltmelerinin zamanlaması bütçelerimizi koruma çabalarıyla daha az, müşterilerimizin ihtiyaçlarını karşılamaya yönelik öncelikler ve buna bağlı olarak maliyetler daha az olacaktır. bağlamsal olarak neredeyse anlamsız hale gelir.
Ama dediğim gibi, bu veri destekli bir kanıt değil, sadece son birkaç yıldaki gözlemlerim ve bağırsaklarım bana, iş yapma biçimimizi geliştirecek daha fazla titrek titizliğin olacağını söyleyecektir.