Şelale ve Çevik için büyük alternatifler var mı? [kapalı]


35

Herhangi biri önemli ölçüde farklı olan herhangi bir metodolojiyi bilen (bir rekombinasyon değil) olup olmadığını merak ediyorum ve özellikle alternatiflerle ilgili herhangi bir deneyim sunan herkesi takdir ediyorum.

Yanıtlar:


47

Wikipedia bunları metodolojiler / geliştirme süreçleri olarak listeler :

  • Çevik - gereksinimlerin ve çözümlerin kendi kendini organize eden, işlevler arası ekipler arasındaki işbirliği ile geliştiği yinelemeli ve artımlı gelişime dayanır.

  • Temiz Oda - Temiz Oda işleminin odağı, arızanın giderilmesi yerine kusurların önlenmesidir.

  • Yinelemeli - şelale modelinin zayıf yönlerine cevap olarak geliştirilen döngüsel bir yazılım geliştirme süreci. Bir ilk planlama ile başlar ve aradaki döngüsel etkileşimlerle konuşlandırma ile sona erer.
    yinelemeli şema

  • RAD - hızlı prototipleme lehine minimal planlama kullanır. RAD kullanılarak geliştirilen yazılımın "planlanması", yazılımı yazarak birleştirilir.

  • RUP - Rational Unified Process (RUP), sürecin uygun öğelerini seçerek tasarlanması amaçlanan uyarlanabilir, yinelemeli bir yazılım geliştirme süreci çerçevesidir.

  • Spiral - yukarıdan aşağıya ve aşağıdan yukarıya konseptlerinin avantajlarını birleştirmek için hem tasarım hem de prototipleme aşamalarını birleştiriyor. Bu geliştirme modeli prototipleme modelinin ve şelale modelinin özelliklerini birleştirmektedir.
    sarmal model diyagramı

  • Şelale - Tasarım, Başlama, Analiz, Tasarım, Yapım, Test ve Bakım aşamaları boyunca sıralı olarak kullanılır.
    şelale diyagramı

  • Yalın - Yalın üretim ve Yalın BT ilkeleri ve uygulamalarının yazılım geliştirme alanına çevrilmesi; müşteriye değer katmayan her şeyin israf olduğu kabul edilir.

  • V-Model - Doğrusal bir şekilde aşağı hareket etmek yerine, işlem adımları tipik V şeklini oluşturmak için kodlama aşamasından sonra yukarı doğru bükülür. V-Model, geliştirme yaşam döngüsünün her aşaması ve bununla ilişkili test aşaması arasındaki ilişkileri gösterir.
    v-model diyagramı

  • TDD - çok kısa bir geliştirme döngüsünün tekrarına dayanır: ilk önce geliştirici, istenen bir iyileştirmeyi veya yeni bir işlevi tanımlayan başarısız otomatik bir test durumu yazar, daha sonra bu testi geçmek için kod üretir ve son olarak da yeni kodu kabul edilebilir standartlara yeniden yansıtır.


Açık ve net bir cevap için teşekkür ederim. O kadar yaşlıyım ki, P.SE’de atılan terimlerin çoğunu hiç duymadım.
Michael Riley - AKA Gunny

7
TDD hariç harika bir liste. Bu bir yaşam döngüsü değil, geliştirme uygulamasıdır.
Michael

18

Kovboy Kodlama

Saf yapılandırılmamış, yönetilmeyen, serbest biçim geliştirme. Son tarihi olmayan ve hatta net bir hedefi olmayan küçük hobi projeleri için faydalı olabilir, ancak muhtemelen şirket ortamında çalışmayacak.


2
yuppi! boom-boom!
mlvljr

3
"büyük olasılıkla şirket ortamında çalışmaz". Seni söylüyor ;)
Bobby Tables

+1 Aaa, harika! Bazen bunu yapmak, ama bu "süreci" :) isim bilmeyen
zzz

