# Analiza i specyfikacja wymagań

## Specyfikacja wymagań

Jeżeli funkcje nowej aplikacji/serwisu stron WWW/rozwiązania są w pełni określone, a wymagania kompletne wówczas analityk wspólnie z klientem opracowuje specyfikację wymagań.&#x20;

Jeżeli jest możliwe (lub konieczne) opracowanie pełnej specyfikacji wymagań to projekt może zostać zrealizowany z pomocą metodyk klasycznych (waterfall).

## WIZJA

* opisuje stan rozwiązania, które zostanie opracowane.&#x20;
* odzwierciedla potrzeby interesariuszy, a także funkcje i cechy niezbędne dla realizacji tych potrzeb.&#x20;
* odnosi się do stanu docelowego, ale jest osiągalna w określonym czasie.&#x20;
* motywuje i angażuje poprzez odwołanie do celów strategicznych biznesu i aspiracji zespołów.

{% hint style="info" %}
Ludzie w pracy potrzebują kontekstu, pragnąc zrozumieć do czego wnoszą wkład jako większej całości&#x20;

Daniel Pink
{% endhint %}

### Kartka z przyszłości

![](https://1980605741-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQ6ZGAlGwo6G__WwX4E%2F-MQWUxvMSwgvOezzitDZ%2F-MQWv9rN8wPAlKiAATYn%2F2021-01-08%2013_15_37-prezentacja.pdf%20-%20Adobe%20Acrobat%20Reader%20DC.jpg?alt=media\&token=ccfb2fe2-64c6-419a-97be-775edf3152ad)

## Perspektywy analizy wymagań - oprogramowanie&#x20;

* Zakres funkcji systemu (problemy, które chcemy rozwiązać),&#x20;
* Architektura systemu,&#x20;
* Technologie IT wykorzystane w projekcie (systemy operacyjne, bazy danych, języki programowania, dodatkowe narzędzia i biblioteki),&#x20;
* Mechanizmy wymiany/przesyłania danych,&#x20;
* Etapy realizacji systemu,&#x20;
* Zasoby ludzkie niezbędne do zaprojektowania, wytworzenia, wdrożenia i utrzymania systemu,&#x20;
* Interesariusze projektu,&#x20;
* Czynniki ryzyka mające wpływ na projekt,&#x20;
* Infrastruktura niezbędna do działania systemu,  Wymagania niefunkcjonalne (np. odnoszące się do jakości, intuicyjności, stabilności, wydajności, bezpieczeństwa, itp.),&#x20;
* Możliwe alternatywy dla przyjętych założeń,&#x20;
* Inne – istotne dla projektu.

## Planowanie projektu – mapa drogowa projektu

Aby zrealizować produkt zgodny ze zdefiniowaną wizją należy wydzielić podsystemy lub wskazać kluczowe obszary funkcjonalne.&#x20;

Definiując możliwości (grupy funkcjonalne) należy pamiętać, że muszą one służyć wizji.&#x20;

Mapa drogowa projektu powstaje poprzez zebranie cech i pogrupowanie ich w tzw. Program Increment (PI). Program Increment trwa 5 Sprintów.

## Program Increment  - PRZYKŁAD

![](https://1980605741-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQ6ZGAlGwo6G__WwX4E%2F-MQWUxvMSwgvOezzitDZ%2F-MQWzv0YzjFvEglcURwb%2F2021-01-08%2013_36_18-prezentacja.pdf%20-%20Adobe%20Acrobat%20Reader%20DC.jpg?alt=media\&token=f3392a00-7ad0-4a85-b3e1-25fac7281e47)

### Perspektywy analizy:&#x20;

#### Wymagania funkcjonalne&#x20;

* Jakie funkcje powinno realizować nasze rozwiązanie?&#x20;

Dla swojej mapy myśli sprawdź, czy funkcjonalności zostały zebrane w grupy funkcji. Funkcjonalności decydują o algorytmach przetwarzania danych.

#### Wymagania niefunkcjonalne&#x20;

Jakie cechy powinno mieć projektowane rozwiązanie?&#x20;

<https://en.wikipedia.org/wiki/Non-functional_requirement>&#x20;

Dla swojej mapy myśli sprawdź, czy zostały określone grupy wymagań niefunkcjonalnych. Wymagania niefunkcjonalne decydują o architekturze rozwiązania.

#### Program Increment – 10 najważniejszych funkcji&#x20;

Aby ustalić priorytety, zespół odpowiedzialny za zarządzanie produktem nadaje priorytety (np. [MoSCoW ](https://magdalenaolak.gitbook.io/istqb-w-pigulce/metody-wytorcze/metody-wytworcze/narzedzia-planowania-smart-moscow/moscow)lub [WSJF](https://magdalenaolak.gitbook.io/istqb-w-pigulce/metody-wytorcze/metody-wytworcze/narzedzia-planowania-smart-moscow/wsjf))

![](https://1980605741-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQ6ZGAlGwo6G__WwX4E%2F-MQWUxvMSwgvOezzitDZ%2F-MQX008vNqDfUtInS7QK%2F2021-01-08%2013_41_10-prezentacja.pdf%20-%20Adobe%20Acrobat%20Reader%20DC.jpg?alt=media\&token=ccf20ef4-4772-4fdc-96fa-6509690cc566)
