## Requirements

### Opstellen requirements

Het goed opstellen van requirements is van groot belang omdat anders het verkeerde zal worden gebouwd (en getest), zie ook validatie.

Belangrijk bij het opstellen van de requirements is in elk geval:

- Het betrekken van gebruikers hierbij en zorgvuldig en eenduidig formuleren.
- Zodanig opschrijven dat deze eisen testbaar / meetbaar zijn.
- Ook opschrijven wat vanzelfsprekend lijkt voor gebruikers.

### Testen van requirements

In principe kun je pas testen of het prodcut aan de rquirements voldoet als het helemaal klaar is (zie ook het V-model uit les 3). Dat maakt ook direct het belang duidelijk omdat herstellen van een fout dan heel duur is.

Een fout in de requirements zal vaak pas worden ontdekt tijdens het gebruik en moet dan worden hersteld met een update of software - release. Je kunt immmers niet testen wat niet staat opgeschreven.

Volgens IT consultant James Martin komt meer dan 50% van de fouten vanuit 'slechte' requirements en zelfs meer dan 80% van de totale kosten om fouten op te lossen komt vanuit verkeerde of missende requirements.

### Voorbeeld bij de Roomba2K:

Een eenvoudig voorbeeld bij de Roomba.

Stel dat in de specificaties is opgenomen dat de Roomba informatie kan uitwisselen met een smartphone.

Dit wordt keurig uitgevoerd en getest met diverse typen smartphones.

Bij gebruik blijkt dat het niet mogelijk is om twee telefoons te koppelen zodat gekozen moet worden welke huisgenoot de app kan gebruiken, wat naturlijk een ontevreden klant oplevert.