Herhangi biri çevik metodolojiyi basit cümlelerle açıklayabilir mi?
Herhangi biri çevik metodolojiyi basit cümlelerle açıklayabilir mi?
Yanıtlar:
Çevik birçok şey ve pratiktir, ama bence asıl sadece yinelemeli gelişmedir.
Yinelemeli: Bir sürü küçük şelaleyi düşünün. Diğer bir deyişle, şelale yöntemi (gereksinimler-> spec-> kod-> test), ancak bunu bir yıl veya daha uzun bir süre boyunca yapmak yerine, genel olarak yönetilebilir bir yığın için birkaç hafta boyunca yaparsınız. projesi. 'Yineleme / sprint / artış' sonunda, küçük ama eksiksiz ve test edilmiş bir ek işlevsellik setine sahipsiniz.
Bu, yaptığınız işin müşterinin istediği ya da işin değişmesi ya da her neyse ne olduğu ortaya çıkarsa, proje sürecini hızla değiştirmenize olanak sağlar. Bu nedenle "çevik" terimi.
Bence hiçbir şey Çevik Manifesto'dan daha iyi koyamaz:
Bunu
yaparak ve başkalarına da yardımcı olarak yazılım geliştirmenin daha iyi yollarını açığa çıkarıyoruz .
Bu çalışma sayesinde değere ulaştık:
Bireyler ve etkileşimler süreçleri üzerinde ve araçları
yazılım Çalışma kapsamlı dokümantasyon üzerinde
Müşteri işbirliği sözleşme müzakere üzerinde
yanıt değiştirmek için bir plan aşağıdaki üzerine
Yani,
sağdaki öğelerde değer varken , soldaki öğelere daha çok değer veriyoruz.
Bana göre en önemli fikir şudur:
Gereksinimler değişiklikleri gerçekleşecek çünkü neye ihtiyaç duyulduğunun bilincinde (projenin başlangıcı) yazılımın tasarımını yapmak zorunda kalıyoruz ve gereksinimler ancak proje süresince daha net bir şekilde anlaşılacak.
Geleneksel (Şelale) yaklaşımları , projenin başlangıcındaki herkesi kapsamlı özelliklere imza atarak bir sözleşmeye kilitleyerek bu değişikliği azaltmaya çalışmaktadır. Bu bir CYA olarak işe yarayabilir, ancak özellikle itirazları "Peki bunu yaptınız!" İle karşılandığında, kullanıcıların ihtiyaçlarını karşılamayan bir şey sunmaktan kimseyi mutlu etmez.
Çevik Yöntemler , geliştirme ekibini onlardan korumak yerine kaçınılmaz değişiklikleri benimsemek için tasarlanmıştır. Bunu çeşitli şekillerde yapar, aralarındaki şef yinelemeli gelişmedir ve sürece paydaşların sürekli katılımıdır. Tecrübelerime göre, sonunda herkesin daha mutlu olmasını sağlar, ancak sert planlamacılar olan bazı yönetim türleri için daha rahatsız edici olabilir.
Bir cümlede bu şöyle görünür:
Çevik yazılım geliştirme, gereksinimlerin ve çözümlerin kendi kendini düzenleyen, çapraz işlevli ekipler arasındaki işbirliği ile geliştiği yinelemeli ve artımlı gelişime dayanan bir grup yazılım geliştirme metodolojisidir .
Bu, wikipedia tanımından geliyor ve ben onu çok seviyorum. Temel prensipleri vurguladım.
Sadece Çevik DEĞİL olanı da eklemek isterim. Dışarıda Çevik olduğunu iddia eden birçok dükkan var ancak bir şekilde projelerini planlamakla ilgilenmediklerini ve makul olmayan kısa bir sürede yapılması gerekenleri bekledikleri anlamına geliyor.
Çevik! = Proje planı yok. Bu açıklamanın yanlış olduğunu düşünen insanlarla baş etmek zordur, çünkü bunlar yönetim türleri olma eğilimindedir ve her zaman çelişmesi kolay değildir.
Andy zaten hakkında olduğunu düşündüğüm Çevik Manifesto ile zaten bağlantı kurdu.
Agile Manifestosu'nun nereden geldiğine bakmak yararlı olur. Orada bazı ortak unsurlar ve pek çok benzer motivasyonu olan birkaç metodoloji vardı: Extreme Programlama (XP), Scrum, DSDM, Uyarlanabilir Yazılım Geliştirme, Kristal, Özellik Odaklı Geliştirme, Pragmatik Programlama ( Alistair Cockburn'ün listesi ). Bu metodolojileri öneren insanlar ortak söylediklerini kapsayan bir pazarlama terimi bulmaya karar verdiler, böylece söylediklerinin gücü artacaktı.
İlginç bir şekilde (birinin bana söylediklerine göre) kısa listede “Çevik” yerine seçilebilecek bir dizi isim vardı - bunlardan biri “Uyarlanabilir”. Şahsen, çevikliğin aslında "çevik" ten daha iyi olduğunu özetleyen tek bir kelime olarak düşünüyorum!
Çevik bir metodoloji kullanmak, kaliteli ürünlerin, ürün geliştirmenin diğer yönlerine göre dağıtımını vurgulamak ve kullanıcı topluluğunun geri bildiriminin, kaliteli ürünler yaratmanın hayati bir parçası olduğunun farkına varmaktan ibarettir.
Uygulamanın önünü kaldırırken ve ürünü geliştirme aşamasından yayınlanmaya dönüştürürken, ön tasarımı, dokümantasyonu ve arayüz tanımını vurgulayan geleneksel / şelale geliştirme yaklaşımına zıt olarak bakın.
Bence bir ekibin bir ürüne dahil edebileceği içsel bir kalite var, bunu bir ürünün geliştirme ekibi olarak işlev gördüğünü ve öngörülebilir geliştirmeleri makul şekilde barındırabildiğini doğrulamak şeklinde görüyorum. Tamamen, bir ürünün kullanıcılarının ihtiyaçlarını ne kadar iyi karşıladığını ölçen algılamaya dayalı kalite faktörleri de vardır.
Çevik yaklaşımlar ürünlerini teslim etmek eğilimindedir iteratif her yineleme içine kullanıcı geribildirim ve geliştirici görüşlerini uygulamaya, ve teşvik teslim ulaştığı zaman işlevsellik her artışı asgari uygulanabilirliğini ortaya çıkarma zorlama fonksiyonu olarak sık kullanıcı geri bildirimleri ve için gitmek için geliştirme faaliyetlerinin eğilimine karşı kullanıcılarından geri bildirim almaksızın uzatılmış süreler. Aklıma göre, çevik yaklaşımların diğer yönleri bu kilit ilkeleri destekleme eğilimindedir.