Zyski:
- Umiejętność rozróżniania wymagań funkcjonalnych i niefunkcjonalnych oraz pisania jasnych, mierzalnych wyrażeń wymagań przy wsparciu sztucznej inteligencji
- Możliwość wykorzystania sztucznej inteligencji z ustrukturyzowanymi podpowiedziami w celu wyodrębnienia historii użytkownika, kryteriów akceptacji i limitu zakresu z notatek z rozmów kwalifikacyjnych
- Wyrobienie nawyku sprawdzania wymagań generowanych przez sztuczną inteligencję pod kątem niejednoznaczności, sprzeczności i brakujących zasad oraz potwierdzanie ich z interesariuszami
Analiza wymagań to zadanie polegające na zdefiniowaniu w sposób kompletny, jasny i możliwy do sprawdzenia, co system powinien robić. Jest to jeden z etapów, na którym specjalista MIS wytwarza największą wartość; ponieważ błąd tutaj rośnie wykładniczo pod koniec projektu. Istnieją dwa podstawowe typy analizy wymagań. Wymaganie funkcjonalne opisuje zadanie, jakie powinien wykonać system: „System powinien wysłać e-mail do klienta po potwierdzeniu zamówienia”. Wymaganie niefunkcjonalne opisuje, jaki powinien być system: cechy takie jak wydajność, bezpieczeństwo, użyteczność i dostępność. „Ekran raportu powinien otworzyć się w czasie krótszym niż 2 sekundy przy średnim obciążeniu” jest wymaganiem niefunkcjonalnym.
Dobry wymóg ma trzy cechy: jest jasny (ma jedną interpretację), jest mierzalny (posiada testowalny próg) i jest identyfikowalny (jasne jest, z jakiej potrzeby biznesowej wynika). „System musi być szybki” nie spełnia żadnego z nich; „szybko” jest subiektywne, nie można go zmierzyć ani przetestować. Na tym etapie sztuczna inteligencja jest potężną pomocą w opracowywaniu wymagań i wychwytywaniu niejednoznacznych sformułowań; ale tylko interesariusz decyduje, która reguła biznesowa jest prawdziwa.
Historia użytkownika i kryteria akceptacji
Powszechnym formatem współczesnego pisania wymagań jest historia użytkownika: „Jako [rola], dla [celu] chcę [funkcji]”. Przykład: „Jako przedstawiciel handlowy chcę obliczać rabaty na ekranie telefonu komórkowego, aby móc szybko sporządzać wyceny w terenie”. Historia jest krótka i ma charakter biznesowy; Nie narzuca rozwiązań technicznych.
Każda historia powinna mieć kryteria akceptacji: sprawdzalne warunki, które muszą zostać spełnione, aby opowieść została uznana za „ok”. Często stosowanym wzorcem jest wzór „Dano/Kiedy/Wtedy”: „Dano: klient jest w segmencie VIP. Kiedy: zamawia powyżej 10 000 TL. Wtedy: system stosuje rabat 5%.”. Ten wzór eliminuje niejednoznaczność, ponieważ wyraźnie łączy warunek i oczekiwany wynik.
Wskazówka: pisząc historię użytkownika do sztucznej inteligencji, pamiętaj, aby powiedzieć „wygeneruj co najmniej 2 kryteria akceptacji w formacie Podane/Kiedy/Wtedy dla każdej historii”. Kiedy model jest zmuszony do tworzenia punktów odniesienia, widoczne stają się ukryte luki w wymaganiach.
Krok po kroku: wyodrębnianie wymagań wspomaganych sztuczną inteligencją
Krok 1 — Zbierz surowe dane wejściowe. Dzienniki połączeń, e-maile, istniejące zrzuty ekranu, listy skarg. Im bardziej prawdziwy wkład, tym mniej fabrykacji.
Krok 2 — Wyodrębnij pierwszy zestaw historii. Przekaż surowy wkład sztucznej inteligencji i poproś ją o stworzenie wersji roboczych historii użytkownika. Ten krok nie jest pełną listą, ale pierwszym krokiem.
Krok 3 — Dodaj kryteria akceptacji. Wygeneruj kryteria Biorąc/Kiedy/Wtedy dla każdej historii. Historia, dla której nie można stworzyć kryteriów, w rzeczywistości oznacza, że nie jest ona wystarczająco zdefiniowana.
Krok 4 — Skanowanie pod kątem sprzeczności i luk. Zapytaj AI „czy są jakieś sprzeczności, powielenia lub niezdefiniowane sytuacje pomiędzy tymi wymaganiami?” Zapytaj i sprawdź. Przefiltruj wynik jako człowiek.
Krok 5 — Ustal priorytety i potwierdź. Nadawaj priorytety tematom z interesariuszami w oparciu o wartość biznesową i pilność. Decyzja o priorytecie należy do jednostki biznesowej, a nie do sztucznej inteligencji.
Nie zapomnij o wymaganiach niefunkcjonalnych
Większość projektów ma trudności terenowe, gdyż przy pisaniu wymagań funkcjonalnych zapomina się o tych niefunkcjonalnych. Raport może działać „poprawnie”, ale jeśli otwarcie zajmie 45 sekund, nikt z niego nie skorzysta. Poniższa tabela przedstawia często pomijane typy wymagań niefunkcjonalnych i mierzalne przykłady ich zapisu.
Gatunek
złe wyrażenie
wymierny wyraz
Wydajność
„Musi być szybki”
„Odpowiedź na zapytanie < 2 s przy średnim obciążeniu”
dostępność
„Każdy powinien móc z tego korzystać”
„Zgodny z WCAG 2.1 AA; pełna nawigacja za pomocą klawiatury”
Bezpieczeństwo
„To powinno być bezpieczne”
„Dane osobowe są szyfrowane w stanie spoczynku; dostęp jest oparty na rolach”
dostępność
„Powinno być łatwe”
„Nowy użytkownik realizuje zamówienie w 3 krokach bez szkolenia”
Dostępność/ciągłość
„Nie powinien się rozbić”
„Miesięczny czas sprawności ≥ 99,5%”
Trzy mini etui: w liczbach
Przypadek 1 — Cena niemierzalnej potrzeby. Ekran, który został opracowany w banku z wymogiem, że „ekran raportu powinien otwierać się szybko”, otwierał się w 22 sekundy pod obciążeniem terenowym. Deweloper myślał, że podaje w swoim środowisku słowo „szybki” (2 sekundy). Gdyby wymaganie zostało zapisane jako „< 3 sekundy w godzinach szczytu, rzeczywista przepustowość”, problem zostałby wykryty podczas testów. Przebudowa kosztowała 3 tygodnie i wymierne dodatkowe koszty.
Przypadek 2 – Luka uwzględniona w kryteriach akceptacji. Pisząc kryteria akceptacji dla historii „system stosuje rabat” w projekcie e-commerce, interesariusz zauważył, że w ogóle nie było omawiane, co by się stało, gdyby rabat kolidował z kuponem i rabatem VIP. Pojedyncze pytanie „Podane/Kiedy/Wtedy” zapobiegło błędowi podwójnego rabatu przed uruchomieniem; Ten błąd spowodował poważną utratę przychodów w podobnych projektach.
Przypadek 3 — reguła stworzona przez sztuczną inteligencję. W projekcie HR AI dodała do projektu wymagań zdanie „wniosek urlopowy jest automatycznie zatwierdzany w ciągu 24 godzin”. Na spotkaniu nie omawiano takiego automatycznego zatwierdzania; Modelka stworzyła zasadę, która wydawała się „rozsądna”. Przy każdym wymaganiu ekspert wpisuje „źródło: jaki wywiad/dokument?” Dodając kolumnę, usunął 4 zdania bez źródeł.
Słaba podpowiedź/silna podpowiedź
Słaba zachęta:
Napisz historie użytkowników dla tego projektu.
Potężny monit:
Twoja rola: Jesteś analitykiem biznesowym MIS. Wyodrębnij historie użytkowników z poniższej notatki z rozmowy kwalifikacyjnej. Zasady: - Format: „Jako [rola], dla [celu] chcę [funkcji].” - Napisz CO NAJMNIEJ 2 kryteria akceptacji dla każdej historii w formacie Podane/Kiedy/Wtedy. - Dodaj kolumnę „Źródło” obok każdej historii: z jakiego zdania to pochodzi? - Oznacz [NIEPEWNE] każdą regułę, która nie jest jasna w notatce; dopasowanie.- Zapisz mierzalne wymagania niefunkcjonalne (wydajność, bezpieczeństwo, dostępność) w osobnej sekcji. Notatka z wywiadu:[tekst]
Potężny monit wymusza jednocześnie format historii, kryteria akceptacji, identyfikowalność źródła i wymagania niefunkcjonalne; Dzięki temu łatwiej jest kontrolować moc wyjściową.
Cztery szablony do kopiowania
1) Wyjaśnienie wymagań:
Przejrzyj poniższe wymagania. Zaznacz każde stwierdzenie, które jest niejasne, niewspółmierne lub podatne na więcej niż jedną interpretację i napisz do każdego z nich pytanie wyjaśniające. Nie wymyślaj odpowiedzi. Wymaganie: [tekst]
2) Skanowanie sprzeczności:
Na poniższej liście wymagań znajdź elementy, które są ze sobą sprzeczne, powtarzają się lub pozostawiają logiczne luki. Każde ustalenie należy zgłosić, podając numery pozycji i jednozdaniowe uzasadnienie. Lista: [tekst]
3) Generowanie kryteriów akceptacji:
Napisz co najmniej 4 kryteria akceptacji dla poniższej historii użytkownika w formacie Biorąc/Kiedy/Wtedy, włączając przypadki graniczne i wyjątki. Wypisz także wszelkie punkty, które pozostają niejasne. Historia: [tekst]
4) Zarys zakresu:
Przygotuj pozycje „W zakresie” i „Poza zakresem” w formie dwukolumnowej tabeli zgodnie z poniższymi wymaganiami. Etykieta [WYMAGANE POTWIERDZENIE] dla każdego przedmiotu, którego nie jesteś pewien. Wymagania: [tekst]
Typowe błędy
- Myślenie o rozwiązaniu jest potrzebą. „Dodaj menu rozwijane” jest rozwiązaniem, a nie wymogiem. Wymaganie mówi, że „użytkownik musi mieć możliwość wyboru kraju ze zdefiniowanej listy”; Zespół IT projektuje rozwiązanie.
- Pomijanie niefunkcjonalnych. Po prostu spisanie „co robić” i zapomnienie „jak być” (szybkość, bezpieczeństwo, dostępność) to najczęstsza i najdroższa luka.
- Używanie niezmierzonych przymiotników. Słowa takie jak „szybki, łatwy, bezpieczny, przyjazny dla użytkownika” są nieważne bez progu.
- Nie zauważając zasady, którą wymyśliła sztuczna inteligencja. Model może dodać „rozsądne”, ale nie wypowiedziane w rzeczywistości zasady; Poproś o zasoby na każdą potrzebę.
- Pozostawienie priorytetów AI. Najpierw należy podjąć decyzję dotyczącą wartości biznesowej; Jednostka biznesowa to zapewnia.
Uwaga: Najbardziej niebezpiecznym zdaniem w analizie wymagań jest „wszyscy już to wiedzą”. Niewypowiedziane założenia nie trafiają do dokumentacji, nigdy nie trafiają do kodu i pojawiają się w terenie. Zapytaj AI „co jest założone, ale nie zapisane w tym wymaganiu?” sprawia, że te ukryte założenia stają się widoczne.
Podsumowując
Analiza wymagań określa, co system powinien robić w jasny, mierzalny i identyfikowalny sposób. Wymagania funkcjonalne opisują stanowisko pracy, wymagania niefunkcjonalne opisują cechy, o których często się zapomina. Historia użytkownika i kryteria akceptacji Biorąc/Kiedy/Wtedy to potężne narzędzia, które eliminują niepewność. Sztuczna inteligencja znacząco przyspiesza produkcję scenorysów, kryteriów akceptacji, wykrywanie konfliktów i wyjaśnianie pytań; Jednakże za poprawność reguły biznesowej, zakres i priorytet decyzji oraz źródło każdego zdania odpowiada człowiek. Nie finalizuj żadnego wymagania, które nie ma źródła i jest niezmierzalne.
Zadanie aplikacji
Napisz jednoakapitową prośbę biznesową dotyczącą wyimaginowanego „systemu spotkań online” (np. „Klienci powinni mieć możliwość umawiania się na spotkania online, pracownicy powinni mieć możliwość przeglądania kalendarzy”). (1) Utwórz co najmniej 5 historii użytkowników i 2 kryteria akceptacji dla każdej z silną zachętą na podstawie tej prośby. (2) Znajdź co najmniej 2 ukryte luki w kryteriach modelu (np. podwójne spotkanie w tym samym czasie, zasada anulowania). (3) Uwzględnij co najmniej 3 wymagania niefunkcjonalne w mierzalnej formie. (4) Zidentyfikuj co najmniej 3 pozycje jako „Poza zakresem”. (5) Zaznacz regułę, którą model mógł wymyślić i napisz, w jaki sposób byś ją potwierdził.
lista kontrolna
- [ ] Napisałem wymagania funkcjonalne i niefunkcjonalne oddzielnie.
- [ ] Każde wymaganie jest jasne, mierzalne i testowalne.
- [ ] Każda historia ma kryteria akceptacji Podane/Kiedy/Wtedy.
- [ ] Mogę prześledzić źródło (rozmowę/dokument) każdego wymagania.
- [ ] Zaznaczyłem możliwe zasady, które wymyśliła sztuczna inteligencja i zostawiłem je do potwierdzenia.
- [ ] Ustaliłem priorytety wspólnie z jednostką biznesową.