16 aug DiVetro helpt TBA bij de Agile ontwikkeling van software
TBA is wereldleider op het gebied van automatisering van containerterminals. De visie van TBA is om de overslag van containers en bulkgoederen wereldwijd kostenefficiënter en productiever maken. Hierbij onderscheidt TBA zich door het gebruik van state-of-the-art tooling zoals simulatie en emulatie.
De uitdaging
Eén van de producten die TBA levert is TEAMS, een systeem dat het terminal operating system verbindt met de voertuigen en alle functionaliteit verzorgt op het gebied van routering, collision prevention en order assignment & execution. Na jarenlange ontwikkeling is dit systeem nu operationeel op verschillende terminals.
De ontwikkelteams kenden 3 uitdagingen:
- Het vervolledigen van de documentatie van het systeem (ontwerp en requirements management) zonder de huidige ontwikkelingen te frustreren;
- Het snel aanpassen van het bestaande systeem om een nieuw type carrier te ondersteunen. Dit vereiste een flinke aanpassing van het systeem;
- De 5 ontwikkelteams die aan het systeem werkten waren recent naar een Agile methodiek overgestapt.
De opdracht: help TBA om de diepgang en volledigheid van de documentatie te vergroten en implementeer tegelijkertijd de wijzigingen voor het nieuwe type carrier in een SCRUM setting.
Onze agile oplossing
Gezien de vele manjaren werk was het onhaalbaar om via reverse engineering een totaal systeemontwerp te realiseren. Daarom adviseerde DiVetro om met behulp van een model storm workshop een initieel use case model te definiëren. Bij deze workshop waren alle rollen betrokken.
Via UC2.0 technieken werden slices op de use cases geïdentificeerd die nodig waren om de nieuwe carrierfunctionaliteit aan het systeem toe te voegen. In eerste instantie werd enkel voor deze slices het ontwerp voor het systeem gedefinieerd, met de diepgang die strikt noodzakelijk was. Bij elke slice die opgepakt werd, werd zo zowel het ‘oude’ systeem als het ‘nieuwe’ systeem gedocumenteerd.
Het cruciale aspect in de aanpak zat in de slimme definitie en de prioritering van slices, zodat elke slice soepel geïmplementeerd en gedocumenteerd kon worden. Zo werden zowel het systeem als het ontwerp incrementeel uitgebreid.
Om zowel het ontwerp als de implementatie te ondersteunen, introduceerde DiVetro een case tool (in dit geval Enterprise Architect). De case tool werd gebruikt voor het vastleggen van:
- het functioneel ontwerp via Use Case modellering en het beschrijven van bedrijfsregels;
- een termenlijst om eenheid van taal te introduceren;
- een logisch gegevensmodel om ervoor te zorgen dat iedereen op dezelfde wijze naar het systeem kijkt. Het gegevensmodel ondersteunt ook de Use Case beschrijvingen;
- de softwarearchitectuur, met name het identificeren van systemen, subsystemen, componenten en de onderlinge interfaces;
- de verantwoordelijkheid die subsystemen in het geheel hebben door het opstellen van sequence diagrammen op een ketenniveau.
DiVetro heeft de volledige inrichting verzorgd en mensen gecoacht om te denken in termen van use cases, slices en EA.
Rob den Hollander is senior analist bij DiVetro. Hij heeft ruim 15 jaar ervaring met informatie-analyse in systeemontwikkeling en is gespecialiseerd in UC2.0 en Agile werken. Hij helpt verschillende opdrachtgevers met het ontwikkelen/professionaliseren van agile teams.