Projeye bağlı olarak, küçük bir proje üzerinde tek başına çalışıyorsanız, geliştirmenin bir parçası olarak teknoloji araştırmanızı ve araştırmanızı gerçekleştirmek mükemmel bir mantıklı olabilir. Ve Agile'ın bir parçası olmasa da, elbette buna biraz kontrol eklemek için Agile metodolojisi kullanılabilir. Ancak bu, süreci tahmin etmeyi / veya zaman kutusunu zorlaştırır. Tamamen sizin olan küçük bir projede tek başına çalışıyorsanız, iyi, hatta daha hızlı olabilir, gereksinimlerinizi öğrenirken ortaya çıkmasına izin verin. Yol boyunca iyi prensipler kullanın ve tutarlı olun; bu kadar çok faktoring yapmanız gerekmez.
İş yerinde Kanban, Scrum ve daha geleneksel şelale yaklaşımlarını kullanıyoruz. Projeye bağlı olarak, iyi tanımlanmış ön gereksinimleri olan karmaşık gelişmelerin çeviklik için en uygun olmadığını, birçoğunun buna katılmayacağını düşünüyorum.
Çevik bir projede bile çalışmaya başlamadan önce (en basit olanlar hariç), bazı belgeler oluşturuyoruz. Bir modelimiz var (ui odaklıysa), bir dizi gereksinimimiz ve işlevsel bir spesifikasyonumuz var.
Geliştirmeden işlevsel spesifikasyondan teknik spesifikasyon yaratması istenecek ve bu süreçte teknolojiyi belirleyecek ve ihtiyacımız olan her türlü ön araştırmayı yapacağız. Bu süreç benim için çok önemli görünüyor, çünkü gereksinimler / fonksiyonel özelliklerdeki boşlukları görme fırsatı veriyor - ve bu tür kararları almak için deneyim ve sistem bilgisi olan insanlara büyük teknoloji kararları veriyor.
Bununla birlikte, önemli olan, fonksiyonel spesifikasyonun mermi noktalarının bir listesi olabileceği ve teknoloji spesifikasyonunun genellikle bazı mermi noktaları ve teknoloji yönlendirmeleri olan bir model olacağı, belki bazı durumlarda sadece 3 veya 4 sayfa olacağıdır.
Çevik bir proje yürütürken bile belgeler oluşturuyoruz:
- Tüm belgelerin bir maliyeti vardır.
- Taşınmaya ve kötü tanımlanmış yüksek seviye gereksinimlere karşı geliştirmenin bir maliyeti vardır.
- Yukarıdakilere doğru denge, projenize, kültüre ve insanlara bağlıdır.
- Belgeleme Tam zamanında, belgeler eski.
- Yeterince / yeterince belgelemiyoruz.
- Bu belgeleri korumuyor veya güncellemiyoruz, bunlara fazla çaba sarf etmiyoruz. Küçükler. Onları atmayı umuyoruz.
- Teknoloji kararları, puslu gereksinimler ve mimari gibi büyük bilinmeyenleri ön plana çıkarıyoruz.
- Başlamadan önce ne geliştirdiğimizi biliyoruz.
- Geliştiricilere dokümantasyon hakkında bilinçli kararlar vermeleri ve sorunları tartışmaları konusunda güveniyoruz.
- İletişimin dokümantasyona değer veriyoruz, çünkü ilgili herkesin sık iletişim kurmasını bekliyoruz.
- Sistemleri (genel bakış) geliştirmeden sonra, daha önce değil, sırasında belgeliyoruz.
Çevik sürecimizde küçük bir şelale olduğunu görüyorsunuz.
Yalnız çalışıyorsanız, açık bir model (şema!) Oluşturun ve teknolojiyle oynayın ve seçin ve daha sonra bu üst düzey gereksinimler konseptine sahip olduğunuzda, ilerleyin ve çevik bir yinelemeli şekilde geliştirin, ancak iyi ilkeleri ve tutarlılık ve gittikçe daha az, daha fazla yeniden faktör gerekir.
Ancak genel olarak, gerçek bir maliyet varsa (bir hobi değil) kod yazmadan önce ne geliştirdiğinizi bilin, ancak fikrinizi değiştireceğiniz için gereksiz hale gelecek olan belgeleri yazmak için çok fazla zaman harcamayın ve daha iyi bilgilendirildikçe gelişim sırasında fikrinizi değiştirin. Ve projeniz rotayı büyük ölçüde değiştirebilir, ancak iyi, iyi tanımlanmış bir temelden başlayabilir.