Aşırı Programlama ve SCRUM Arasındaki Fark

Aşırı Programlama ve SCRUM Arasındaki Fark
Aşırı Programlama ve SCRUM Arasındaki Fark

Video: Aşırı Programlama ve SCRUM Arasındaki Fark

Video: Aşırı Programlama ve SCRUM Arasındaki Fark
Video: Hi-fi ses sistemlerinin kalbi: Amplifikatör #hifi #amplifikatör #amfi #audiophile #analogaudioline 2024, Kasım
Anonim

Aşırı Programlama ve SCRUM Karşılaştırması | XP vs SCRUM

Şelale geliştirme yöntemi, V-Model, RUP ve diğer birkaç doğrusal, yinelemeli ve birleştirilmiş doğrusal yinelemeli yöntemler gibi, yazılım endüstrisinde yıllar içinde kullanılan çok sayıda farklı yazılım geliştirme metodolojisi olmuştur. Çevik model (veya daha doğrusu bir metodolojiler grubu), bu geleneksel yazılım geliştirme metodolojilerinde bulunan eksiklikleri gidermek için Çevik manifesto tarafından sunulan daha yeni bir yazılım geliştirme modelidir.

Çevik yöntemler yinelemeli geliştirmeye dayanır ve ana kontrol mekanizması olarak kullanıcılardan gelen geri bildirimleri kullanır. Çevik, geleneksel yöntemlerden daha insan merkezli bir yaklaşım olarak adlandırılabilir. Çevik model, sistemi çok küçük ve yönetilebilir alt parçalara bölerek ürünün çalışan bir sürümünü çok erken sunar, böylece müşteri bazı faydaları erkenden fark edebilir. Agile'ın test çevrim süresi, geleneksel yöntemlere göre nispeten kısadır, çünkü testler geliştirmeye paralel olarak yapılır. Tüm bu avantajlarından dolayı şu anda geleneksel metodolojilere göre Çevik yöntemler tercih edilmektedir. Scrum ve Extreme programlama, Çevik yöntemlerin en popüler varyasyonlarından ikisidir.

SCRUM nedir?

Yukarıda belirtildiği gibi, SCRUM, Çevik yöntemler ailesine ait artımlı ve yinelemeli bir proje yönetim sürecidir. SCRUM, geliştirme döngüsünün başlarında müşteri katılımına yüksek öncelik verilmesine dayanmaktadır. Müşteri tarafından testlerin mümkün olduğunca erken ve sıklıkla dahil edilmesini önerir. Kararlı bir sürüm kullanıma sunulduğunda her noktada test yapılır. SCRUM'un temeli, teste projenin başlangıcından başlayıp projenin sonuna kadar devam etmeye dayanır.

SCRUM'un temel değeri, yazılımın kalitesinin tüm ekibin (sadece test ekibinin değil) sorumluluğunda olduğunu vurgulayan “kalite ekibin sorumluluğudur” dur. SCRUM'un bir diğer önemli yönü, yazılımı daha küçük yönetilebilir parçalara bölmek ve bunları müşteriye çok hızlı bir şekilde teslim etmektir. Çalışan bir ürün sunmak son derece önemlidir. Ardından ekip, yazılımı geliştirmeye ve her büyük adımda sürekli olarak teslim etmeye devam eder. Bu, çok kısa sürüm döngülerine (sprintler denir) sahip olarak ve her döngünün sonunda iyileştirme için geri bildirim alarak elde edilir.

