Podstawy zarządzania projektem IT metodyka Agile Robert Smyk
Metodyka Agile Agile zwinny, sprytny Jest metodyką koordynacji projektu IT, ale w ogólności nadaje się zarządzania każdym projektem. Metodyka inaczej: proces; inaczej: sposób realizacji zadania lub organizacji pracy. Nie jest złotą receptą na szybsze tworzenie oprogramowania. ale jedna z zasad głosi, że można tworzyć oprogramowanie w partiach udostępnianych klientowi w krótkich terminach, co w ostatecznym rozrachunku przynosi kluczowe korzyści.
Miara sukcesu Stworzenie oprogramowania? Stworzenie oprogramowania spełniającego wymagania klienta? Stworzenie oprogramowania w wyznaczonym terminie? Stworzenie oprogramowania w ramach budżetu? Stworzenie oprogramowania podniesienie kompetencji zespołu? Stworzenie oprogramowania zapewnienie firmie długotrwałych relacji z klientem?
Badania korzyści metodyki agile; przeprowadzone przez VersionOne na 1700 osobach (71 krajów) wykorzystujących tą metodologię.
Manifest Zwinnego Tworzenia Oprogramowania Wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywamy lepsze sposoby wykonywania tej pracy. W wyniku tych doświadczeń przedkładamy: Ludzi i interakcje ponad procesy i narzędzia. Działające oprogramowanie ponad obszerną dokumentację. Współpracę z klientem ponad formalne ustalenia. Reagowanie na zmiany ponad podążanie za planem. Doceniamy to, co wymieniono po prawej stronie, jednak bardziej cenimy to, co po lewej.
Dostarczaj klientowi elementy projektu co tydzień! You break big problems down into smaller ones. 1. You break big problems down into smaller ones. 2. You focus on the really important stuff and forget every thing else. 3. You make sure that what you are delivering works. 4. You go looking for feedback. 5. You change course when necessary. 6. You become accountable.
Dostarczaj klientowi elementy projektu co tydzień! Tydzień to zwykle zbyt mało na ukończenie jakiegokolwiek przedsięwzięcia Pomysł: skup się na najbardziej istotnym składniku projektu i spróbuj zrealizować tą część możliwie najszybciej Szersza idea: podziel duże zadanie na mniejsze i planuj ich wykonanie w horyzoncie krótkoterminowym
Akceptacja 3 prawd: 1. Nie bój się podjąć wyzwania nawet jeżeli nie wiesz wszystkiego na początku i dostosowywania wymagań do realiów. Trudno jest zebrać wszystkie wymagania funkcjonalne/niefunkcjonalne na początku projektu. Należy zrozumieć, że wymagania kształtują się w procesie realizacji projektu. 2. Nie bój się zmian, zaakceptuj je. Adaptuj plan działania. 3. Nie wpadaj w panikę, gdy zmienią się realia dotyczące czasu oraz kosztów. Gdy zmienia się sytuacja spróbuj wybrać najważniejsze zadania do realizacji i realizuj je.
Skup się na najbardziej istotnych elementach zapomnij o mało ważnych! You focus on the really important stuff and forget every thing else. Większość składników oprogramowania dostarczanych klientowi stanowi bardzo małą lub nie stanowi w ogóle dla niego wartości (na podstawie badań przeprowadzonych przez Standish Group)
Planowanie
Cykl życia projektu - tradycyjny
Nie planuj długoterminowo
Cykl życia projektu - XP
Done means done! Wykonane znaczy wykonane w 100%!
Zespół agile
Zespół agile Role członków zespołu są rozmyte Nie oznacza to, że brak jest podziału obowiązków
Zadania w zespole agile vs. tradycyjnym
What kills most projects
Czego potrzeba? 1) Dyskusji na temat wizji, celów, kontekstu projektu. 2) Dostarczenia zespołowi podstawowych informacji na podstawie których można podjąć decyzje lub ustalić kluczowe elementy realizacji projektu.
Trudne pytania tough questions Jak przeprowadzić dyskusję na temat celów, zakresu i kontekstu projektu? Sformułować odpowiednie pytania i zadać je we właściwym momencie. Jak duże doświadczenie ma mój zespół? Wykonywaliśmy już projekt o podobnym profilu, tematyce? Czy mamy wystarczająco dużo pieniędzy?
Trudne pytania kiedy je postawić?
Trudne pytania inception deck Incepcja zasianie w umyśle Inception deck tablica pomysłów/pytań Tablica 10 pytań które powinny zostać zadane na początku każdego projektu
Inception deck Ask why we are here (Dlaczego podjęliśmy się tego projektu?) Dlaczego tu jesteśmy? Kim są nasi klienci? Dlaczego podjęliśmy decyzje o realizacji tego projektu? Create an elevator pitch (Główne hasło) Jak byśmy określili nasz projekt, jeżeli mieli byśmy wykonać to w 30s i 2 zdaniach? An elevator pitch, elevator speech, or elevator statement is a short summary used to quickly and simply define a person, profession, product, service, organization or event and its value proposition (wiki).
Inception deck Design a product box (Myśl przewodnia) Jeżeli zobaczyli byśmy reklamę naszego produktu w czasopiśmie, co ta reklama by przedstawiała? Czy zdecydowalibyśmy się na zakup produktu? Create a NOT list (Lista tego czego nie chcemy) Utwórz listę zadań pokrewnych, których na pewno nie wykonamy (nie chcemy wykonać) w ramach projektu
Inception deck Meet your neighbors Zwykle komitet projektowy jest większy niż nam się wydaje (przynajmniej w przypadku dużych przedsięwzięć) Zorganizujmy wieczorek zapoznawczy aby zjednać sprzymierzeńców, poznać opinie Show the solution (Pokaż ideę rozwiązania) Narysuj ogólny schemat rozwiązania Daje to przekonanie, że zespół widzi główną ideę tak samo Size it up Określ ramy czasowe
Inception deck Ask what keeps us up at night Określ listę spraw które sieją przerażenie w zespole Be clear on what s going to give (Bądź pewny co jest najważniejsze) Określ co jest teraz najważniejsze dla projektu: czas, zakres, budżet czy może jakość? Show what it s going to take (Czego potrzebujemy do realizacji) Jaki koszt? Jak duży zespół? Jak długo?
PRZYKŁAD
Dla zapewnienia monitorowania aktywności prac na budowie - Większa świadomość pozwala na podejmowanie lepszych decyzji przez zespól - Lepsza równowaga przeciwsił - Lepsze, bardziej trafne rozwiązania
Dla [kierowników budowy] Którzy [musza śledzić jakiego typu prace zostały wykonane] Wykonamy [CSWP*] Który jest [systemem pozwalającym na bezpieczną pracę] Który [automatycznie tworzy, śledzi, zatwierdza zadania które należy wykonywać bezpiecznie] W przeciwieństwie do [obecnego papierowego systemu ewidencji ] Nasz produkt jest [aplikacją webową, która jest dostępna z dowolnego miejsca w dowolnym czasie]
For [target customer] Explains who the project is for or who would benefit from its usage. who [statement of need or opportunity] Expands on the problem or need the customer has to solve. the [product name] Gives life to our project by giving it a name. Names are important because they communicate intent. is a [product category] Explains what this service or product actually is or does.
that [key benefit, compelling reason to buy] Explains why our customer would want to buy this product in the first place. Unlike [primary competitive alternative] Covers why we wouldn t already use what s out there. our product [statement of primary differentiation] Differentiate and explains how our service is different or better than the competing alternatives. This is the big one. It is where we are really justifying the expenditure of money on our project. The two sentences of the elevator pitch beautifully capture everything we need to quickly communicate the essence of our project or idea. They tell us what our product is, who it s for, and why anyone would want to buy it in the first place.
Product box Jak przygotować? Stwórz slogan. Przedstaw cechy produktu w postaci korzyści.
Not list
To co jest ważne, to co jest nie ważne
Meet your neighbors Ktoś kto jest poza zespołem, ale może mi pomóc?
Show your solution
UAT user acceptance testing Size it up
Be clear on what s going to give - kompromisy
Show what s going to take - czas - kost
Tablica pomysłów - podsumowanie Co budujesz i dlaczego? Jakie czynniki przekonują do realizacji projektu? Jakie duże problemy musisz rozwiązać (big rocks)? Kto może być Tobie pomocny/potrzebny? Jak wygląda szkic rozwiązania? Jakie są największe wyzwania oraz co jest najbardziej ryzykowne? Jak duży jest projekt? Gdzie można sobie pozwolić na elastyczność? W przybliżeniu jaki będzie wkład (czas i koszt)?