analizawymagan, zbieraniewymagan

Opisywanie wymagań funkcjonalnych w sposób niedwuznaczny

Posted by admin

Oprogramowanie które spełnia wymagania ale my jego nie chcemy

Często spotykam się z wymaganiami biznesowymi napisanymi w sposób bardzo dwuznaczny. Czytając treść wymagań dochodzimy do wniosku że na dobrą sprawę możey zrobić coś na 2 sposoby. Programista czytając takie wymaganie może wykonać 2 czynności:

     – stwierdzić że coś jest nie tak i dopytać o szczegóły
     – nic nie stwierdzać tylko zaprogramować wg. swojego punktu widzenia

Jak mamy dobrego programistę to taki programista zada odpowiednie pytania i uratuje nas przed katastrofą w postaci oprogramowania które spełnia wymagania ale na dobrą sprawę my czegoś takiego nie chcemy.

Jakie mamy opcję w takiej sytuacji?

Opcji mamy wiele. W zależności od organizacji stosuje się różne sposoby. Niektórzy idą mocno w prototypowanie(co jest dosyć fajnym sposobem ale niestety czasochłonnym). Inni idą w User Stories które są bardzo fajnym szablonem ponieważ dają nam on informację na temat tego po co mamy coś robić(mityczny cel wdrażania oprogramowania).

Ja proponuję zawsze konstruować zdania w określony sposób. Każde zdanie powinno zawierać pierwszych 5 elementów z poniższej listy. Punkty 6 i 7 są opcjonalne:

1. Wywłanie akcji
2. Obiekt wykonujący reakcję(przeważnie system)
3. Tryb rozkazujacy
4. Czasownik aktywny
5. Obiekt
6. Reguła biznesowa
7. Wynik końcowy

 Jak wygląda takie zdanie zawierające te punkty?

Po przyciśnieciu przycisku start na konsoli X1 [wywołanie akcji] aplikacja szymon[Obiekt wykonujący reakcję] powinna [rozkaz] wyświetlić [czasownik] na ekranie terminala T1 napis „Rozpoczęto generowanie danych” [obiekt]. Rozpoczynając proces przeliczania danych.[Reguła]

Jak wygląda wymaganie dwuznaczne?

Aplikacja wyświetla napis „Rozpoczęto generowanie danych” świadczący o tym że generowanie danych się rozpoczeło.

Kiedy sie zaczyna te generowanie?
Gdzie ma ten napis się wyświetlać?
Jaki jest wynik końcowy? Generowanie danych czy wyświetlanie napisu?

Takie pytania przyszły mi do głowy w ciągu 20 sekund.

Co nam daje stosowanie się do tych reguł? Pewność że napisany tekst jest jednoznaczy(no z tą pewnością bym nie przesadzał. Określmy ją na 85% gdzie bez reguł mamy 50% w postaci albo jest albo nie jest)

SZKOLENIE "Czy zawód Analityk IT jest dla mnie?"

Zapisz się na listę mailową a prześlę za darmo szkolenie Czy zawód Analityk IT jest dla mnie? Co muszę umieć żeby być Analitykiem IT?