CIBER Software Factory (CIBERSoFa)
Het CIBER-concept voor een gestandaardiseerde ontwikkel- en beheerstraat
De laatste jaren is in de ICT-industrie fabrieksmatige softwareontwikkeling in zogenaamde ‘software factories’ sterk in opkomst. Een software factory is een gespecialiseerde organisatie voor software-ontwikkeling. In zo’n organisatie wordt met requirements als input op fabrieksmatige wijze software tot stand gebracht. Nadruk ligt hierbij op standaardisatie van werkprocessen en hulpmiddelen, om zoveel mogelijk voordelen van traditionele fabricage (kostenbesparing en voorspelbaarheid) te behalen.
Ook CIBER Nederland beschikt sinds 2007 over haar eigen software factory-concept CIBERSoFa. Dit CIBERSoFa-concept is gebaseerd op industriestandaarden zoals RUP, PRINCE2 en TMap en heeft een wetenschappelijke onderbouwing. Gebruikmakend van dit concept zijn, zowel bij klanten als binnen de CIBER-organisatie zelf, een aantal concrete ontwikkelstraten operationeel. In deze factories wordt software ontwikkeld voor verschillende technologische stacks zoals Java EE en Microsoft .NET, voor klanten zoals Essent, NXP en EDSN.
Bouwstenen
Belangrijkste bouwstenen van de software factory zijn een gestandaardiseerd, iteratief-incrementeel ontwikkelproces (software development lifecycle ofwel SDLC) gebaseerd op RUP, een standaard testaanpak conform TMap, en een standaard projectbesturing volgens PRINCE2. Kwaliteit van zowel proces als product staat hierbij voorop. Deze kwaliteit wordt bereikt door vergaande standaardisatie en het gebruik van best practices zoals ‘continuous integration’ en ‘test versed development’.

Figuur 1 – CIBERSoFa-proces voor application development-projecten & beheer
Qua organisatie wordt een ‘front office-back office’ model gehanteerd, waarbij de requirements in de front-office bij de klant worden opgesteld. Deze requirements hebben een gestandaardiseerd formaat en vormen input voor ontwerp, bouw en test die in de back-office van de software factory plaatsvindt. Na oplevering kan de front-office de acceptatietest en implementatie begeleiden. Ook transitie naar beheer binnen de CIBER Managed Services-divisie (CMS) die ITIL/ASL hanteert is opgenomen in het CIBERSoFa-model, zodat er een naadloze overdracht van project- naar beheerfase kan plaatsvinden.

Figuur 2 - Het front-office back-office model van de CIBERSoFa
De standaardisatie op organisatie, rollen en resources, beheerswijze, werkwijze en ondersteunende middelen in combinatie met continue geautomatiseerde KPI-meting leidt tot hoge mate van controle over voortgang en kwaliteit:
- Projectmanagement (PRINCE2): management by exception, governance op planning, budget, kwaliteit wordt ondersteund middels vaste tooling en templates;
- Procesmanagement (RUP in combinatie met agile/SCRUM/XP best practices):
a)
Iteratief-incrementeel proces: software wordt stapsgewijs ontworpen, gebouwd, getest en opgeleverd in productiekwaliteit, in iteraties die gemiddeld 1 maand duren
b)
Risico en use case driven aanpak: voornaamste functionele en technische risico’s worden vroeg in het project geadresseerd en getackled; belangrijkste functionaliteit komt vroeg in het project tot stand en is eventueel ook eerder live te brengen
c)
Agile/SCRUM practices zoals backlog (via geeltjes gevisualiseerde werkpakketten) en dagelijkse standup meetings waarin voortgang en belemmeringen worden besproken
d)
XP practices zoals code reviews, continuous integration (software wordt voortdurend gebouwd, en aan geautomatiseerde unit tests en software QA tooling onderworpen)
- Testmanagement (TMap): Risk & Requirements Based Testing; testen is een geïntegreerd onderdeel van het softwareproject; focus ligt op requirements met hoogste product van business value en faalkans;
Voor alle bovenstaande beheersmechanismes zijn relevante dashboards, metrics e.d. beschikbaar, hetgeen snelle en gerichte (bij)sturing via effectieve maatregelen mogelijk maakt.
Het CIBERSoFa-model is gebaseerd op bewezen en breed in de industrie gedragen uitgangspunten afkomstig uit het CMMi (Capability Maturity Model improved). Er is een roadmap voor certificering op CMM Levels 2 en 3 in de komende jaren.
Wetenschappelijk onderbouwd
Verder geldt dat CIBERSoFa een wetenschappelijk onderbouwd kader hanteert voor inrichting van specifieke ontwikkel- en beheerstraten. Dit kader, het zogenaamde Delfts raamwerk, voor ontwikkeling van informatiesystemen is ontwikkeld op de Technische Universiteit Delft. Het model bevat een vijftal niveaus, die alle ingevuld moeten worden middels bepaalde inrichtingskeuzes.
De vijf niveaus in het Delfts raamwerk zijn de volgende:
- Denkwijze (way of thinking)
- Modelleerwijze (way of modeling)
- Beheerswijze (way of managing)
- Werkwijze (way of working)
- Ondersteuningswijze (way of supporting)
Denkwijze
Bij de denkwijze gaat het over de visie en strategie die voor een bepaalde CIBERSoFa ontwikkel- en beheerstraat voor een bepaalde klant gehanteerd wordt. Deze heeft een bepaalde relatie met de businessstrategie t.o.v. IT. Bijvoorbeeld is deze gericht op outsourcing, of juist niet. Men kan denken aan modellen als Gartner IS Lite.
Modelleren
De modelleerwijze dient ingevuld te worden op het niveau van organisatie van de software factory (bijvoorbeeld front office/back office) en ook voor wat betreft modellering (RUP-artefacten zoals use cases, MIL-STD, SDM) in het softwareproject.
Beheren
De beheerswijze betreft de sturing governance op de processen. Hiervoor dienen inrichtingskeuzes te worden gemaakt, high-level (bijvoorbeeld PRINCE2, RUP, TMap), maar juist ook in detaillering bijvoorbeeld van overlegstructuren zoals stuurgroepen.
Werkwijze
De werkwijze is in wezen het hart van de software factory, De standaardisatie op workflows, processen en practices maakt dat er reproduceerbaar en voorspelbare software kan worden gefabriceerd (als commodity).
Ondersteuning
De ondersteuningswijze betreft het niveau van gestandaardiseerde tooling, templates die de actoren in de software factory gebruiken om tot de gewenste resultaten te komen. Dit laatste en laagste niveau is het enige niveau dat een bepaalde mate van technologie-afhankelijkheid kent. Dit is ook logisch, de ontwikkeltooling voor Java en Microsoft verschilt noodzakelijkerwijs.
Succesvol bij onze klanten
Voor verschillende stacks heeft CIBERSoFa al ingerichte ontwikkel- en beheerstraten draaien, zowel op haar locatie CIBER Den Bosch, als bij klanten als Essent, Philips en NXP. Op hoofdlijnen zijn hierin de inrichtingskeuzes al gemaakt gegeven bepaalde stacks. Juist die standaard inrichting levert de voordelen op het gebied van prijs en kwaliteit op. Voor een nieuw op te zetten ontwikkelstraat is er zeker nog sprake van een bepaalde keuzevrijheid en is de fabriek ook maatwerk voor een klant.

Figuur 3 - Het Delfts Raamwerk: denkkader voor inrichting software factories
|