Bu hafta iş yerindeyken bir kez daha çevirdim . Standart çevik, TDD, paylaşılan sahiplik, bir kart parçası üzerinde birkaç kullanıcı hikayesinin ötesinde hiçbir şey planlamayan özel geliştirme metodolojisi, 3. parti entegrasyon ve teknik özelliklerine ilişkin cud'ları hiçbir zaman gerçek anlamda yapmadan çiğneme düşünmek ya da gerekli özendirmek ve tüm üretim kodlarını son birkaç aydır kimsenin başına gelen ilk teste mimari olarak bağlamak, bir sürüm döngüsünün sonuna ulaşıyoruz ve geliştirmekte olduğumuz dışsal olarak görülebilen ana özelliği çok yavaş görüyoruz. kullanın, adamcağız, labirentte karmaşıklaşıyor ve tamamen esnek değil.
Bu süreçte "çiviler" yapıldı, ancak hiçbir zaman belgelenmedi ve hiç bir zaman tek bir mimari tasarım üretilmedi (FS yoktu, yani ne cehennem, ne geliştirdiğinizi bilmiyorsanız, nasıl planlayabilir veya araştırabilirsiniz? ?) - Proje, her seferinde sadece bir kullanıcı hikayesine odaklanan ve sonuç kaçınılmazdı.
Bunu çözmek için radardan çıktım, (korkunç) şelaleye gittim, planladım, kodladım ve temel olarak pariteyi değiştirmedim ve tek başıma çalışabildiğim kadar çalıştım; her şey sabitlendikten sonra gelecek. Kod şimdi çok daha iyi ve aslında tamamen kullanışlı, esnek ve hızlı. Bazı insanlar bunu yapmama gerçekten çok kızmış gibi görünüyorlar ve çabalarımı (muhtemelen bilinçsizce) sabote etmek için kendi yollarını kullandılar, çünkü bu, çevikliğin kutsal sürecine aykırı.
Peki, bir geliştirici olarak, ekibine işlerini planlamanın "çevik olmayan" olmadığını nasıl açıklarsınız ve planlamayı çevik sürece nasıl sığdırırsınız? (IPM hakkında konuşmuyorum; bir problemle oturmaktan ve bir problemin üzerinde çalışan bir kişinin neyi bildiğini yeterince ayrıntılı olarak çözmesi gerektiğini söyleyen uçtan uca bir tasarıma değiniyorum. kullanmaları gereken mimari ve kalıplar ve yeni kodun mevcut koda entegre olması gereken yerler)