Geliştirme veya yönetim konusunda çevik mi?


9

Scrum'ın neyle ilgili olduğu üzerine bir tartışmada, belki de çevik şeyi tamamen yanlış anladığımı fark ettim. Bana öyle geliyor ki Scrum (kesinlikle Çevik bir süreç olarak kabul edilir) tamamen TDD, çift programlama, CI, yeniden düzenleme ve diğer geliştirici merkezli teknikler ve uygulamalarla ilgisi olmayan özellikleri ve sprintleri ve rolleri yönetmekle ilgilidir ( şimdiye kadar) çevik kalbidir. Şimdi bir zorlukla karşılaşıyorum!

1) Scrum, geliştiricilerin çevik uygulamalar yapıp yapmadıkları konusunda agnostik midir?

2) Scrum'ı otomatik testler kullanmayan bir ekipte uygulayabilir misiniz? yeniden düzenleme yapmaz veya çevik programlama uygulamalarına uymaz mı?

Yanıtlar:


19

Scrum'ın Agile'a eşit olduğunu düşünmek yaygın bir hatadır.

Agile olmak Agile Manifestosu'nun dört ilkesini izlemektedir . Scrum, bu ilkelerle tutarlı bir proje yönetim sürecidir, ancak kendi başına, Çevik değildir. XP (TDD, çift programlama), bu ilkelerle de tutarlı ve Scrum ile tutarlı bir geliştirme sürecidir, ancak Çevik değildir. Sürekli Entegrasyon, Sürekli Teslimat, DevOps, hepsi Agile prensipleriyle uyumludur.

Her şeyden önce ilkeleri takip edin. Bütün bu vızıltılar sadece insanların prensipleri takip etmelerine yardımcı olduğunu buldukları metodolojilerdir. Ancak "Agile olmanın" ana parçası, süreçlerinizi Agile prensiplerini takip etmedikleri zaman, irade ayarlayabilmektir.


3
agilemanifesto.org/principles.html manifesto üzerinde ayrıntılı bilgi verir.

1
@ ashy_32bit: Ekibi ve projeyi bilmeden herkesin cevaplayabileceği bir soru değil. Her takım veya proje Çeviklikten yararlanamaz. Bununla birlikte, Scrum ve CI yapan bir takım üzerinde çalıştım ve başka hiçbir şey (Agile hileler kutusundan) üzerinde çalıştım ve bu durumda bunların hiçbirini yapmamaktan daha iyi çalıştı. Ama zaman içinde Çevikliğimizi geliştirmeye çalıştık.
pdr

1
+1 Teşekkür ederim, beni herkesin çevik olduğunu söylemesi ve scrum anlamına gelmesi beni sinirlendiriyor, bu da gerçek çevik ilkelerin iyiliğini gizlemekle sonuçlanıyor çünkü herkes çevik anlamına gelir günlük standuplar ve sprintler ve manifesto hakkında asla öğrenmez.
Jimmy Hoffa

1
@ ashy_32bit Scrum master'ın iyi bir süreci takip ederek takımın daha titiz ve duygusal olmasına yardımcı olacağını söyleyebilirim, ancak deneyimli XP koçu takımın iyi kod yazarken daha titiz ve etkili olmasına yardımcı olacaktır. Ekibin açıklamasına dayanarak, daha önce hiç test yazmamışlarsa daha iyi kod yazma konusunda yardım alabileceklerini tahmin ediyorum. Muhtemelen çok gevşek bir şekilde kod yazmazlar veya bu durumda tasarım ilkelerine vb. Dikkat etmezler. Varsayımsal ekibiniz de süreçte açıkça kötüdür.
Jimmy Hoffa

1
"Agile" harfinin büyük olması gerektiğini düşünmeyen tek kişi ben miyim? Ben sadece dilbilgisel bilgiç olmakla kalmıyorum - önemli. Çevikliği bir kalite olarak anlayın: eğer ekibiniz çevikse esnek, uyarlanabilir, metodiktir. Her zaman "Agile" hakkında konuştuklarında, sanki uymaları gereken standart bir model veya sürecin adı gibi kafa karışıklığı başlar.
Tim

6

Scrum, geliştiricilerin çevik uygulamalar yapıp yapmadıkları konusunda agnostik midir?

