Stel, jij bent een requirements engineer voor een groot project. Je werkt met je collega´s om requirements te verzamelen, analyseren, specificeren en valideren. Vanaf het begin werkt je projectteam met een requirements management tool (RM).
Zodra de requirements duidelijk worden, wordt het ook duidelijk dat er een werk wordt geoutsourced. De requirements zitten in de requirements management tool en voor een deel moeten ze worden overgedragen aan de leverancier. En daarmee wordt de doos van Pandora geopend…
In de situatie dat de leverancier dezelfde tool gebruikt als de opdrachtgever stuurt men de requirements naar de leverancier en delen opdrachtgever en opdrachtnemer de requirements. Maar deze situatie is zeldzaam. Meestal gebruiken opdrachtgever en leverancier andere RM-tools. Als dit het geval is, moet het projectteam ervoor zorgen dat de requirements naar Word, Excel of pdf worden geëxporteerd. Daarmee wordt ook deels informatie weggegooid, bijvoorbeeld de geschiedenis van het requirement. En de leverancier krijgt dan beperkt inzicht in wat hij moet bouwen. Niet te vergeten dat daarnaast de requirements door de leverancier vaak verder worden aangevuld en gedetailleerd. In dit geval dus buiten de requirements management tool om. Het intact houden van requirements in een dergelijke situatie is een uitdaging die snel kan leiden tot een requirements chaos, inefficiëntie en afstemmingsproblemen. Toch bestaat er sinds 2006 een oplossing voor, bekend onder de afkorting RIF of (ReqIF).
RIF staat voor Requirements Interchange Format. Het is een opkomend formaat voor de gestandaardiseerde uitwisseling van requirements. Het vervangt MS Word, Excel of pdf en maakt het daarnaast mogelijk om requirements uit te wisselen zonder verlies van informatie. RIF is gedefinieerd in xml-schema. Het is een formaat en data model die requirements en hun attributen, types, toegangsrechten en onderling relaties structureert. Het belangrijkste voordeel van RIF is dat het tool onafhankelijk is.
RIF komt uit de auto industrie. Grote autoproducenten zoals BMW, Daimler en Volkswagen hebben RIF zijn initiële vorm gegeven. Ze vonden dat transparante communicatie over requirements tussen opdrachtgevers en opdrachtnemers een essentiële invloed heeft op de kwaliteit van de opgeleverde producten. Inmiddels is RIF overgenomen door OMG (Object Management Group) en de naam is veranderd naar ReqIF (http://www.omg.org/spec/ReqIF/ ).
Het werken met RIF is simpel. Men definieert in een RM-tool een RIF-package dat alle requirements omvat die moeten worden uitgewisseld. Men geeft aan wie welke toegangsrechten moet krijgen en maakt het RIF-package aan. Aan de ontvanger kant, leest men de RIF-package in een andere RM-tool in en dan kan men daar het werk vervolgen. Tussendoor kan het nodig zijn om veranderingen in de requirements over en weer te synchroniseren. Toch is het aanzienlijk minder werk dan handmatig documenten nalopen om vast te stellen wat er veranderd is en veel minder foutgevoelig. Toen ik voor het eerst over RIF las, dacht ik dat er een oplossing gevonden was voor mij en de miljoenen requirements management tools gebruikers. Toch merk ik dat er nog weinig RM-tools op de markt zijn die RIF ondersteunen. Van een lijst van bijna zeventig bekende en mindere bekende RM-tools die beschikbaar zijn op de markt, blijken er twee RIF te ondersteunen. Waarom zijn RM tools leveranciers zo terughouden in het implementeren van RIF?
Als meerdere leveranciers RIF implementeren, kunnen projecten hun requirements makkelijker uitwisselen. Deze uitwisseling vindt plaats zonder informatie verlies en leidt tot een transparante communicatie tussen verschillende partijen. Bovendien kunnen organisaties de requirements tools kiezen wat het best bij hen passen in plaats van gedwongen te zijn om het RM-tool van opdrachtgever aan te schaffen. Ik kan het moment niet afwachten wanneer meer RM-tools producenten het initiatief nemen om hun RM tools met RIF interface uit te breiden. Daarmee hebben ze een middel waarmee zij de Pandora box kunnen sluiten, hun klanten helpen en bijdragen tot steeds betere requirements management. De vraag blijft of zij die stap durven te nemen en buiten eigen belangen om te kijken?
Dank voor het attenderen op het bestaan van deze standaard. Zelf hou ik me vooral bezig met testen en kwaliteit van het ontwikkelproces. Zoals iedere ICT-er weet, is de kwaliteit van de requirements een belangrijke basis voor de kwaliteit van het ontwikkelproces, het testproces en het eindprodukt.
Ik ben dan ook erg benieuwd of er al testtools zijn die de mogelijkheid bieden via RIF of ReqIF reguirements in te lezen. Zodat t.b.v. risk en requirements based testen de testgevallen aan de requirements gekoppeld kunnen worden.
De uitdaging van het gebruik van verschillende tools (bijv. bij offshoring), speelt ook bij testen een rol. Voorzover ik weet is er voor testgevallen / testscripts nog geen universeel uitwisselformaat. Ook op dat gebied zou veel winst behaald kunnen worden. Al denk ik dat toolleveranciers terughoudend zullen zijn m.b.t. het introduceren van een dergelijke standaard, aangezien het voor testers eenvoudiger wordt over te stappen naar een andere tool (van de concurrent of open source).
Een groeiende behoefte vanuit de gebruikers is een basisvoorwaarde voor de bredere invoering van een dergelijk gestandaardiseerd uitwisselingsformaat.
Het initiatief van Synergio in 2007 om een “Sophisticated Requirements Interchange Formaat (SRIF)” te maken op basis van XML, verderbordurend op de ideeën achter RIF, heeft destijds niet veel interesse opgeleverd bij gebruikers van requirements tools. Sinds kort echter wél nu in een bepaalde sector het probleem van uitwisseling van eisen weer een actueel probleem is.
De moraal van het verhaal is dus dat de druk op de leveranciers vooral vanuit de gebruikers zal moeten komen. Het neerzetten van een standaard door OMG kan daar zeker bij helpen en is natuurlijk aan te bevelen.
En dan komen er allerlei kansen: concrete uitwisseling van informatie binnen de keten, overstappen naar moderne en krachtiger tools zonder verlies van investeringen, uitwisseling naar andere tools binnen het voortbrengingsproces, enz.
Gebruikers aller landen, verenigt u!