it-swarm.dev

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

Herkesin önemli ölçüde farklı olan (rekombinasyon değil) herhangi bir metodoloji bilip bilmediğini merak ediyorum ve özellikle alternatiflerle herhangi bir deneyim getiren herkesi takdir ediyorum.

35
Morgan Herlocker

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

  • Çevik - gereksinimlerin ve çözümlerin kendi kendini düzenleyen, 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 sürecinin odağı, arızanın giderilmesinden ziyade kusur önleme üzerinedir.

  • Yinelemeli - şelale modelinin zayıflıklarına yanıt olarak geliştirilen döngüsel bir yazılım geliştirme süreci. Bir başlangıç ​​planlaması ile başlar ve aradaki döngüsel etkileşimlerle konuşlandırmayla sona erer.
    iterative diagram

  • RAD - hızlı prototipleme lehine minimum planlama kullanır. RAD) kullanılarak geliştirilen yazılımın "planlanması", yazılımın kendisinin yazılmasıyla ayrılır.

  • RUP - Rasyonel Birleşik Süreç (RUP) uyarlanabilir bir yinelemeli yazılım geliştirmedir sürecin uygun unsurları seçilerek uyarlanması amaçlanan süreç çerçevesi.

  • Spiral - yukarıdan aşağıya ve avantajları birleştirmek için hem tasarım hem de aşama aşama prototip unsurlarını birleştirmek aşağıdan yukarıya kavramlar. Bu geliştirme modeli, prototipleme modelinin ve şelale modelinin özelliklerini birleştirir.
    spiral model diagram

  • Şelale - Tasarım, Başlatma, Analiz, Tasarım, Yapım, Test ve Bakım aşamaları boyunca sıralı olarak.
    waterfall diagram

  • Yalın - Yalın üretim ve Yalın BT ilke ve uygulamalarının yazılım geliştirme alanına çevirisi; müşteriye değer katmayan her şey israf olarak kabul edilir.

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

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

49
Peter Boughton

Kovboy Kodlaması

Saf yapılandırılmamış, yönetilmeyen, serbest biçimli geliştirme. Son başvuru tarihi veya net bir hedefi olmayan, ancak büyük olasılıkla şirket ortamında çalışmayan küçük hobi projeleri için yararlı olabilir.

20
Bruce Alderman

Spiral Model

Spiral model, yukarıdan aşağıya ve aşağıdan yukarıya kavramların avantajlarını birleştirmek amacıyla hem tasarım hem de aşama aşama prototip unsurlarını birleştiren bir yazılım geliştirme sürecidir. 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ştirir. Spiral model, büyük, pahalı ve karmaşık projeler için tasarlanmıştır.

- Vikipedi alt text

4
Ryan Hayes

Plan

Müşteriyle (veya son kullanıcıyla) oturup bir dizi kullanım örneği 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ı istemci (veya son kullanıcı) ile onaylayın ve gereksinimleri dondurun.

Kod

Kendini açıklayıcı.

1
Josh K

Bu Şelale argümanı bir süredir ortalıkta ve çevik düşünce liderleri tarafından erkenden kullanılıyor. Onlar da şelalenin “gerçekliği” ile “kırmızı alarm” olarak karşılaştı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ında ve kalitesinde önemli bir rol oynayacağını hızlı bir şekilde keşfedeceksiniz.A Çevik metodoloji çok yaygın olarak kullanıldığından, avantajları anlamanız önemlidir. çeviklik ve dezavantajları sayesinde proje çıktılarınız için en uygun olup olmadığını belirleyebilirsiniz.

Çevik yazılım geliştirme, yazılım mühendisliği projeleri yürütmek için kavramsal bir çerçevedir. Çoğu çevik yöntem, tipik olarak bir ila dört hafta süren yineleme adı verilen 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şlevselliğin 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.

Bu, şirket için iyi bir süreçtir çünkü müşteriyi geliştirme sürecine dahil eder ve ürün teslimatından sorumlu kılar. Diğer tarafta müşteriler, ürünün geliştirilmesinde kendilerine katıldıklarını gördükleri için mutludurlar.

Çeviklik için Zorluklar:

  • Agile çok programcı merkezli ve bir kuruluştaki işin nasıl dengeleneceği belirsiz.
  • Nereye gittiğini bilmiyorsan, Agile seni oraya götürmez!
  • Net ihtiyaçlara sahip olmayan çerçevelerin oluşturulması.
  • Dil özelliklerinin aşırı kullanımı (uygunsuz).
  • İlk test zihniyeti yok.

Peki AGILE için bir alternatif olarak işe yarayabilir ilginç bir yöntem için en iyi şu 3 bağlantı altında görülebilir:

Alternatif Çevik Uygulama Olarak Kanban

Kanban yazılım geliştirme

Bulut üzerinde yalın yazılım geliştirme

1
Tony