MSF Microsoft Solution Framework
MSF a PMI PMI - metodyka podobna dla każdego rodzaju projektów MSF metodyka przeznaczona dla projektów informatycznych mająca cechy PMI MSF metodyka utworzona na podstawie projektów Microsoft
Skutki złego zarządzania projektem Przedłużenie czasu trwania projektu: Niecierpliwość (nerwy) udziałowców Niecierpliwość (nerwy) zespołu Zmniejszająca się liczba potencjalnych odbiorców Przekroczenie zasobów finansowych Demotywacja i wypalenie się zespołu
Korzyści płynące z dobrego zarządzania projektem Pomaga w osiągnięciu rozwiązania biznesowego: w określonym czasie przy nie przekraczaniu określonego budżetu; szybciej, wyższej jakości, przy zaangażowaniu mniejszej ilości ludzi, mniejszym ryzyku
Czym jest MSF? Zdefiniowane podejście do tworzenia oprogramowania Zestaw zasad, modeli, przewodników i praktyk (sprawdzonych praktyk) przydatnych do tworzenia oprogramowania
MSF - Podstawowe zasady Wymiana informacji wewnątrz zespołu Wspólna wizja biznesu: Pełna świadomość kierunku biznesu, celu i terminu; Wspólne rozumienie celów projektu i priorytetów Zaangażowanie ludzi w projekt Podzielenie zadań, ustalenie terminów realizacji zadań Ustalenie jasnych zasad odpowiedzialności Jasny podział odpowiedzialności: kto, co, kiedy, dlaczego?
MSF - Podstawowe zasady (2) Nastawienie na dostarczenie wartości biznesowej Nastawienie na zmiany: Np. Reakcja na zmiany wymagań klienta Inwestowanie w jakość Wymiana informacji wewnątrz zespołu Zaangażowanie całej grupy w zarządzaniu ryzykiem Uczenie się z doświadczeń
Role w MSF Program Management Product Management Development User Experience Test Release Management
Charakterystyka ról Założenie równoważności ról Rola to nie osoba!!! Jedna osoba może spełniać kilka ról Jedna rola może być spełniana przez wiele osób Niektórych ról nie powinno się łączyć
Cel: Product management Usatysfakcjonowanie klientów Charakterystyka: Jest adwokatem klienta: przekazuje jego wymagania, odpowiada za komunikację z nim Definiuje wspólną wizję projektu dla klienta i zespołu Odpowiada za osiągnięcie kompromisu pomiędzy oczekiwaniami klienta, terminem realizacji i zasobami projektowymi
Program management Cel: Dostarczenie gotowego produktu z uwzględnieniem przyjętych ograniczeń: czas, zakres, budżet Charakterystyka: Steruje procesem rozwoju oprogramowania Zarządza specyfikacją projektową może być głównym architektem lub kierownikiem produkcji Ułatwia komunikację i negocjacje wewnątrz zespołu Pilnuje terminowości projektu i raportuje o postępach Rozwija, utrzymuje i wprowadza w życie plan i terminarz projektu Zarządza szacowaniem ryzyka projektu Odpowiednik kierownika projektu w znaczeniu PMI
Development Cel: Utworzenie specyfikacji i implementacji produktu Charakterystyka: Specyfikacja funkcjonalności projektu fizycznego Określa czas zakończenia każdej funkcjonalności Tworzy lub nadzoruje tworzenie funkcjonalności Przygotowuje produkt do dystrybucji
Cel: Test Zatwierdzenie produktu do dystrybucji po zidentyfikowaniu i osiągnięciu wszystkich wymagań jakościowych produktu Charakterystyka: Rozwinięcie strategii testowania Prowadzenie testów
Cel: User Experience Dbanie o zadowolenie użytkownika produktu Charakterystyka Jest adwokatem użytkownika Definiuje wymagania z punktu widzenia użytkownika Projektuje i rozwija system wspierania wydajności Rozwija i realizuje szkolenie użytkowników
Cel: Release Management Wdrażanie produktu i związane z tym operacje Charakterystyka: Zarządzanie wdrażanym produktem Logistyczne wsparcie teamu projektowego
Łączenie ról Product Management Program Management Development Test User Experience Release Management Product Management N N P P U Program Management N N U U P Development N N N N N Test P U N P P User Experience P U N P U Release Management U P N P U P Możliwe U Rzadko N Nie rekomendowane
Proces tworzenia oprogramowania Proces tworzenia odbywa się w iteracyjnych cyklach Każdy cykl zawiera 5 faz Każda faza kończona kamieniem milowym Fazy mogą się zazębiać Cykle produkcyjne mogą się zazębiać
Envisioning Fazy w MSF Stworzenie wspólnej wizji produktu Planning Zaplanowanie prac realizowanych w cyklu Developing Implementacja Stabilizing Testowanie Deploying Przygotowanie produktu do udostępnienia
Fazy w MSF Deployment Complete Release Readiness Approved MSF Vision/Scope Approved Scope Completed Project Plans Approved
Kamienie milowe Kamienie milowe to punkty synchronizacji i przeglądu rezultatów Oddzielają poszczególne fazy projektu Dają możliwość dyskusji na temat zakresu projektu, zmian w wymaganiach użytkownika oraz oszacowaniu ryzyka
Ryzyko w MSF Zarządzanie ryzykiem to proces identyfikowania, analizowania oraz adresowania ryzyka proaktywnie, tzn. ryzyko jest przewidywane i definiowany jest proces nim zarządzania Celem zarządzania ryzykiem jest zmaksymalizowanie pozytywnych wpływów (szans) przy jednoczesnym zminimalizowaniu negatywnego wpływów (strat) na projekt Dotyczy ludzi, procesów i elementów technologii Powinno być oszacowywane w każdym punkcie życia projektu Ogólne zasady MSF powinny być stosowane również do zarządzania ryzykiem
Cechy charakterystyczne ryzyka Ryzyko: Opis Przeciwdziałanie Plan awaryjny Odpowiedzialny Okresowa ocena ryzyka: Prawdopodobieństwo wystąpienia Waga Wrażliwość (ang. exposure) = Prawdopodobieństwo * Waga
Ryzyko 1.Identify 2. Analyze and Prioritize 6.Learn 3. Plan and Schedule 5.Control 4. Track and Report
Ryzyko Identyfikacja ryzyka: Uświadomienie o potencjalnych problemach jak najszybciej to możliwe identyfikacja ryzyka jest powtarzana w trakcie całego życia projektu Analiza i ustalanie priorytetów: Transformacja oszacowań i danych o ryzykach do formy umożliwiającej ustalanie priorytetów ryzyka Ustalenie priorytetów ryzyka umożliwia przyznanie zasobów projektowych do najważniejszych rodzajów ryzyka Planowanie i harmonogramowanie Planowanie to tworzenie strategii, planów i akcji zapobiegających występowaniu ryzyka Harmonogramowanie to włączenie tych planów w codzienne zarządzanie procesami projektowymi
Ryzyko Śledzenie zmian (tracking) i raportowanie: Monitoruje status ryzyka i postęp akcji przeciwdziałających Monitoruje prawdopodobieństwo wystąpienia, wagę oraz wrażliwość ryzyka, co może zmienić priorytety ryzyka, cechy projektu lub zasoby Raportowanie zapewnia, że zespół, sponsorzy oraz inni partycypanci są świadomi o statusie ryzyka projektu i planach nim zarządzania Kontrola Proces egzekwowania akcji oraz raportowanie ich statusu Uczenie się Proces polegający na uczeniu się na podstawie ryzyka oraz na zachowywaniu tej wiedzy w formie nadającej się do następnego użycia
MSF w praktyce Nie wszystkie role są równoważne: Wiodąca rola Program Managera Nie wszystkie role formalnie w jednym zespole: Product Manager poza zespołem produkcyjnym Niektóre zadania przydzielane inaczej niż zaleca MSF: Funkcje developera i projektanta
MSF w praktyce cykl produkcyjny Zaburzony cykl produkcyjny: Wydłużona stabilizacja kosztem skróconej do minimum fazy udostępniania Problemy z dotrzymaniem terminów realizacji kamieni milowych: Projektowanie w implementacji Implementacja w stabilizacji Niedotrzymanie założeń MSF dotyczących jakości: Wersja finalna zawierająca znane błędy Beta zawierająca poważne błędy
MSF w praktyce zarządzanie ryzykiem Problemy z dobrą definicją ryzyk: Ryzyka zbyt ogólne lub zbyt szczegółowe Słabe zapobieganie wystąpieniu ryzyka Brak dobrego scenariusza zapobiegania Brak zaangażowania zespołu w zarządzanie ryzykiem Dodatkowy obowiązek Efekt zarządzania ryzykiem dobrze widoczny jest z góry
Co omówiliśmy? MSF co to jest i dlaczego powstał Role w MSF Fazy w MSF Ryzyko w MSF
Dla zainteresowanych MSF: http://msdn.microsoft.com/vstudio/enterprise/msf/