Rapid development jest metodą rozwoju aplikacji polegającą na prototypowaniu rozwiązań oraz stałym, szybkim feedbacku z mniejszym naciskiem na precyzyjne planowanie. Podejście to kładzie większy nacisk na rozwoju aplikacji tak, by kluczowe funkcje i moduły spełniały swoje funkcje tak szybko, jak to tylko możliwe.
Spis treści
Dlaczego warto stosować Rapid Development?
RAD jest najlepszym podejściem do szybkiego tworzenia prototypów w celu testowania funkcjonalności oprogramowania bez obawy o jakikolwiek wpływ na produkt końcowy. Firmy wybierają podejście RAD, ponieważ wymaga ono niewielkiej koncentracji na fazie planowania, umożliwiając jednocześnie zespołowi szybkie projektowanie, ocenę i iteracyjne wdrożenia kolejnych funkcjonalności.
Kluczowe kroki w Rapid Application Developmencie
Zasadniczo, proces Rapid Developmentu składa się z kilku podstawowych kroków. Są nimi:
Definiowanie wymagań
W odróżnieniu od "tradycyjnego podejścia", Rapid development nie wymaga warsztatów projektowych z klientem, podczas których tworzona jest precyzyjna lista wymagań. Zamiast tego, programiści oczekują ogólnego opisu wymagań, a doprecyzowują je sukcesywnie, w miarę rozwoju projektu.
Prototypowanie
Na tym etapie programiści, zamiast podążać za sztywno określonymi wymaganiami, skupiają się na dostarczaniu prototypów kolejnych funkcji tak szybko, jak to tylko możliwe. Efekty prac prezentowane są klientom, których zadaniem jest weryfikacja prototypów oraz decyzja, co akceptujemy dokładnie w takiej postaci, jak została dostarczona a co wymaga usprawnień.
Przeważnie prototypy są jedynie zalążkiem ostatecznego kształtu modułu, który dopracowany jest dopiero na etapie finalizacji.
Budowa / finalizacja
Jest to kluczowy etap całego procesu, podczas którego projektanci i programiści współpracują ściśle aby stworzyć produkt dokładnie tak, jak oczekuje tego Klient. To na tym etapie kluczowe stają się: rozwiązywanie konkretnych problemów, opinie dotyczące poszczególnych funkcji, proponowanie lepszych rozwiązań.
Etap ten może trwać szczególnie długo - zwłaszcza wtedy, gdy klienci decydują o pivotach lub gdy feedback dotyczący wdrożenia jest obszerny.
Publikacja
Ostatnim etapem RAD jest wdrożenie zbudowanego systemu do środowiska produkcyjnego. Faza wdrożenia obejmuje intensywne testy obciążeniowe, dokumentację techniczną, wykrywanie problemów, ostateczne dostosowanie i symulację systemu. Zespoły spędzają również czas na debugowaniu aplikacji i przeprowadzaniu ostatecznych aktualizacji i zadań konserwacyjnych przed uruchomieniem.
Wady i zalety Rapid Developmentu
Zalety Rapid Developmentu | Wady Rapid Developmentu |
---|---|
Wymagania mogą być zmieniane w dowolnym momencie | Wymaga silnej współpracy zespołu |
Kładzie nacisk na feedback od klienta | Niezbyt skuteczny w realizacji projektów w dużych zespołach |
Szybka weryfikacja realizacji prototypów | Wymaga pracy programistów o wysokich umiejętnościach |
Czas developmentu jest znacząco skrócony | Bazuje na stale dostarczanych wymaganiach biznesowych przez cały cykl wdrożenia produktu |
Więcej produktywności przy mniejszej liczbie osób | Skierowany głównie do projektów, które nie mają wiele czasu na wdrożenie |
Czas pomiędzy dostarczaniem prototypu i iteracjami usprawniającymi jest bardzo krótki | Bardziej skomplikowany model do zarządzania w porównaniu z innymi modelami |
Rapid development kontra inne modele rozwoju oprogramowania
W porównaniu z innymi metodologiami tworzaenia oprogramowania, Rapid Development znacząco się wyróżnia. Głównym wyróżnikiem jest szybkość rozwoju aplikacji, która stanowi oś tworzenia projektu. Pozostałe metodologie koncentrują się na dostarczeniu kompletnego, działającego produktu do Klienta - wedle z góry założonej specyfikacji.
RAD | Waterfall | Agile |
---|---|---|
Tworzy funkcjonalny, działający model aplikacji w najszybszy możliwy sposób | Kładzie nacisk na intensywne planowanie i realizację wyznaczonych celów | Buduje aplikację poprzez rozbicie dużych celów ogólnych na mniejsze "sprinty" |
Idealne do projektów wymagających bardzo krótkiego czasu wdrożenia | Projekty są dokładnie planowane, a ich realizacja jest zazwyczaj czasochłonna | Wspiera rozwój projektów poprzez cykliczne kamienie milowe lub "sprinty" |
Umożliwia dostosowanie się do zmieniających się wymagań | Nie przewiduje zmian jeśli planowanie zostało zakończone | Umożliwia stosunkowo proste dostosowanie do zmian nawet na późniejszych etapach |
Angażuje klientów w cały cykl developmentu | Angażuje klientów jedynie na etapie planowania | Angażuje klientów w cały cykl developmentu |
Przedkłada funkcjonalność ponad aspekty UI/UX | Wymaga omówienia wszelkich aspektów aplikacji jeszcze przed rozpoczęciem wdrożenia | Kładzie większy nacisk na UI/UX niż na funkcjonalność |
Kiedy stosować Rapid Application Development?
Jeśli możesz wiarygodnie przetestować swój prototyp
Jeśli posiadasz grupę użytkowników, którzy mogą dać spójny i wiarygodny feedback na temat prototypów, które tworzysz, to rapid development jest świetnym modelem wdrożenia. Prototypy budowane w ramach rapid developmentu zależą od informacji zwrotnych z poprzednich iteracji, więc wiarygodne informacje zwrotne z wiarygodnych źródeł mogą być niezwykle pomocne.
Kiedy masz odpowiedni budżet
Praca w ramach modelu rapid development wymaga zatrudnienia specjalistów - osób, które potrafią same wziąć odpowiedzialność za rozwiązania, które wdrażają. Takie umiejętności są kluczowym czynnikiem w kwestii ustalania wynagrodzenia za wykonywaną pracę dlatego też w zamian za bardzo szybkie dostarczenie produktu końcowego, należy liczyć się z odpowiednio wyższą wyceną wdrożenia.
Gdy zależy Ci na szybkim wdrożeniu projektu
Jeśli masz narzucony bardzo krótki termin realizacji projektu, rapid development będzie najlepszym podejściem. Dostarczanie realnej wartości projektu pod presją upływającego czasu jest czynnikiem, który niemal natychmiast powinien skierować uwagę właścicieli projektu na RAD. Rapid development dzieje się "na bieżąco" - tu i teraz, co ma kluczowe znaczenie dla szybkich wdrożeń gdzie z dnia na dzień zmianie mogą ulec kluczowe założenia.
Case study Rapid Developmentu - system szkoleniowy ELPRO
We współpracy z jednym z naszych pierwszych klientów, firmą ELPRO, zastosowaliśmy Rapid Development podczas wdrożenia nowego systemu szkoleniowego. Znając pierwotny, ogólny zarys aplikacji, sukcesywnie dostarczaliśmy (i nadal dostarczamy) kolejne moduły systemu. Na każdym etapie współpracy, dopiero po dostarczeniu prototypu modułu rozpoczynamy prace nad dopracowywaniem szczegółów. Nie do przecenienia jest tutaj współpraca z samym Klientem, który rozumiał, jak wiele zależy od ich feedbacku i, dając nam swobodę działania, wracał jednocześnie z cennym feedbackiem. Dzięki takiemu podejściu, zrealizowaliśmy prototyp kompleksowego systemu zapisów i obsługi szkoleń w 5 miesięcy od rozpoczęcia współpracy!