SCRUM, bir geliştirme ekibinin sorunsuz çalışması için birkaç kilit rol tanımlar. Bunlar, Ürün sahibi (müşteriyi temsil eden ve ürün birikimini sürdüren), Scrum master (scrum toplantıları yürüterek, sprint biriktirme listesini ve yakma çizelgelerini sürdürerek ekibin organizatörü ve koordinatörü olarak hareket eden) ve diğer ekip üyeleridir. Bir ekip geleneksel rollerden oluşabilir, ancak çoğunlukla kendi kendini yöneten ekiplerdir. Ana Scrum yapıları, Ürün biriktirme listesi/sürüm biriktirme listesi (istek listesi), Sprint biriktirme listeleri/kusur biriktirme listeleri (her yinelemedeki görevler), Bitiş çizelgeleri (kalan işe karşı tarih). Ana SCRUM törenleri Ürün biriktirme listesi toplantısı, Sprint toplantısı ve Retrospect toplantısıdır.

Aşırı Programlama Nedir?

Extreme Programming (kıs altılmış XP), Çevik modele ait bir yazılım geliştirme metodolojisidir. Aşırı programlama, aşamaları çok küçük sürekli adımlarla gerçekleştirir (geleneksel yöntemlere kıyasla). Yalnızca bir gün veya bir hafta süren ilk geçiş kasıtlı olarak tamamlanmamıştır. Yazılımı geliştirmek için somut hedefler sağlamak için başlangıçta otomatik testler yazılır. Ardından geliştiriciler kodlamayı yapar. Odak noktası, çiftler halinde programlama yapmaktır. Tüm testler geçtiğinde, kodlama tamamlanmış olarak kabul edilir. Bir sonraki aşama, kodun aynı programcılar grubu tarafından yeniden düzenlenmesiyle ilgilenen tasarım ve mimaridir. Bu aşamanın sonunda eksik (ama işlevsel) ürün paydaşlara sunulur. Bundan hemen sonra, bir sonraki aşama (bir sonraki en önemli özellik grubuna odaklanan) başlar.

Ekstrem Programlama ve SCRUM arasındaki fark nedir?

Aşırı Programlama ve SCRUM anlaşılır şekilde birbirine çok benzer ve uyumlu metodolojilerdir. Ancak, bu iki yöntem arasında ince ama önemli farklılıklar vardır. SCRUM sprintleri 2-4 hafta sürer, tipik XP yinelemeleri ise daha kısadır (son 1-2 hafta). Genellikle, SCRUM ekipleri sprintlerde değişikliklere izin vermez, ancak XP ekipleri yinelemelerdeki değişikliklere karşı biraz daha esnektir. Örneğin, sprint planlamasından sonra, o sprintin öğeleri değişmeden kalır, ancak üzerinde çalışmaya başlamamış bir özellik, herhangi bir zamanda XP'deki başka bir özellikle değiştirilebilir. XP ve SCRUM arasındaki diğer bir fark, XP'de geliştirilen özelliklerin sırası müşteri tarafından kesinlikle önceliklendirilirken, SCRUM ekibi öğelerin sırasına karar verir (ürün biriktirme listesi SCRUM'un Ürün sahibi tarafından önceliklendirildikten sonra).

XP'nin aksine, SCRUM herhangi bir mühendislik uygulamasını ortaya koymaz. Örneğin, XP, test odaklı geliştirme (TDD), eşli programlama, yeniden düzenleme vb. uygulamalar tarafından yönlendirilir. Ancak bazıları, kendi kendini organize eden ekipler üzerinde bir dizi uygulamayı zorunlu kılmanın olumsuz bir etkisi olabileceğine inanır ve bu düşünülebilir. XP'nin bir eksikliği. Extreme programlamanın bir başka eksikliği de, deneyimsiz ekiplerin herhangi bir otomatik test veya TDD (veya sadece hack) olmadan yeniden düzenleme yapma eğiliminde olmalarıdır. Bu nedenle, bazıları SCRUM'un başlangıç için daha iyi olduğunu (yalnızca odaklanmış zaman sınırlamalı yinelemeler yoluyla büyük iyileştirmeler sağladığı için) ve XP'nin yukarıda belirtilen uygulamaların değerini keşfeden (sorulduğu için kullanmak yerine) biraz olgun ekipler için uygun olduğunu öne sürüyor. bunu yapmak için).

Önerilen: