Jestem ciekawy, czy ktoś zna jakiekolwiek metodologie, które są znacząco różne (nie rekombinacja), a szczególnie doceniłbym każdego, kto przedstawił jakieś doświadczenie z alternatywami.
źródło
Jestem ciekawy, czy ktoś zna jakiekolwiek metodologie, które są znacząco różne (nie rekombinacja), a szczególnie doceniłbym każdego, kto przedstawił jakieś doświadczenie z alternatywami.
Wikipedia wymienia je jako metodologie / procesy rozwojowe :
Zwinny - oparty na iteracyjnym i przyrostowym rozwoju, w którym wymagania i rozwiązania ewoluują dzięki współpracy między samoorganizującymi się, wielofunkcyjnymi zespołami.
Cleanroom - proces Cleanroom koncentruje się na zapobieganiu wadom, a nie na ich usuwaniu.
Iteratywny - cykliczny proces tworzenia oprogramowania opracowany w odpowiedzi na słabości modelu kaskadowego. Zaczyna się od wstępnego planowania, a kończy na wdrożeniu z cyklicznymi interakcjami pomiędzy nimi.
RAD - używa minimalnego planowania na rzecz szybkiego prototypowania. „Planowanie” oprogramowania opracowanego przy użyciu RAD przeplata się z pisaniem samego oprogramowania.
RUP - Rational Unified Process (RUP) to adaptowalna platforma iteracyjnego procesu tworzenia oprogramowania, którą należy dostosować, wybierając odpowiednie elementy procesu.
Spirala - łączenie etapów projektowania i prototypowania, aby połączyć zalety koncepcji odgórnych i oddolnych. Ten model rozwoju łączy cechy modelu prototypowego i modelu kaskadowego.
Wodospad - sekwencyjny przez fazy Poczęcia, Inicjacji, Analizy, Projektowania, Budowy, Testowania i Konserwacji.
Lean - tłumaczenie zasad i praktyk Lean Manufacturing oraz Lean IT na domenę tworzenia oprogramowania; wszystko, co nie stanowi wartości dodanej dla klienta, jest uważane za marnotrawstwo.
Model V - Zamiast przesuwać się liniowo, etapy procesu są wyginane w górę po fazie kodowania, aby utworzyć typowy kształt V. Model V pokazuje związki między każdą fazą cyklu rozwojowego a powiązaną z nią fazą testowania.
TDD - polega na powtórzeniu bardzo krótkiego cyklu programowania: najpierw programista pisze nieudaną zautomatyzowaną skrzynkę testową, która definiuje pożądane ulepszenie lub nową funkcję, a następnie tworzy kod do przejścia tego testu i ostatecznie refaktoryzuje nowy kod do akceptowalnych standardów.
Cowboy Coding
Czysty, nieustrukturyzowany, niezarządzany, swobodny rozwój. Może być przydatny w przypadku małych projektów hobbystycznych, którym brakuje terminu lub nawet wyraźnego celu, ale prawdopodobnie nie będzie działać w środowisku korporacyjnym.
źródło
Model spiralny
Model spiralny to proces tworzenia oprogramowania, łączący etapy projektowania i prototypowania w celu połączenia zalet koncepcji odgórnych i oddolnych. Znany również jako spiralny model cyklu życia (lub spiralny rozwój), jest to metoda rozwoju systemów (SDM) stosowana w technologii informatycznej (IT). Ten model rozwoju łączy cechy modelu prototypowego i modelu kaskadowego. Model spiralny jest przeznaczony do dużych, drogich i skomplikowanych projektów.
- Wikipedia
źródło
Plan
Usiądź z klientem (lub użytkownikiem końcowym) i zaprojektuj serię przypadków użycia.
Projekt
Ułóż system na papierze / tablicy na kilku piwach i pizzy. Snicker, gdy coś wygląda fallicznie.
Potwierdzać
Potwierdź projekt za pomocą klienta (lub użytkownika końcowego) i zamroź wymagania.
Kod
Wyjaśniające.
źródło
Ten argument Wodospadu istnieje już od jakiegoś czasu i był używany przez zwinnych liderów myśli na początku. Oni również spotkali „rzeczywistość” wodospadu jako „czerwony alarm”.
Kiedy zaczniesz pracować nad projektem rozwoju oprogramowania, szybko odkryjesz, że zastosowana metodologia programowania będzie miała duży wpływ na szybkość i jakość opracowanego kodu. Ponieważ metodologia Agile jest tak szeroko stosowana, ważne jest, aby zrozumieć zalety i wady zwinności, abyś mógł określić, czy najlepiej pasuje do rezultatów twojego projektu.
Zwinne tworzenie oprogramowania to koncepcyjne ramy dla podejmowania projektów inżynierii oprogramowania. Większość zwinnych metod próbuje zminimalizować ryzyko poprzez tworzenie oprogramowania w krótkich przedziałach czasowych, zwanych iteracjami, które zwykle trwają od jednego do czterech tygodni. Każda iteracja jest jak własny miniaturowy projekt oprogramowania i zawiera wszystkie zadania niezbędne do uwolnienia mini-przyrostu nowej funkcjonalności: planowania, analizy wymagań, projektowania, kodowania, testowania i dokumentacji.
Jest to dobry proces dla firmy, ponieważ obejmuje klienta w procesie rozwoju i czyni go odpowiedzialnym za dostawę produktu. Z drugiej strony klienci są zadowoleni, ponieważ znajdują swój własny udział w rozwoju produktu.
Wady dla Agile:
Cóż za interesującą metodologię, która może działać jako alternatywa dla AGILE, najlepiej można zobaczyć pod tymi 3 linkami:
Kanban jako alternatywna implementacja zwinna
Tworzenie oprogramowania Kanban
Oprzyj się na tworzeniu oprogramowania w chmurze
źródło