Inżynieria Oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki
J. Nawrocki, Inżynieria Oprogr. WstępWstęp Komputery lampowe Tranzystory i przetwarzanie wsadowe Systemy wielodostępne Era komputerów osobistych Historia informatyki A gdzie mój PC? ???
J. Nawrocki, Inżynieria Oprogr. WstępWstęp LOOPLOOP Syndrom LOOP ate (późno) oor quality (kiepska jakość) ver budget (przekroczony budżet) vertime (nadgodziny) Loop
J. Nawrocki, Inżynieria Oprogr. Assessor Good guys WstępWstęp ISO 9000 Crite- ria Bad guys
J. Nawrocki, Inżynieria Oprogr. WstępWstęp CMM Departament Obrony USA SEI, Carnegie-Mellon Univ CMMI: grudzień, 2000 CMM – Capability Maturity Model
J. Nawrocki, Inżynieria Oprogr. WstępWstęp
WstępWstęp Deklaracje dla CMM Poziom 2 software requirements management planning (software life cycle) managing a software project managing a software subcontract software quality assurance software configuration management
J. Nawrocki, Inżynieria Oprogr. WstępWstęp Procedury dla CMM Poziom 2 reviewing external commitments developing an SDP estimating size, effort, cost, critical computer resources, and schedule making revisions to the SDP reviewing a project at milestones planning SQA activities dealing with deviations in activities & products
J. Nawrocki, Inżynieria Oprogr. WstępWstęp Problemy Za dużo papierów! Za dużo spotkań!
J. Nawrocki, Inżynieria Oprogr. WstępWstęp Nie łatwo być reformatorem... nie ma nic bardziej trudnego do przeprowadzenia, bardziej wątpliwego w osiągnięciu sukcesu i bardziej niebezpiecznego do zapanowania niż zainicjowanie nowego porządku rzeczy... Niccolo M
J. Nawrocki, Inżynieria Oprogr. WstępWstęp
WstępWstęp
XP Zbawca WstępWstęp Najważniejsza komunikacja ustna. Jedyne artefakty: kod + testy IEEE/ANSI standard 830/1993? Zbędny! Inspekcje Fagana? Zbędne! Punkty funkcyjne? Zbędne! Żadnych nadgodzin! Zawsze to mówiłem!
J. Nawrocki, Inżynieria Oprogr. Plan wykładu Relacje z klientem Zapewnianie jakości Programowanie parami Podsumowanie
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Nie musisz być wydajny, byłeś był skuteczny Bądź proaktywny (odpowiedzialny) Klient powinien cały czas pracować z zespołem Uczyń klienta swoim przywódcą (co robić ważniejsze niż jak robić) Zadbaj o efektywną współpracę
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Stosuj częste, krótkie wydania Każde wydanie podziel na przyrosty
J. Nawrocki, Inżynieria Oprogr. Elaboration iteration 2 Przyrost Relacje z klientem Struktura przyrostu wg RUP Requirements Analysis Design Coding, Unit Testing Subsystem & System Test
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Znajdź metaforę dla systemuZnajdź metaforę dla systemu Oprzyj inżynierię wymagań na opowieściach użytkownikaOprzyj inżynierię wymagań na opowieściach użytkownika
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Opowieści użytkownika Date: Type of activity: New: X Fix:__ Enhance:__ Story number: 23 STORY DESCRIPTION: When the COLA rate changes in the middle of the BIW Pay Period, we will want to pay the 1st week of the period at the old COLA rate, and the 2nd week of the Pay Period at the NEW COLA rate. Should occur automatically based on the system design. NOTES:
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Stosuj grę planistyczną Aby rzeczy pierwsze były pierwsze – S. Covey
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Minimalna inwestycja. Minimalny czas realizacji. Najbardziej wartościowe funkcje. Gra planistyczna - strategia
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Faza eksploracji Write a story It was not OK. Estimate a story (Ideal Eng. Time) It was not OK. Split a story It was not OK.
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Faza zobowiązań Sort by value: necessary important optional Sort by risk: predictable more or less unpredictable Set velocity: IET / calendar month Choose scope
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Przyrosty (2 weeks) Trudności (Development) Nowe funkcje (Business) Re-estymacja (Development) Faza realizacji
J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Mierz prędkość projektu (IET/tydzień) Eksperymentuj by zmniejszyć ryzyko Nie poszerzaj funkcjonalności zbyt wcześnie Wciąż tworzę dzieła wiekopomne, O których jutro... sam zapomnę.
J. Nawrocki, Inżynieria Oprogr. Plan wykładu Relacje z klientem Zapewnianie jakości Programowanie parami Podsumowanie
J. Nawrocki, Inżynieria Oprogr. Zapewnianie jakości Dbaj o prostotę Co pewien czas dokonuj refaktoryzacji Unikaj optymalizacji Dla każdej jednostki kodu opracuj zestaw testów
J. Nawrocki, Inżynieria Oprogr. Zapewnianie jakości Kod musi przejść wszystkie testy jednostkowe zanim przekażesz go do eksploatacji Dla każdego wykrytego błędu utwórz zestaw testów Często integruj kod Często wykonuj testy akceptacyjne i publikuj ich wyniki
J. Nawrocki, Inżynieria Oprogr. Plan wykładu Relacje z klientem Zapewnianie jakości Programowanie parami Podsumowanie