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/

Podobne dokumenty