Hemen hemen tüm cevapların burada ve başka yerlerde sayısız yerde öldüğü söylendi. Ya da en azından ölümüne duydum. IDE'nizi öğrenin, daha hızlı yazmayı öğrenin, çerçeveler kullanın, kod üretmeyi kullanın vb. Ancak bu soruları soran ve Stack Overflow gibi sitelere sıkça rastlanan programcı türü olarak zaten bunları biliyordunuz . Sadece onları tekrar etmek mi istedin yoksa biraz havalandırmak mı istedin?
Ama ya o duruma ulaşabilseydik? Tüm bu önerileri usta mı demek istedim? O zaman ne olurdu? İyi. Tahmin ediyorum ki zaman çizgileri daha da azalacak. Ve yine, kalite algısına geri döneceğiz. Yani, zanaatımız kesinlikle ilerledi ve on yıllar boyunca gittikçe daha verimli hale geldi. Ancak bu süre zarfında kalite arttı mı (tabii ki çok erken yıllar hariç)?
Cevabım basit: kaliteli yazılım zaman alır ! Sadece birini diğeriyle takas edebilirsiniz (kalite / hız). Ama evet, hepimiz biliyoruz ki, bu değişimin, ölçeğin hızıyla ne kadar sona erdiği konusunda dürüst değiliz. Ve projelerin başlarında bile daha fazla yalancıyız!
Burada hatalı olmadığını söylüyorum . Buradaki sorun insanların kaliteli yazılımın ne kadar sürmesi gerektiği konusundaki algısı . Yöneticilerimizin zaman çizelgesi türleriyle kaliteli yazılım oluşturabileceğimize ve hatta tahmin edebileceğimize inanıyoruz. Kaliteli bir yazılım üretmiyoruz . Bir uygulamanın bazı köşelerinde çalışan, ancak bazen kaliteli flaşlarla çalışan bir yazılım yazıyoruz.
Peki bu konuda ne yapabiliriz? Patronlarımızı, her bir projemizdeki yatırımı ikiye veya üçe katlamamız gerektiğine ikna edemiyoruz. Ben örnek olarak kurşun diyorum. Yan proje olarak gerçekten harika bir yazılım parçası oluşturun. Buna kendi zamanınızı koyun ve ödün vermeyin. Tüm bunlar, nasıl ilerlediğinize dikkat edin. Beklenmedik bir süre koymak zorunda kaldığınız ve ilgisiz olup olmadığınızı görmek zorunda olduğunuz açıkça ilgisiz işleri not edin . Bunu, çalıştığınız diğer tüm projelerle karşılaştırın. Be vahşice dürüstKendiniz ve bu analizin tüm yönleriyle. İşyerindeki "gerçek" projelerde kaliteli yazılımınızla yaptığınız ekstra şeyler ihmal edilebilir mi? Ama belki senin girişimin başarısız oldu. Sebep neydi? Sıkıldınız mı ve sadece temel özellikleri yerine getirmek için acele ettiniz mi? Henüz kendim böyle bir şey yapmadım, bu yüzden bu düşünceyi bazı şüphelerim ile sonlandırıyorum - ama gerçek anlamda bir şans vermeyi düşünüyorum. Seni haberdar edeceğim :).
Son olarak, çoğu (tümü olmasa da) performans değerlendirmelerinin bükümlü ve olağanüstü derecede manipülatif olduğunu düşünüyorum. Kaliteyi ve hızı% 100 kısaltamazsınız. Patronunuz sizi organizasyonun belirlediği bir standarda karşı atıyor olmalı. Kuruluşun kalite ve hız arasındaki değiş tokuş standardı. OrangeSoft Inc.'in% 33 kalite ve% 66 hız beklediğini düşünelim. Bu nedenle, ünite testlerinin üçte biri olan bir kod yazıyorsanız, bunu hızlandırması ve düşük teslimat süresi ile telafi etmesi gerekir; (Bunlar oldukça kaba analojiler ama sen anladın). Fakat bunun yerine, Bob'un son derece hızlı kod yazdığı, ancak kötü niyetli bir şey olduğu söyleniyor. Bu yüzden performans incelemesinde kalite için 3/5, hız için 5/5 olacak. Öte yandan Carol, kodu çok daha yavaş yazıyor ancak önemli ölçüde daha az hata üretiyor. Kalite için 5/5 ancak hız için 3/5 puan alıyor. Her iki şekilde de, Bob ve Carol zamlarını aldılar. Herhangi bir çalışanın mükemmel bir puan alması mümkün mü? Bu adil mi?