Çevik metodoloji nedir? [kapalı]


27

Herhangi biri çevik metodolojiyi basit cümlelerle açıklayabilir mi?


3
üniversitedeki CompSci öğretmenime göre, "şelale metodu, daha hızlı"
Malfist

11
@Malfist, hasarın beyinlerle sınırlı olduğu akademi'de kalacağını ümit edelim ;-)
Steven A. Lowe

@Steven A. Lowe, üzücü olan, ders kitabımızın üçüncü bölümü "Çevik Yazılım Geliştirme" ve hala ne olduğu hakkında hiçbir fikri yok.
Malfist

2
@Malfist 1990'ların ortalarında büyük bir şehirde büyük bir üniversite kampüsünde oldum ve CS Dekanı ile konuşmak için dolaştım. Konuşkan bir havanın içinde ve başındaydı, bu yüzden sanatın durumu ve bunun kolej müfredatına nasıl yansıdığı hakkında biraz konuştuk. Bana "nesne yönelimli programlama sadece bir sorun, burada öğretmiyoruz" dedi. Çok üzgün.
Steven A. Lowe

1
Çevik metodoloji Çin dili gibidir - öğrenene kadar öğrenemezsiniz;)
Job

Yanıtlar:


22

Ç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.


Bu gerçekten doğru cevap değil. Çevik bir metodoloji değil, bir felsefedir.
RibaldEddie

32

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.

dan http://agilemanifesto.org/


1
Elde edilen tek şey, kötü bir süreç görmediğiniz sürece, manifesto'nun sadece adalet yapmamasıdır. Manifesto'nun söylediklerinin gerçekten ne kadar olduğunu anlamak kötülerle kıyaslanır. Yine de, + 1 çünkü bugünlerde çok fazla insan çevik ve Scrum'u karıştırıyor. Ve o zaman bile SCRUM'u Scrum + XP ile karıştırıyorlar.
MIA

2
Çevik bazen kendisiyle çelişebilir. Temel olarak "esnekliğe değer veriyoruz, ancak bu esnekliği elde etmek için gereken araçları ve süreçleri değerlendiriyoruz". İyi, esnek araçlar değişime cevap verebilmek için kesinlikle şarttır. Örneğin, Ruby-on-Rails göçleri, birisinin veri modelinde basit bir değişiklik yapması için bir hafta gerekebilecek, ev yapımı yarı pişmiş ORM sistemine karşı.
kullanici8865

2
"Bireyler ve Etkileşimler" in "Süreçler ve Araçlar" ın yerine nasıl geçebileceğini ya da "Çalışma yazılımı kapsamlı belgelere karşı nasıl olabilir" diye merak ediyorum. Bunların hepsi farklı şeyler ... Boşver, Agile'ye aşık olamadım ve sanırım yapmayacağım.
NoChance

13

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.


6

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.


3

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.


Bugüne kadar soruyu sorduğumdan beri, bu tür şirketlerin bir parçası oldum ve sizinle aynı fikirdeyim.
Chankey Pathak 16:16

Kabul. Birçok insan çevik şeyler yapmak için sadece ucuz bir yoldur.
SmallChess

2

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!


2

Ç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.

  • Sık sık müşteri işbirliğini vurgulamak, kullanıcı geri bildirimi sağlarken, gereksinimlerdeki değişikliklere karşı esnek kalması, ürün geliştirmeye bu geri bildirimi düzenli olarak entegre etmesini sağlar
  • İlgili dağıtım yapılandırmalarına ve ortamlarına sık sık entegrasyon, ürünün değerli ve geri bildirim sağlayan kullanıcılarla alakalı kalmasını sağlamak için hangi yapılandırmaların ve ortamların alakalı kaldığının sürekli olarak belirlenmesiyle birlikte ele alınmaktadır.
  • Kendi kendine organizasyon ve çapraz fonksiyonel ekipleri teşvik etmek, takım içinde kişisel hesap verebilirliği oluşturmak ve ekip içindeki önceden belirlenmiş roller ve yönetim hiyerarşisi tarafından geri alınmadan engellenen yolun en iyi şekilde nasıl kaldırılacağına karar vermek için takımın yetkilendirilmesi konusunda konuşur.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.