Microsoft Solution Framework
Transkrypt
Microsoft Solution Framework
MSF Microsoft Solution Framework 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ć Product management • Cel: – 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 Test • Cel: – Zatwierdzenie produktu do dystrybucji po zidentyfikowaniu i osiągnięciu wszystkich wymagań jakościowych produktu • Charakterystyka: – Rozwinięcie strategii testowania – Prowadzenie testów User Experience • Cel: – 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 Release Management • Cel: – Wdrażanie produktu i związane z tym operacje • Charakterystyka: – Zarządzanie wdrażanym produktem – Logistyczne wsparcie teamu projektowego Łączenie ról Product Management Product Management Program Management Development Test User Experience Release Management N N P P U N U U P N N P N P U Program Management N Development User Experience N P P N U U N N P Release Management U P N P Test P Możliwe U Rzadko N Nie rekomendowane U 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ć Fazy w MSF • Envisioning – 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 Vision/Scope Approved MSF 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 6.Learn 5.Control 2. Analyze and Prioritize 3. Plan and Schedule 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/