Na spotkaniu, któregoś dnia ogłoszono, że zwinność była tylko o 60% tak wydajna w czasie rozwoju w porównaniu do wodospadu. Nie chcę weryfikować ani odrzucać tego roszczenia. Interesuje mnie ustalenie, czy były jakieś badania porównujące 2 metodologie.
Czy istnieją jakieś badania porównujące te dwa?
project-management
agile
SoylentGray
źródło
źródło
I refuse to prove that Agile is more efficient,
mówi Bóg,for proof denies faith, and without faith Agile is nothing.
Odpowiedzi:
Książka „Tworzenie oprogramowania: co naprawdę działa i dlaczego w to wierzymy” zawiera kilka rozdziałów na temat metod zwinnych, w tym XP, Scrum, Dynamic Software Development i Lean, z dobrym zapleczem naukowym. Jest wysokiej jakości, jak można oczekiwać od O'Reilly. Jednym z redaktorów był znakomity Greg Wilson , zaufany autor informatyki, redaktor i prezenter.
Sama książka podsumowuje wiele badań, w tym wiele zwinnych. Jedna sekcja podsumowuje badania, w tym „Czy dwie głowy są lepsze niż jedna? Na temat skuteczności programowania par” autorstwa Dybå, T .; Arisholm, E .; Sjøberg, DIK; Hannay, JE; Shull, F .; oraz „ Badania empiryczne dotyczące zwinnego tworzenia oprogramowania: przegląd systematyczny ” Tore Dybå i Torgeir Dingsøyr.
Ogólny sens jest taki, że większość zwinnych praktyk jest korzystna, ale efekty programowania par oraz TDD i innych zwinnych najemców nie są tak silne, jak można by się spodziewać. Istnieje nawet niepokojący przypis, że TDD może być w rzeczywistości uzależniające *.
Książka jest świetnym sposobem na uzyskanie dostępu do wielu badań, które zostały wykonane, a wszystko w jednej spójnej całości. Istnieje kilka blogów i innych witryn w Internecie, które recenzują książkę.
* To niekoniecznie moja opinia!
źródło
Chociaż nie podoba mi się tytuł, uważam, że Równoważenie Zwinności i Dyscypliny: Przewodnik dla Zakłopotanych może zawierać pewne istotne dla Ciebie informacje. Ta książka autorstwa dwóch ekspertów inżynierii oprogramowania i zarządzania projektami - Barry Boehm i Richard Turner. Ta książka analizuje różne aspekty metodologii zwinnej i opartej na planach, porównuje je i porównuje, a także omawia ich integrację w celu osiągnięcia sytuacji „najlepszej z obu światów”.
Załącznik E do Bilansowania Zwinności i Dyscypliny zawiera bogactwo informacji empirycznych dotyczących kosztów i korzyści różnych metod zwinnych i opartych na planach. Wydaje się jednak, że nie ma żadnych danych dotyczących efektywności czasu. Ale przeglądając dane, wydaje się (jak podejrzewałem), że nie jest to żaden wybór - niektóre projekty doświadczyły mniejszego wysiłku, szybszych harmonogramów i mniejszych wad przy stosowaniu zwinnych metod. Jednak inne projekty, które wykorzystały. W tej sekcji omówiono szereg różnych projektów w różnych branżach, rodzaj zastosowanego procesu i to, czego doświadczyli w trakcie realizacji projektu.
Istnieje wiele studiów przypadków cytowanych w załączniku E, które dostarczają tych danych. Jest o wiele za dużo, by zacząć losowo nazywać, ponieważ wielu koncentruje się w konkretnej branży lub nawet w konkretnej organizacji. Jeśli zamierzasz przyjrzeć się przypadkom, proponuję znaleźć te, które mają charakter podobny do twojego zespołu, projektu, organizacji i branży, aby wyciągnąć uzasadnione wnioski.
W Rapid Development: Taming Wild Software Schedules Steve McConnell identyfikuje szereg czynników, które należy wziąć pod uwagę przy wyborze metodologii cyklu życia: poziom zrozumienia wymagań, poziom zrozumienia architektury, pożądana niezawodność, zarządzanie ryzykiem, ograniczenia harmonogramu, ilość procesów koszty ogólne, „korekty kursu” w trakcie realizacji projektu, zdolność zapewnienia klientowi widoczności, zdolność zapewnienia zarządzania widoczności oraz wyrafinowanie zespołu programistów i zarządzania. Są też inne, takie jak kultura organizacyjna, więc prawdopodobnie nigdzie nie ma wyczerpującej listy.
Nawet biorąc pod uwagę dokładnie ten sam projekt, istnieje również czynnik zespołowy. Jeśli weźmiesz zespół, który stale dostarcza oprogramowanie przy użyciu spiralnej metodologii opartej na planie i wrzucisz je do Scruma, doświadczą spadku wydajności, wzrostu thrashingu i będą musieli pokonać nowy model procesu, zanim będą mogli przyjść do osiągnięcia sukcesu. Mimo że inna metodologia może być bardziej odpowiednia, zawsze istnieje potrzeba dostarczenia oprogramowania. Właśnie dlatego wysiłki mające na celu ulepszenie procesów są często działaniami długoterminowymi, a nie z dnia na dzień - poważne zmiany są szokujące dla zespołu i (nawet jeśli metodologia może być lepiej dostosowana na papierze) może spowodować spadek wydajności.
Jest o wiele więcej niż tylko wydajność lub efektywność procesu i nie można po prostu spojrzeć na migawkę tego samego zespołu pracującego w środowisku opartym na planie i środowisku zwinnym. Podejmując decyzję, należy wziąć pod uwagę kontekst przemysłowy i organizacyjny, atrybuty projektu, zespół, klienta i tak dalej.
Na podstawie tego, co przeczytałem, będę musiał się nie zgodzić z oceną twoich współpracowników. Jestem pewien, że możesz znaleźć jakieś studium przypadku, w którym sprawny projekt był o 60% mniej wydajny w odniesieniu do niektórych wskaźników wydajności niż podobny projekt oparty na planie. Istnieją jednak badania, które pokazują, że zwinność daje 80% mniej wysiłku, 50% mniej czasu i wysoką satysfakcję klienta z produktu.
źródło
Nie mam studiów, ale chciałbym przekazać moje doświadczenia.
Skuteczność dowolnej z wymienionych metod zależy w dużej mierze od analityków.
Jeśli masz świetnego właściciela produktu, na przykład SCRUM jest z pewnością szybszy niż podejście do wodospadu ze złą specyfikacją.
Zwinny ze złym właścicielem produktu jest z pewnością wolniejszy niż wodospad o doskonałej specyfikacji.
Jednak często nie znamy dokładnych wymagań wystarczająco wcześnie, a zwinne metodologie mają szybsze cykle sprzężenia zwrotnego. Oznacza to, że w niepewnym terenie zwinny jest lepszą metodą dostarczania produktu wysokiej jakości przy rozsądnych kosztach. Istnieje wiele innych zalet, na przykład zwinne projekty są łatwiejsze do anulowania, gdy nie działają, a tym samym mogą zmniejszyć straty do minimum.
Można powiedzieć, że zwinne metodologie zmniejszają ryzyko, podczas gdy wodospad, nawet jeśli czasami może być szybszy, może być dość ryzykowny.
źródło
Prawdziwe.
Ale to kiepski pomiar.
Metody zwinne zwykle dostarczają rzeczywistą wartość wcześniej.
Wodospad po prostu trzyma się harmonogramu, niezależnie od tego, co zostało dostarczone i często nie przynosi nic wartościowego, dopóki nie upłynie ogromna ilość czasu.
Dalej.
Możesz zmierzyć „czas opracowywania” oddzielnie od „czasu opracowywania i testowania”.
Zwinne zwykle obejmuje testowanie. Więc wydaje się wolniejszy.
Rozwój wodospadu można całkowicie oddzielić od testów. Kod jest więc „gotowy do przetestowania” wcześniej. Ale nie jest to „zrobione” dopiero dużo później.
Więc. Mają całkowitą rację. Za to, co zmierzyli.
źródło