Scrum, bir takımı çevik olmaya teşvik eden bir dizi kılavuzdur.

Scrum'ı otomatik testler kullanmayan bir ekipte uygulayabilir misiniz? yeniden düzenleme yapmaz veya çevik programlama uygulamalarına uymaz mı?

Çok zor, çünkü her sprint sonunda çalışan bir ürününüz olmalı. Çalıştığını kanıtlamak için tam bir manuel regresyon testi yapmanız gerekiyorsa, bu muhtemelen mümkün değildir.


Kısa ve güzel!
Kris Van Bael

5

Alistair Cockburn (Çevik hareketinin yaratıcılarından biri) diyor bu Crystal Clear (onun Çevik metodolojinin bir faset) hakkında:

Crystal Clear Seviye 3 dinleyicisine aşağıdaki kelimelerle açıklanabilir:

“4-6 kişiyi iş istasyonları ve yazı tahtaları bulunan bir odaya koyun ve kullanıcılara erişin. Kullanıcılara bir veya iki ayda bir çalışan, test edilmiş yazılım teslim etmelerini sağlayın ve aksi halde bunları yalnız bırakın. ”

Bu çevik bir tanımdır, kuşkusuz ne yaptığını bilen ve bunu yapmak ve yapmak için güvenilir olan deneyimli geliştirme personeli için. Yani bu demek yapar sahip CI ve TDD ve Pair Programlama ve tüm diğer moda şeyler kullanılır? Basitçe söylemek gerekirse ... Hayır.

Çevik bir dizi süreci takip etmek değil, etkili olmakla ilgilidir. Bunun sizin için anlamı, ekibinize ve nasıl çalıştığına, sizin için yararlı bulduğunuz şeylere bağlıdır. TDD, çalışma kodu üretmenize yardımcı olmazsa, web'de bu konuda bağırıp kullanmayan daha az ışıkları dinlemeyi bırakın! Çift Programlama gerçekten takımınızın odaklanmasına ve işlerini halletmesine yardımcı oluyorsa, zaman kaybı olduğunu söyleyenleri görmezden gelin ve takımınızı okul spor gününde 3 ayaklı bir yarış gibi organize edin.

Yıllar önce çevik yaptım, birçoğu çevik olduğumuzu bile fark etmedik - her ay ürünün tekrarlarını sunduk ve yuvarlak sabitleme hatalarını düzenli olarak ekledik. Bu tür şeyler icat edilmemiş ve yeniden düzenleme kitabı yazılmamış olduğu için kesinlikle sıfır birim testleri yaptık. Yani evet, herhangi bir çevik uygulama olmadan kesinlikle çevik yapabilirsiniz.

Alistair ayrıca Kent Beck şöyle diyor:

XP ve Yazılım Mühendisliği Enstitüsü'nün “Yetenek Olgunluk Modeli” nin beş seviyesi hakkında sorular sordu, XP'nin üç olgunluk seviyesi ile cevap verdi:

  1. Her şeyi yazılı olarak yapın.

  2. Bunu yaptıktan sonra, kurallardaki varyasyonları deneyin.

  3. Sonunda, XP yapıp yapmadığınız umurumda değil.

Sonunda, XP yapıyor olsanız da olmasanız da ... bu tuzağa düşmemenizi hatırlatan akıllıca kelimeler kullanmayın .


Alttaki tuzak komik ve çok doğru. Gülmek için teşekkürler. Ayrıca +1 Daha fazla katılıyorum. Ne yazık ki burada öngörülen tüm teknik, tamamen iyi geliştiricilere (veya en azından iyi olmak isteyenler) sahip olmaya dayanmaktadır. Birçok mühendis, kötü olmak daha kolay olduğunda iyi olmakla ilgilenmez. Aslında bu sadece mühendisler için değil, muhtemelen birçok insan için geçerlidir.
Jimmy Hoffa

0

Scrum, çevik gelişim metodolojisinin amaçlarına ulaşmak için belirli bir model izleyen çevik bir lezzettir. Scrum'ı takip edemez ve çevik olamazsınız, ancak çevik olabilir ve Scrum'ı takip edemezsiniz.

Scrum'ın otomatik testlerin kullanımı üzerinde hiçbir etkisi yoktur, çevik onları tercih etme eğilimindedir, ancak hiçbir şekilde gerekli değildir. Yeniden düzenleme, çevik ve Scrum'da bir hedef olmalı, ancak çoğu zaman göz ardı edilir. refactor için hiç niyeti olmayan gerçekten çevik değildir.


