Methodiek en tooling t.b.v. software specificaties gedurende gehele software requirements lifecycle

Het centrale thema van deze afstudeeropdracht is het zoeken naar een effectieve methodiek en tooling voor het specificeren van software requirements gedurende de software requirements lifecycle.

Voor het specificeren van de software requirements in onze IT-trajecten werken we vanuit een architectuur design waarin de gewenste functionaliteiten logischerwijs in clusters worden gegroepeerd. De hoofdactiviteiten die het te realiseren IT-systeem moet ondersteunen, worden beschreven met behulp van Use Cases. Naast deze use cases wordt de gebruikersinteractie met het systeem voor de gebruikers relevante hoofdactiviteiten veelal afgestemd met de opdrachtgever met behulp van scherm mock-ups. In een aantal gevallen wordt de ontwikkeling vanaf het functioneel ontwerp ook nog belegd bij derden.

Onze bevindingen tot dusver:

  • We spenderen relatief veel tijd aan het specificeren van de software requirements en ontberen de mogelijkheden van goede ondersteuning door Case tools;
  • We hebben een methodiek nodig om de software requirements een slag dieper te kunnen beschrijven (verder dan use cases), waarbij de methodiek ondersteund met de juiste Case tools, het denkproces op natuurlijke wijze vertaald naar specificaties. Daarbij dient zo weinig mogelijk ruimte over te blijven voor interpretaties;
  • We missen de gewenste link van een logische ‘end to end’ methodiek met het voortraject (business requirements) en met de testfase. M.a.w. de huidige beschreven software requirements dienen hoofdzakelijk als input voor de development team en kunnen niet 1:1 worden gebruikt in andere fasen van de software requirements lifecycle.

De hierboven beschreven problematiek is herkenbaar binnen veel Software Development bedrijven. Het oplossen van deze problematiek zal dan ook direct leiden tot een significante verbetering van de prijs/kwaliteit verhouding en dus de concurentiepositie.

Kortom, we zijn op zoek naar een effectieve methodiek en tooling voor het specificeren van de software requirements voor de gehele software requirements lifecycle. De gewenste methodiek en tooling moeten ons in staat stellen om de software requirements zodanig te kunnen beschrijven dat het goed aansluit op de behoefte van alle stakeholders (opdrachtgever, gebruikers, development team, test team). Voor het beheersbaar maken van dit geheel zou de tooling ook ondersteuning moeten bieden aan zowel een ‘colaborative’ omgeving (on-line versie controle, etc.) als aan project management.

De opdracht bestaat uit het onderzoeken en maken van een implementatievoorstel voor de bovenstaande wens.

De opdracht omvat een aantal elementen:

  1. Onderzoek naar een effectieve methodiek voor het specificeren van de software requirements voor de hele software requirements lifecycle. 
  2. Inventarisatie van mogelijke tooling ter ondersteuning aan deze methodiek (incl. ‘colaborative’ omgeving en project management) en selectie van de meest effectieve en gebruiksvriendelijke tooling. 
  3. Uitwerking van het bovenstaande in een klein klanttraject. 
  4. Evaluatie en aanbeveling. 
  5. Documentatie.