yeeee-haw padnah!
ybakos,

Resmi olgun kurumsal ortamlarda doğru. Ancak, küçük işletmelerde "Sadece halletme" zihniyetinin bir kısmı olabilir.
JB King,

4

Spiral Model

Spiral model, yukarıdan aşağıya ve aşağıdan yukarıya konseptlerin avantajlarını birleştirmek amacıyla, hem tasarım hem de aşama aşama prototipleme öğelerini birleştiren bir yazılım geliştirme sürecidir. Ayrıca spiral yaşam döngüsü modeli (veya spiral geliştirme) olarak da bilinir, bilgi teknolojisinde (IT) kullanılan bir sistem geliştirme yöntemidir (SDM). Bu geliştirme modeli prototipleme modelinin ve şelale modelinin özelliklerini birleştirmektedir. Spiral model, büyük, pahalı ve karmaşık projeler için tasarlanmıştır.

- Wikipedia alt metin


1

Plan

Müşteriyle (veya son kullanıcıyla) oturun ve bir dizi kullanım durumu tasarlayın.

tasarlamak

Sistemi birkaç bira ve pizza üzerine kağıt / beyaz tahta üzerine yerleştirin. Bir şey fallik göründüğünde Snicker.

Onaylamak

Tasarımı müşteri (veya son kullanıcı) ile onaylayın ve gereksinimleri dondurun.

kod

Kendini açıklayıcı.


"Dondurma gereklilikleri" hiç olmadığı kadar kolay söylenir.
Justin Schier

1

Bu Şelale argümanı bir süredir etrafta ve çevik düşünce liderleri tarafından daha önce kullanılmış. Şelalenin "gerçekliğine" "kırmızı alarm" olarak da rastladılar.

Bir yazılım geliştirme projesi üzerinde çalışmaya başladığınızda, kullanılan geliştirme metodolojisinin, geliştirilen kodun hızı ve kalitesinde önemli bir rol oynayacağını hızla keşfedersiniz. Çevik metodoloji o kadar yaygın kullanılırsa, avantajlarını anlamanız önemlidir. çevik ve dezavantajları sayesinde proje sunumlarınız için en uygun seçim olup olmadığını belirleyebilirsiniz.

Çevik yazılım geliştirme, yazılım mühendisliği projelerinin üstlenilmesi için kavramsal bir çerçevedir. Çoğu çevik yöntem, genellikle bir ila dört hafta süren yinelemeler olarak adlandırılan kısa zaman kutularında yazılım geliştirerek riski en aza indirmeye çalışır. Her yineleme, kendi başına bir minyatür yazılım projesi gibidir ve yeni işlevsellik mini artışını serbest bırakmak için gerekli tüm görevleri içerir: planlama, ihtiyaç analizi, tasarım, kodlama, test ve dokümantasyon.

Şirket için iyi bir süreçtir çünkü müşteriyi geliştirme sürecine dahil eder ve ürün teslimatından sorumlu tutar. Diğer tarafta ise müşteriler mutlu çünkü ürün geliştirmeye kendileri de katılıyorlar.

Çevik için Demerler:

  • Çevik, programcı merkezli değil, bir kurumda işin nasıl dengeleneceğini belirsiz bırakıyor.
  • Nereye gittiğinizi bilmiyorsanız çevik sizi oraya götüremez!
  • Kesin ihtiyaç olmadan çerçevelerin oluşturulması.
  • Dil özelliklerinin aşırı kullanımı (uygun olmayan şekilde).
  • Test-ilk zihniyeti yok.

AGILE için alternatif olarak işe yarayabilecek ilginç bir metodoloji için bu 3 bağlantı altında en iyi şekilde görülebilir:

Alternatif Çevik Uygulama Olarak Kanban

Kanban yazılım geliştirme

Bulutta yalın yazılım geliştirme


3
Nereye gittiğini bilmiyorsan, Şelale seni oraya götürmez!
Eric Wilson
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.