0

Geliştirme veya yönetim konusunda çevik mi?

Agile, esnekliği ve hızlı faz değiştiren pazar gereksinimlerini veya hızlandırılmış teslimat olarak adlandırılan bir dizi yazılım geliştirme uygulamasıdır . Yani büyük bir resimde, işi küçük barışlara bölerek ve 2-4 haftalık hızlı yinelemelerde işlevsellik sağlayarak müşterinin değişen karmaşık gereksinimlerini karşılamak için esnek bir yaklaşımla ilgilidir.

Bununla birlikte, bu esnekliği karşılamak için geliştirme ekibinin Çevik programlama uygulamalarını uygulaması gerekir .

Çevik yazılım geliştirme konusunda Wiki'den açıklama :

Çevik yazılım geliştirme, gereksinimlerin ve çözümlerin kendi kendini organize eden, işlevler arası ekipler arasındaki işbirliği yoluyla geliştiği yinelemeli ve artımlı gelişime dayanan bir grup yazılım geliştirme yöntemidir. Uyarlanabilir planlama, evrimsel gelişim ve sunumu, zamana bağlı yinelemeli bir yaklaşımı teşvik eder ve değişime hızlı ve esnek tepki verilmesini teşvik eder. Geliştirme döngüsü boyunca öngörülen etkileşimleri destekleyen kavramsal bir çerçevedir.

resim açıklamasını buraya girin


0

Infact, scrum'ı yazılım geliştirme ile hiçbir ilgisi olmayan projelerde kullanabilirsiniz. Bu bir proje yönetimi / takım yönetimi yöntemidir.


-2

1) HAYIR !!!! Scrum Çeviktir, yani çevik geliştirme uygulamaları (TDD, çift programlama, CI, yeniden düzenleme vb.) Bir Scrum projesinin tüm yönleri için çok önemlidir. Bu uygulamaları kullanmıyorsanız, takımlarınızın koşu hızını, işi tahmin etmeyi, uygun sürat boyutunu ayarlamayı vb. Anlamanız çok daha zor olacaktır.

2) Evet, Scrum'ı çevik uygulamalara uymayan bir takımda uygulayabilirsiniz, ancak takımın potansiyelini gerçekten sınırladığını hissediyorum. Scrum / Agile'ın bu kadar başarılı olmasının büyük bir kısmı, her sprint'te önden arkaya tam özellikler sunmaya kadar temel olan Agile dev uygulamalarından elde ettiğiniz performans ve kalite kazanımlarıdır.

Grubunuzdaki bir kişi sizi Agile dev uygulamalarının zaman kaybı olduğuna ikna etmeye çalışıyorsa, bu uygulamaların neden Scrum ve Agile ile bir bütün olarak vurgulandığını vurgulamak için biraz zaman harcamanız gerektiğini düşünüyorum. Gerçekten bir fark yaratıyorlar.


1
Lütfen "Scrum / Agile" gibi terimler kullanmayın, bunlar birbirinin yerine kullanılabilir terimlerden çok uzaktır, bence bunu biliyorsunuz ama hala bu şekilde kullandığınızda oldukları fikrini sürdürüyorsunuz.
Jimmy Hoffa

Scrum çeviktir. Küçük harf 'a' ile. Çevik bir sıfattır, bir şeyin adı değil. Bunun dışında bence bu cevap mantıklı.
Tim

2
@ Zaman çevik kelimesi bir sıfattır, ancak bu durumda Agile, agilemanifesto.org'da tanımlandığı gibi "Çevik Yazılım Geliştirme" başlığını ifade eder ve bu nedenle bir sıfat değil, bir isimdir. Scrum'a çevik olarak atıfta bulunan insanlar hakkındaki şikayetim budur, insanlar "Scrum çeviktir" diye düşünürler ve daha sonra bu "Agile" kelimesinin başladığı çevik manifestosu ve "Agile" nin gerçek tanımını asla öğrenmezler. . Sıfat tarafından çevik olarak adlandırılan şeylerden sadece belirsiz, manifesto belirsiz değil, ilkeli ve spesifik.
Jimmy Hoffa
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.