Het vakblad over ontwerpen, bouwen, testen en moderniseren van bedrijfsapplicaties
Jaargang 2, juli/augustus 2010
5/6
Risicobeheer Functiepuntanalyse voor begroting riskant Testen Angst drukt zijn stempel Techniek Methodes voor veilig inloggen
Is meten ook weten? Over het vaststellen van nuttige metrieken
Modelleren is het nieuwe programmeren. Aquima: laagdrempelig en snel toepasbaar in de praktijk. Ontdek wat er gebeurt als programmeren modelleren wordt en u uw software direct naar eigen inzicht kunt aanpassen. ICT wordt zo wendbaar dat uw organisatie sneller inspeelt op marktontwikkelingen. Door te automatiseren aan de hand van business rules, krijgt uw werk als ICT-manager extra diepgang. U zit samen met business collega’s dichter op de bedrijfsprocessen. U creëert meer ruimte voor creativiteit en innovatie binnen ICT. Maak vandaag nog kennis met Aquima op www.aquima.nl.
Nederland gaat aquimatiseren®
in dit nummer
redactioneel
Als in ‘confflict’ en ‘delict’ Als u dit leest, zijn de verkiezingen voor de Tweede Kamer achter de rug. De kans dat er
Korte berichten
Legal look
Begroting op basis van FPA toch risicovol
Product Owner: vertel je verhaal
‘IT moet echt iets toevoegen’
Emoties bij het testproces
Kledingrekken blijven overeind
Veiliger inlogmodel voor internet
8 13 14 16 20 23
Voordelen cloud computing komen niet aanwaaien
26
Architected Agile verbreedt ontwikkelmethode
Software appliance bespaart veel tijd
Geen Sinterklaasgesprekken meer
inmiddels al een regering is geformeerd, lijkt me uiterst gering. Dat kunnen ze in het Verenigd Koninkrijk veel sneller.
4 7
Voorafgaande aan het rode potloden gekletter heb ik de partijprogramma’s van een aantal politieke partijen tegen het licht gehouden. Ik heb ze doorzocht op de steekwoorden IT, ICT en automatisering. Was tenslotte toch wel benieuwd naar de standpunten van de partijen op dit vlak. Welaan, de uitkomst is bedroevend. Als industrie telt de softwaresector blijkbaar niet mee, noch zien de politici in ICT een middel om maatschappelijke uitdagingen aan te gaan. Hoezeer ze dat toch het jaar door wel roepen: slimme meters, ICT om energieverbruik terug te dringen, om wachtrijen op te lossen, om efficiëntie door te voeren, om de veiligheid te vergroten, enzovoorts; in de programma’s is hierover niets, of hier en daar een splintertje terug te vinden. Wie zoekt op ICT, ziet wel heel vaak de woorden ‘conflict’, ‘delict’ of ‘dictator’ aan zich voorbij
28 31 34
trekken. Als je “ICT” zoekt (tussen aanhalingstekens), dan krijg je in vrijwel elk programma nul op het request. Dat geldt ook voor ‘IT’ en automatisering. Bij de Partij voor de Dieren was dit te verwachten (hoewel het denkbaar is dat software kan helpen dierproeven te verminderen of overbodig te maken, toch?) en ook bij Trots op Nederland had ik niks verwacht (hoewel je toch
Omslagverhaal Is meten ook weten?
36
trots kunt zijn op onze software-industrie, toch?), maar dat de oogst bij PvdA, CDA en VVD zo mager is, stemt droef. Het CDA meldt wel dat de indicatiestelling binnen de zorgverlening baat kan hebben bij automatisering, en de PvdA zegt dat ´de minister´ (welke?) verantwoordelijk is voor de automatisering bij de politie, en de VVD hamert op de bescherming van de persoons gegevens en hoopt dat de stemcomputer weer snel het rode potlood gaat vervangen, maar dan heb je het bij deze partijen wel gehad. Groen Links laat het afweten. D66 heeft nog het meeste te melden. Zo wil de partij verbetering van ICT-projecten. Merkwaardig is wel dat dit wordt gemeld onder het hoofdstukje ‘minder ministeries’, maar alla, hiermee steekt de partij al met kop en schouders boven de andere
Test Driven Development
Coentunnel in digitaal dossier
Het vlindereffect
Boeken enzo
Patenttrollen
uit. En het houdt niet op: ICT moet rijksbreed en centraal worden uitgevoerd (voorwaar een ferm standpunt, want tot nu toe was dit altijd vloeken in de departemententempel), dan wel uitbesteed. En: ICT kan helpen burgers meer invloed te geven op het bestuur. Is er dan helemaal geen partij die serieuze aandacht heeft voor ICT? Jawel, een heel kleintje: de Piratenpartij. Deze partij heeft louter ten doel de kwalijke effecten van automatisering voor de persoonsbescherming weg te nemen. Al met al een zeer karige oogst.
Teus Molenaar Hoofdredacteur
[email protected]
appworks juli/augustus 2010
3
40 43 44 45 46
kort
SaaS is ingeburgerd
Eén van de gebouwen op de campus van Reading University.
Het gebruik van Software as a Service
Eerste mens met computervirus
is geen nieuwtje meer. Ongeveer de helft van de organisaties heeft al drie jaar een abonnement op een dergelijke dienst en 95 procent houdt hieraan
De Britse wetenschapper dr. Mark Gasson is de eerste mens die
vast of gaat dit zelfs uitbreiden.
‘geïnfecteerd’ is met een computervirus. Hij wil hiermee bewijzen dat medische apparatuur kwetsbaar is voor ‘digitale ziektes’.
In het Gartner-rapport ‘User Survey Analysis: Software as a Service, Enterprise Application Markets, Worldwide, 2010’
Mark Gasson is senior onderzoeker aan
gebruiken om het gebouw binnen te
valt te lezen dat integratie-eisen de belangrijkste redden is
de School of Systems Engineering van de
komen, op dezelfde manier waarop een
om over te gaan op SaaS. De wens om tot een lagere Total
University of Reading. Hij heeft een ster
computervirus zich binnen een netwerk
Cost of Ownership te komen, is ook een drijvende kracht.
ke RFID-chip onder de huid van zijn hand
gedraagt. De bekendste implantaat bij
Gartner noemt het wel opvallend dat slechts 39 procent van
ingebracht om aan te tonen dat medi
de mens is de pacemaker, maar er zijn
de organisaties regels heeft opgesteld om het gebruik van
sche apparaten kwetsbaar zijn voor com
ook chips die bijvoorbeeld de blaas re
SaaS-applicaties te evalueren.
putervirussen. Hij heeft namelijk de chip
gelen. Naarmate meer mensen met
De populairste toepassingen zijn e-mail, boekhouding, ver
met opzet geïnfecteerd. Hij gebruikt de
dergelijke chips zijn uitgerust, neemt het
koopautomatisering en klantendienst, en uitgavenbeheer.
chip om de deuren van zijn laboratorium
risico toe dat de implantaten worden ge
Zestien procent gaf aan op zijn schreden terug te keren en
te openen en zijn mobiele telefoon actief
ïnfecteerd.
van een SaaS-oplossing weer terug te gaan naar software
te krijgen.
Gasson heef zijn bevindingen kenbaar
binnen de eigen systemen. Er springt niet direct een reden
Het virus wordt via het controlesysteem
gemaakt
uit voor deze terugvering, maar er zijn aanwijzingen dat dit
van de lab-toegang overgebracht op
Symposium on Technology and Society in
te maken heeft met integratieproblemen of te hoge kosten.
de toegangskaartjes die zijn collega’s
Australië dat van 7 tot 9 juni plaatsvond.
Algoritme ontdekt sarcasme
op
het
IEEE
International
Het onderzoek is gedaan door Oren Tsur en Dmitri Davidov, beiden doctoraal student aan het HU Institute of Computer Science. Zij zijn be geleid door prof. Ari Rappoport. De studie heeft negen maanden in beslag genomen.
Wetenschappers van de Hebrew University in Jeruzalem hebben een algoritme ontwikkeld dat in staat is sarcasme in lange teksten te herkennen. De score van 77 procent is beduidend hoger dan wat mensen bereiken.
4
appworks juli/augustus 2010
Zij hebben 5500 boekbesprekingen van Amazon. com gehaald en door vrijwilligers laten contro leren op sarcasme. Met deze lijst van zinnen is het algoritme ontwikkeld dat patronen herkent in zinnen die mensen gebruiken om iets duide
dan niet sarcastisch hadden aangemerkt. De
lijk te maken dat zij niet letterlijk menen. Het
score kwam uit op 77 procent.
algoritme is getest op tienduizenden andere
Het resultaat kan helpen de interactie tussen
zinnen op Amazon.com die vrijwilligers als al
mens en computer te verbeteren.
Index voor webservices Onder aanvoering van CA Technologies is een index ingevoerd om de waarde van webservices te meten: de Service Management Index (SMI). Tegelijk is een website, annex community, in het leven geroepen als zwaartepunt van kennis over de cloud: www.cloudcommons.com.
Miljoenen subsidie voor SaaS-projecten NWO-Jacquard heeft vijf SaaS-projecten uitgekozen die gezamenlijk twee miljoen euro subsidie krijgen. De projecten gaan uiterlijk in september 2010 van start. Een internationale commissie heeft de tien
Tijdens CA World in Las Vegas vertelde
hebben we de universiteit Carnegie
David Hodgson, senior vice president
Mellon bereid gevonden om de index
Cloud Commons bij CA, dat het bedrijf
wetenschappelijk verder uit te werken.
de afgelopen negen maanden heeft
Cloud computing is een reis, Cloud Com
gezocht naar een manier om de waar
mons wil de reisgids zijn.”
Het Joint Academic and Commercial Quality Research &
de van webdiensten te meten en weer
Jeff Perdue, senior scientist bij Carnegie
Development (Jacquard) is opgezet om het onderzoeks
te geven. “Terwijl wij hiermee bezig
Mellin in Silicon Valley, gaf aan dat
terrein van software en service engineering in Nederland
waren, kwamen we erachter dat er
tevens wordt gepoogd om industrie
te versterken. Samenwerking tussen universiteiten en
wel meer dan drieduizend webdiensten
breed gedragen definities te formuleren
bedrijfsleven is een belangrijk onderdeel van het succes van
van wat bijvoorbeeld moet worden ver
het programma.
staan onder beschikbaarheid, kwaliteit
Het project Configurable Services for Local Governments
of dienstverlening als het gaat om cloud
(CoSeLoG) heeft tot doel het SaaS-paradigme toe te passen
services. “Bij veel mensen bestaat het
in de context van gemeentelijke processen. De bedoeling is
idee dat gebruik maken van de cloud
uitvoerbare referentiemodellen te ontwikkelen waardoor ge
riskant is. Wij willen een geaccepteerd
meenten niet gedwongen zijn om alles precies hetzelfde te
framework (verder) ontwikkelen dat
doen als zij uit besparingsoverwegingen een SaaS-oplossing
een houvast biedt voor mensen die ge
willen gebruiken.
bruik willen maken van cloud services.”
Binnen het Scale.It.Up-project definiëren de onderzoekers
Carnegie Mellon vormt een SMI Consor
een architectuur en een methode die het mogelijk maken
tium om de index te vervolmaken.
om Multi-tenant softwaresystemen online te laten evalueren
Laura Meluer, VP Cloud Community bij
en ook online te testen.
CA, lichtte toe dat de waardes die in de
Het project Service Extraction from Decomposed Software
index komen, is opgebouwd uit objec
Monoliths in the Financial Domain onttrekt services uit
tieve en subjectieve beoordelingen. “IT-
monolitische applicaties in het financiële domein. Deze ser
professionals kunnen aangeven wat zij
vices worden herkend op basis van patronen en domein
vinden van bepaalde diensten; zij kun
modellen.
nen met elkaar in discussie gaan, elkaar
Next Generation Auditing gaat onderzoek doen naar
vragen stellen. Kortom alles doen wat
auditingdiensten die de financiële en administratieve
bij een community hoort. Om de site
processen in bedrijven continu, real-time, controleren. Het
Laura Meluer legt uit hoe de index wordt opgebouwd.
volledig uitgewerkte aanvragen beoordeeld.
alvast inhoud te geven, hebben we zelf
project is gebaseerd op de waardekringloop, een bewezen
beschikbaar zijn. Hoe
al onderzoek laten doen naar onge
kernconcept uit de Nederlandse accountancytheorie.
vind je die? En hoe waardeer je die? De
veer 300 cloud dienstverleners en deze
Re-engineering Service Oriented Systems (ReSOS) ten slot
SMI en de community moeten hier een
gewaardeerd.”
te is op zoek naar voldoende uitgewerkte technologieën
antwoord op geven. CA heeft de eerste
Op de site zijn blogs te vinden, menin
en controlemechanismen voor het onderhoud van service
stap gezet en samenwerking gezocht
gen van analisten en tal van artikelen.
oriented systemen.
met bijvoorbeeld Gartner, Forrester en
Er zijn vijf onderwerpen ingedeeld:
IDC. Deze analistengroepen werken
security, private cloud, public cloud,
mee aan de site en de index. Verder
hybrid cloud, en all other topics.
tegenwoordig
appworks juli/augustus 2010
5
kort
AAP krijgt software De Stichting AAP in Almere heeft AutoCAD LT gekregen voor het
ICT-bestedingen groeien
bijhouden van bouwkundige en installatietechnische revisietekeningen en voor het bouwen van ad-hoc verblijven. Zij wil het ook inzetten voor het vastleggen van transportkisten, vangkooien en luiken.
Uit de jongste ICT-Barometer van Ernst & Young blijkt dat 39% van de ondervraagden verwacht meer te besteden aan ICT; 20% verwacht een daling. Per saldo is er een forse stijging te verwachten. Alle sectoren – vooral overheid en dienstverlening – ver wachten in het komende jaar meer te investeren in ICT. De sectoren handel/distributie, overheid en dienstverlening gaan meer uitgeven aan hardware. De totale bestedingen aan hardware nemen toe: 32% (in februari was dat nog 25%) verwacht een toename, terwijl 17% (20%) denkt dat AAP werkt aan de verbetering van het welzijn
laatste heeft Nordined LT gegeven. Hier
deze zullen afnemen.
niet-gedomesticeerde
mee zijn gebouwgebonden installaties
De investeringen in software nemen aanzienlijk toe: 41%
dieren. Onder meer door opvang, genezing
te tekenen. De stichting kreeg ook de
(28%) verwacht een toename, slechts 14% (18%) een afna
en herplaatsing, of permanente verzor
LT-handleiding van TEC CAD College.
me. “Het herstel van de softwaremarkt die we in de tweede
ging van individuele dieren. De stichting is
De software is nodig om de lay-out van de
helft van 2009 zagen, zet nu met vaart door, waarbij het top
afhankelijk van giften.
dierenverblijven aan de steeds veranderende
niveau van de afgelopen tien jaar weer in zicht komt”, luidt
Autodesk heeft via zijn distributeur Man and
capaciteits-, welzijns- en veiligheidseisen
de toelichting van Jacob Verschuur, directeur Ernst & Young
Machine en reseller NPQ CAD Solutions de
aan te passen. Uiteraard krijgen betrokkenen
ICT Leadership.
software gratis ter beschikking gesteld. De
ook training aangeboden.
van
uitheemse
Daling in ontwikkelsoftware Wereldwijd is de omzet van applicatie ontwikkelsoftware in 2009 gedaald met 2 procent naar 7,25 miljard dollar. Voornamelijk door het bevriezen van projecten in het begin van het jaar, aldus Gartner.
6
appworks juli/augustus 2010
Hoewel projecten werden stilgelegd, is er wel
derde plaats staat CA Technologies (11%); op
veel geïnvesteerd in beveiligingstesten, aldus
de voet gevolgd door HP (10,5%). Compuware
Laurie Wurster. Zij is onderzoekster bij Gartner.
is hekkensluiter met 5,9%.
IBM blijft marktleider met 27,7 procent. Dit
Wurster verwacht dat de verkoop van ontwik
komt deels door de strategische overnames van
kelsoftware dit jaar met twee tot drie procent
Watchfire (2007) en Ounce Labs (2009) die zich
groeit. Het Java-platform en Dynamische
vooral op beveiligingstesten richten.
webapplicatie tools blijven geduchte concurren
Tweede op de markt is Microsoft met 14,7
tie ondervinden van open source alternatieven.
procent. Volgens Wurster is dat verrassend,
Zij meent voorts dat de consolidatie in deze
omdat veel bedrijven de aankoop van Visual
markt voortzet waarbij de grote spelers de
Studio hadden uitgesteld tot de lancering van
‘pure play’ leveranciers van ontwikkelsoftware
de nieuwste versie: Visiual Studio 2010. Op de
opkopen om hun eigen suites aan te vullen.
legal look
?
De verschillende licentiemodellen In ieder nummer van AppWorks beantwoordt mr. Victor de Pous juridische vragen. Wie iets wil vragen aan hem kan een mail sturen naar
[email protected]. De redactie van AppWorks zorgt dan dat u antwoord krijgt.
matiemaatschappij mee laten wegen. Dat betekent dat licentieverlening gebruiksrechten moet bieden aan eindgebruikers die letterlijk plaats- en tijdonafhankelijk werken. Dus ‘in and out-of-office’. Maar we mogen de redelijkheid en billijkheid niet vergeten. Wat heb je aan virtualisatie als de kosten voor softwaregebruik dusdanig stijgen, dat de Total Cost of Ownership niet wordt verlaagd? Afhankelijk van de aard van de software (ontwikkelprogrammatuur en tools, applicaties,
Victor de Pous
besturing- en netwerksystemen) kunnen de preferente modellen dus verschillen. Ingewikkelde constructies, die gebruik maken van meer dan een parameter doen minder recht aan SaaS en cloud computing. Voor applicaties, zoals productiviteitssoftware, biedt licentieverlening per werk
> Waarom verschillen licentiemodellen voor computerprogramma’s eigenlijk?
plek/gebruiker waarschijnlijk de beste oplossing.
Softwareproducenten zoeken voortdurend naar de optimalisering van hun
> Wat doet software asset management?
verdienmodel. Daarom worden applicaties geleverd op basis van uiteen
Meten is weten. Zoals producenten bezig zijn met optimalisering, zo
lopende ‘metrics’ of een combinatie ervan. Die bepalen uiteindelijk de
kunnen softwaregebruikers bij overheid en bedrijfsleven dat ook doen;
hoogte van de totale gebruiksvergoeding en vaak ook de hoogte van de
juist gelet op de huidige economische situatie. Software asset manage
kosten voor support & maintenance. En deze diversiteit constateren we
ment biedt het gereedschap voor efficiënt licentiebeheer. Uit de praktijk
zelfs bij verschillende producten van een en dezelfde producent. Eenvoud
blijkt dat het ontbreken van accurate informatie over alle software onder
en transparantie ontbreken vaak.
meer wordt veroorzaakt door de decentrale autonomie voor software keuzes, ICT-integratie na fusies en overnames, complexe softwarecontrac
We hebben het bijvoorbeeld over licensering op basis van rekenkracht
ten en lage waardering voor software-inventarisaties.
(aantal of snelheid van de CPU, aantal ‘cores’ of ‘threaths’), aantal machines (servers), aantal eindgebruikers (‘concurrent’ of ‘non-concurrent
Software asset managementprocessen kunnen operationele en juridische
users’), aantal (financiële) transacties en wat dies meer zij. Soms worden
risico’s verminderen en tevens door het standaardiseren van applicaties
er ‘site license agreements’ afgesproken, dus per bedrijfsvestiging. Een
het gebruik uniformeren en hiermee softwarekosten verlagen. Terwijl
nog complexer voorbeeld betreft de licentieverlening per ‘automated
organisaties door een proactieve aanpak een betere beheersing krijgen
process’, zoals Oracle soms doet. Het is onduidelijk wat dat is.
over hun de waarde van hun software, realiseren ze ook een reductie van arbeidskosten voor ICT. In sommige gevallen zelfs tot 50%.
> Welke modellen faciliteren SaaS en cloud computing het beste? Wanneer ICT meer en meer van een product in een dienst verandert, dringt de vraag zich op welke achterliggende licentiemodellen efficiënt
Mr. V.A. de Pous is bedrijfsjurist en industrie-analist. Hij houdt zich
en schaalbaar zijn. Het voor de hand liggend antwoord luidt: eenvou
sinds 1983 bezig met de juridische aspecten van digitale technologie en
dige modellen. Daarbij zijn in ieder geval gebruikers geholpen; zeker
informatiemaatschappij en is medewerker van uitgeverij FenceWorks.
wanneer we ook nog eens nieuwe manieren van werken in de infor appworks juli/augustus 2010
7
risicobeheer
Begroting op basis van FPA toch risicovol Veel bedrijven hanteren Functiepuntanalyse (FPA) als middel om tot een transparant begrotingsmodel te komen voor softwareontwikkeling die zij uitbesteden. Functiepunten geven alleen de omvang van een systeem weer. Voor een begroting zijn meer stappen nodig die nu niet of onvoldoende zijn gestandaardiseerd. Dit leidt tot risico’s waarvan organisaties zich vaak onvoldoende bewust zijn. Eric van der Vliet, Jelle de Vries
Grote verwarring ontstaat doordat de bepaling van de omvang van een
Klanten die een leverancier louter selecteren op basis van een prijs per
systeem, zoals functiepunten, en de begroting van de kosten vaak op
functiepunt missen de essentie: ‘de garantie van de levering van een
één hoop wordt gegooid. Dit zijn twee afzonderlijke activiteiten. Als we
kwalitatief goed product binnen tijd en budget’. Alleen inzicht in de prijs
een vergelijking maken met de bouwsector, dan worden de m3 van
per functiepunt is onvoldoende om tot een goed product te komen.
een gebouw (de inhoud) gebruikt als basis voor de kostprijsberekening
Een goedkope applicatie met veel fouten kan voor een onderneming
(de begroting). Kostprijsberekening in de bouwsector is een vak op zich
uiteindelijk veel duurder uitpakken door hogere beheerkosten.
(calculator of cost engineer). In de ICT is een vergelijkbare rol niet of
Voor een transparante begroting is het belangrijk het gehele proces van
nauwelijks bekend. Een oorzaak is onvoldoende standaardisatie van het
functiepunten tot en met de begroting te standaardiseren en om over
proces om te komen tot een begroting waardoor dit vakgebied nog maar
factoren die dit proces kunnen beïnvloeden, zoals doorlooptijd, goede
beperkt is ontwikkeld. Organisaties die functiepunten gebruiken, zijn zich
afspraken te maken.
vaak onvoldoende bewust van de (financiële) risico’s die zij hierbij lopen.
Vier processtappen
8
Wat vraagt de markt?
Om een begroting te baseren op functiepunten is een aantal stappen
Het wordt niet meer geaccepteerd dat een aanvankelijke positieve
nodig. Slechts één van deze stappen betreft de functiepuntanalyse. De
business case tijdens het project onderuit gaat omdat de kosten en
overige stappen zijn ook noodzakelijk om te komen tot een betrouwbare
de doorlooptijd niet in de hand te houden zijn. Het gebruik van een
begroting.
objectieve omvangeenheid, zoals functiepunten, met vaste prijsafspraken
Omdat behalve FPA de processtappen niet zijn gestandaardiseerd, zijn be
per eenheid lijkt de oplossing voor kostenbeheersing en transparantie
grotingen van meerdere organisaties niet vergelijkbaar. Het is tevens on
van de begroting.
mogelijk objectief vast te stellen of deze stappen correct zijn doorlopen.
appworks juli/augustus 2010
Functiepuntanalyse (FPA) Functiepuntanalyse is een methodiek die punten geeft aan gebruikersfuncties. De FPA-methode is vastgelegd in richtlijnen en in een ISO standaard [ISO/IEC 24570] en zou daarmee gesneden koek moeten zijn, maar niets is minder waar. Dat de standaard bestaat uit een document van meer dan 200 pagina’s geeft al aan dat het behoorlijke kennis vergt om deze standaard eenduidig toe te kunnen passen. Een risico is dat de richtlijnen op verschillende manieren worden geïn terpreteerd met als gevolg verschillen in het aantal functiepunten. Een gedegen opleiding en begeleiding door ervaren tellers is dan ook heel belangrijk. FPA is immers een beoordelingsmethodiek en geen exacte wetenschap. Door bewuste of onbewuste aannames kunnen functiepunttellingen op onder delen verschillen terwijl de totalen gelijk kunnen zijn. Aannames en tellingen van onderdelen dienen dan ook altijd te worden vergeleken. Ook bij ervaren tellers geldt dat de telling door een tweede persoon moet worden gereviewd of dient een onafhankelijke telling te worden uitgevoerd om voldoende nauwkeu righeid te garanderen. Inzicht in de oorzaak en mate van verschillen in tellingen geeft een goede indicatie van de risico’s, die vervolgens in het project moeten worden gemanaged.
en de producten die in dit proces worden opgeleverd definiëren. De standaardisatie dient ook de beinvloedingsfactoren te definieren en aan te geven wanneer FPA wel of niet toepasbaar is.
Applicatiebeschrijving Het gebruik van FPA om een begroting
Om een nauwkeurige omvang te bepalen, dient een applicatiebeschrij
op te stellen, is risicovol. De kans dat de
ving voldoende te zijn uitgewerkt en een functioneel ontwerp te bevat
berekeningen niet kloppen, is groot.
ten. Om te komen tot applicatiebeschrijving worden de volgende fasen doorlopen:
• Projectidee
Om een functiepuntenanalyse uit te kunnen voeren op basis van een Het gevolg is een vaak onacceptabele afwijking tussen de begroting en
projectidee, is het belangrijk dat deze is gebaseerd op basis van behoef
de werkelijke kosten. Om de risico’s in dit proces te begrijpen is het be
ten vanuit de business, die bij voorkeur zijn vastgelegd in een enterprise
langrijk om inzicht te hebben in de stappen.
architectuur. Het proces om te komen tot een projectidee dient te zijn
De eerste stap in dit proces is de applicatiebeschrijving of de input die
gestandaardiseerd, omdat het de basis vormt van een eerste versie van
wordt gebruikt voor de omvangbepaling. Zonder goede documentatie
een business case. Onderdeel van een business case is een indicatie
wordt het lastig, zo niet onmogelijk om een accurate FPA uit te voeren en
van de kosten. Een uitgebreide en accurate functiepuntanalyse is in deze
te komen tot een nauwkeurige omvang van het te realiseren systeem.
fase echter nog niet mogelijk. Wel is het mogelijk om een indicatieve
De tweede stap in het proces is de functiepuntanalyse, waarin middels
functiepuntanalyse uit te voeren. Het is oppassen dat het aantal indica
een telling de omvang van het te realiseren product wordt bepaald.
tieve functiepunten niet als definitief aantal wordt beschouwd, omdat de
Bij het maken van een begroting is het belangrijk om de factoren te
mogelijke nauwkeurigheid beperkt is tot een marge van +/- 50%.
bepalen die de productiviteit en dus de prijs per functiepunt beïnvloeden
• Systeemeisen
(derde stap).
Nadat het idee is goedgekeurd voor verdere uitwerking, wordt een
De laatste stap is het maken van een begroting op basis van het aantal
beeld gevormd van welke eisen aan het nieuwe systeem worden ge
functiepunten en de vastgestelde beïnvloedingsfactoren.
steld. Tegenwoordig gebeurt dit vaak behulp van Use Case beschrijvin
Het is belangrijk dat leveranciers standaarden hebben om de consisten
gen. Deze fase maakt het al een stuk duidelijker welke functionele ge
tie van begrotingen te vergroten. Deze standaarden moeten het proces
bieden worden geraakt. Nu is een indicatieve functiepuntanalyse zeker appworks juli/augustus 2010
9
Applicatie beschrijving
Functiepunt analyse
Beïnvloedings factoren
Begroting
Deze stappen zijn nodig om tot een transparante begroting voor een
mogelijk, met de nadruk op indicatief en dus niet bruikbaar voor een
softwareontwikkelproject te komen.
definitieve omvangschatting. Door de wet van de grote aantallen wordt de kans op een omvangsschatting die uitkomt nabij de uiteindelijke om vang groter. Dus hoe groter een project des te kleiner de kans op een
aanlevert en de partij die de realisatie uitvoert in een zo vroeg mogelijk
grote percentuele afwijking tussen inschatting en de werkelijke omvang.
stadium afstemmen en tot overeenstemming komen.
•
• Functioneel ontwerp
Globaal ontwerp
Een globaal ontwerp of een Solution Architectuur is nodig om de eisen te
Het functioneel ontwerp of de functionele architectuur wordt opgesteld
vertalen in een oplossing. Idealiter wordt deze fase iteratief uitgevoerd
op basis van van het globaal ontwerp of de Solution Architectuur. Op basis
waarbij oplossingen en eisen voordurend worden bijgesteld aan elkaar.
van dit functioneel ontwerp is het mogelijk een gedetailleerde functie
Als deze fase is afgerond, is een globale functiepuntenanalyse mogelijk
puntanalyse uit te voeren. De nauwkeurigheid van deze telling hangt af
en kan worden bepaald welke beïnvloedingsfactoren relevant zijn. Omdat
van de kwaliteit van het functioneel ontwerp.
nog geen gedetailleerde documentatie beschikbaar is, moet in deze fase
Als deze kwaliteit onvoldoende is zal, ondanks de uitvoering van een ge
rekening worden gehouden met een mogelijke variatie van het aantal
detailleerde functiepuntanalyse, de nauwkeurigheid nog steeds beperkt
functiepunten van +/- 35%.
zijn en meer dan gemiddeld afwijken van de realiteit. Het is belangrijk
In de praktijk wordt deze fase van een project veelal niet of nauwelijks uit
dat de functiepunttellers deze afwijking signaleert en ook rapporteert aan
gevoerd en worden direct functionele of technische ontwerpen gemaakt.
zijn opdrachtgever.
Als gevolg hiervan is het globaal ontwerp vaak nog zo rudimentair dat de functiepuntanalyse op onvolledige invoer is gebaseerd en nauwe
Toepasbaarheid van FPA
lijks waarde heeft. Het is dan ook van belang dat de partij die de eisen
Functiepunten analyse is bedoeld voor transactiegebaseerde systemen waarbij het aantal transacties representatief is voor de omvang van het systeem. Meestal zijn dit administratieve systemen met een duidelijke gebruikersinteractie. Soms bevatten transactiegebaseerde systemen complexe berekeningen. Deze complexiteit wordt niet vertaald in de functionele omvang; de kans is groot dat de begroting niet klopt met de realiteit. Complexiteit is dan ook een belangrijke beïnvloedingsfactor. Technische systemen die weinig gebruikersinteractie hebben zijn niet geschikt voor functiepuntanalyse doordat er geen of een beperkt aantal transacties is dat geteld kan worden en daarmee niet representatief voor de begroting. Er zijn nieuwe ontwikkelingen op het gebied van functie punten (bijvoorbeeld Cosmic Full Function Points) die meer geschikt zijn voor technische systemen, maar in dit artikel buiten beschouwing worden gelaten. Een nieuwe ontwikkeling is het gebruik van functiepuntanalyse voor het begroten van pakket implementaties. Dit vereist wel dat voldoende documentatie van de te implementeren functionaliteit beschikbaar
Een gebrek aan standaarden (zoals de meter) maakt het
is. Doordat het meestel gaat om standaard functionaliteiten is deze
lastig een FPA te gebruiken als basis voor het opstellen
functionaliteit vaak niet of beperkt gedocumenteerd. Dit maakt het tellen
van een begroting voor softwareontwikkeling.
van functiepunten lastig. Over de toepasbaarheid van functiepunten voor pakketimplementaties bestaat nog twijfel.
10
appworks juli/augustus 2010
In de bouwsector is kostprijsberekening een vak op zich.
Kwaliteit van gebruikte documentatie Als documentatie beschikbaar is met voldoende diepgang, dan nog is het voor een goede FPA-telling belangrijk dat de documentatie van voldoende kwaliteit is. Als de documentatie niet of onvoldoende is gereviewd, kan
Begroting
deze nog allerlei onjuistheden en onduidelijkheden bevatten die later
Begroting is uiteindelijk de stap om te komen tot een prijs per functie
leiden tot discussie en in dit stadium tot een verkeerd aantal functie
punt. Hierin zitten twee belangrijke factoren:
punten. De functiepuntanalist dient dan ook voor de start van de telling
• het aantal functiepunten zoals die tijdens de telling is vastgesteld; • de prijs zoals vastgesteld op basis van de beïnvloedingsfactoren en
de kwaliteit van het document te toetsen.
de productiviteit.
Beïnvloedingsfactoren
Om het nog complexer te maken: ook het aantal functiepunten heeft
Om een prijs per functiepunt te bepalen, is het belangrijk om na te gaan
invloed op de uiteindelijke productiviteit en daarmee de prijs per functie
welke factoren de prijs beïnvloeden. Voorbeelden van beïnvloedings
punt. Omvang is namelijk één van de beïnvloedingsfactoren met een
factoren zijn de volwassenheid van de ontwikkelorganisatie; samen
totaal niet lineair beïnvloedingspatroon. Dit wordt vaak niet onderkend,
stelling, kennis en ervaring van het team; bekendheid van projectleden
waardoor de foute aanname wordt gedaan dat als een project 2x zo groot
met de materie; de gekozen ontwikkelmethodiek; activiteiten / producten
wordt de kosten ook 2x zo hoog zijn. In de praktijk nemen de kosten in
die deel uitmaken van de begroting; doorlooptijd van het project; volle
veel grotere mate toe.
digheid en concreetheid van de eisen.
Voor het bepalen van de productiviteit en de kosten is het essentieel
Andere factoren zijn beschikbaarheid van de vereiste documentatie;
ervaringscijfers te hebben. Er zijn allerlei benchmarkgegevens en
kwaliteit van de producten; omvang van het te leveren systeem;
benchmark-tools met ervaringscijfers op de markt beschikbaar. De cijfers
complexiteit van het te leveren systeem; en architectuureisen voor het te
zijn echter primair bedoeld om een organisatie te benchmarken. Een klant
leveren systeem (non functionals).
kan bepalen in hoeverre een aanbieding afwijkt van het marktgemiddel
Als deze factoren niet of onvoldoende inzichtelijk zijn, dan kan dit grote
de. Een leverancier kan de benchmarkgegevens gebruiken om te bepalen
gevolgen hebben voor de begroting van het project.
of zijn productiviteit in de buurt ligt van die van andere organisaties. appworks juli/augustus 2010
11
Het gebruiken van de benchmark gegevens voor het bepalen van de
dat dit impact heeft op de originele begroting dat het verstandig is de
productiviteit is een risico omdat dat deze cijfers niet in iedere organisatie
impact opnieuw te berekenen. Dit is evenwel arbeidsintensief; wie gaat
zonder meer toepasbaar zijn. Het hebben van eigen ervaringscijfers heeft
dat betalen?.
dan ook de voorkeur.
Change requests die betrekking hebben op de opleverdatum van projecten en vooral waarin deze wordt vervroegd zijn een bron van problemen.
Change management
Er is geen lineair verband tussen omvang en kosten, zo is er ook geen
Als een prijs per functiepunt is afgegeven zonder duidelijke aannames,
lineair verband tussen inzet van mensen en doorlooptijd. Als er een be
uitgangspunten en afspraken dan levert dit voor zowel klant als leveran
groting is gemaakt voor een project is die begroting alleen geldig voor die
ciers risico’s op. Bijvoorbeeld bij change requests, geldt dan dezelfde prijs?
berekende omvang en doorlooptijd. Door projectfactoren zoals doorloop tijd en bemensing te veranderen, moet een begroting opnieuw worden
Begroting is uiteindelijk de stap om te
gemaakt. Hierbij geldt dat de kans op het mislukken van een project toeneemt met het krimpen van de beschikbare tijd.
komen tot een prijs per functiepunt. Referenties
• Alain Abran, Jean-Marc Desharnais, Serge Oligny, Charles Symons, Cosmic Functional Size Measurement Method, version 3.0.1
•
Ars Conjectandi (De kunst van het opstellen van vermoedens); Software
•
Jan Jaap Cannegieter, Erik van Veenendaal, Eric van der Vliet, Mark van
Engineering Economics. Prentice Hall, 1981
der Zwan. Reviews in de praktijk. Academic Service 2008.
• Clinger Cohen Act; wet in de Verenigde Staten uit 1996 ter bevordering van efficiënte IT-investeringen bij de overheid door een verplichte Enterprise Architectuur
•
Cockburn 2002; ‘Use cases, ten years later. Oorspronkelijk gepubliceerd in STQE Magazine, Mar/Apr 2002.
Nieuw is het gebruik van functiepuntanalyse voor het
• Gilb, T & Graham, D. Software Inspections. Addison Wesley, 1993 • ISO/IEC 24507. Functional size measurement method, 2005 • Jacobson; Object-Oriented Software Engineering. Addison Wesley
begroten van een pakket implementatie. Dit vereist wel dat voldoende documentatie van de te implementeren functionaliteit beschikbaar is.
Professional, 1992
•
Jones, C. Software Assessments, Benchmarks, and Best Practices. Addison Wesley, 2000
• • Nesma; Definities en Telrichtlijnen voor de toepasing van functiepunten Jones, C. 1997 Applied Software Measurement. McGraw Hill, 1997
Wat als het aantal functiepunten toch meer blijkt te zijn? Is dit voor kosten van de leverancier of toch de klant? Wat zijn de afspraken met betrekking tot kwaliteit? Een product kan dan misschien wel worden opgeleverd, maar als de kwaliteit onvoldoende is, dan nemen de kosten tijdens de garantieperiode en in beheer navenant toe. Bij wie ligt dit risico? Wat als de klant ineens vraagt om een kortere doorlooptijd? Ervaring en bench marks tonen aan dat de prijs daarmee toeneemt. Zijn hier duidelijke af spraken over gemaakt?
analyse v2.2. Nesma, 2004Fred J. Heemstra en Rob J. Kusters. Wat bepaalt de kosten van ERP-implementatie? Management accounting 2005
• • Verhoef; Quantifying the Value of IT-Investments, Free University of SEI. CMMI for Development v1.2. CMU/SEI-2006-TR-008. 2006
Amsterdam, Department of Mathematics and Computer Science
• Yang, Y., Chen, Z., Valerdi, R., Boehm, B., Effect of Schedule Compression on Project Effort, 27th Conference of the International Society of Parametric Analysts, June 2005, Denver, CO.
Change requests zijn onderdeel van elk project. De invloed van het toevoegen van nieuwe functionaliteit is groot als daarmee een project substantieel in omvang toeneemt. Zolang de totale groei of krimp van een projectomvang niet meer dan 1% bedraagt, kan nog worden vol
Eric van der Vliet is Lead Expert Estimating bij Logica Nederland
staan met een impactbepaling voor de change zelf. Als de groei, of de
Jelle de Vries is Solution Architect en productmanager metrieken bij Ordina
wijzigingsgraad, van een project meer wordt, dan is het risico zo groot
12
appworks juli/augustus 2010
requirements
duidelijke manier te vertellen, de rest van het team enthousiasmeren. Hij kan ervoor zorgen dat het team zijn visie begrijpt, daarmee focus krijgt en zijn wensen snapt! Dus niet meer de nadruk op requirements schrijven, backlog
Product Owner: vertel je verhaal!
vullen en gereed hebben voor een volgende Sprint, maar vragen van teamleden beantwoor den en bevestigen dat het team inderdaad het juiste gebouwd heeft. Niet meer proberen voor het team uit te rennen maar samen met het team een oplos sing realiseren! Door telkens weer zijn verhaal te vertellen, details te geven en te luisteren naar de feedback ontstaat een steeds grotere interactie. Deze interactie tussen mensen om
Geen stapels met papieren waarop requirements staan geschreven, maar een gloedvol betoog. Als Product Owners gewoonweg vertellen wat hun bevindingen zijn, en daarmee het team enthousiasmeren, dan lopen softwareprojecten een stuk beter.
werkende software opgeleverd te krijgen is noodzakelijk. Interactie binnen het team maar ook met de klant! Een Product Owner die goed onder woorden kan brengen wat hij wil, vertelt bijvoorbeeld niet alleen dat hij een fiets wil, maar ook dat hij daarmee door de Ardennen wil fietsen. Dat detail zorgt ervoor dat de teamleden begrijpen dat er een aantal randvoorwaarden zijn waar aan die fiets moet voldoen. Doet hij dit goed, dan raakt zijn team enthousiast. Enthousiaste
Geert Bossuyt
teamleden stellen vragen waarop ingespeeld kan worden en voelen zich ook meer verant woordelijk voor de resultaten.
Mijn zoon zat dit weekend bij zijn grootmoeder
een Product Owner onder andere een dui
Enthousiasme
op schoot. Zij vertelde hem een verhaal waar
delijke visie hebben op wat hij wil realiseren
Een goed project staat of valt met de rol die
hij helemaal in opging. Hij stelde allerlei
en dit helder kunnen vertalen naar de nood
de teamleden invullen en de mate waarin
vragen, vulde aan en had alleen nog maar oor
zakelijke functionaliteit. Hiermee zorgt hij voor
deze leden hun verantwoordelijkheid nemen
voor haar. Ik was vertederd door zijn jeugdig
focus. Daarnaast moet hij goed kunnen uitleg
voor de uit te voeren activiteiten. De rol van
enthousiasme. Tegelijkertijd vroeg ik me af
gen waarom deze functionaliteit noodzakelijk
Product Owner kan een stuk efficiënter worden
waarom volwassenen maar zelden een zelf
is en met welke prioriteit deze moet worden
ingevuld door in plaats van veel papier met
de soort enthousiasme tonen. Volwassenen
geïmplementeerd. Verder wordt van hem ook
requirements te produceren de interactie te
lachen, knikken en soms stellen ze vragen. Zel
nog feedback verwacht op de reeds ontwik
zoeken.
den tref ik een volwassene met rode wangen,
kelde functionaliteit. Dit zijn een hoop taken
Ik roep Product Owners op om hun verhaal te
overlopend van enthousiasme, over iets waar
en verantwoordelijkheden waardoor menig
gaan vertellen, hun visie te geven en er te zijn
bij hij is betrokken of dat zijn aandacht heeft
Product Owner zijn rol als een zware taak ziet.
voor het team. Volgens mij verbetert dat de
getrokken.
Als vertegenwoordiger van de visie zou zijn rol,
productiviteit, kwaliteit en doorlooptijd enorm
Als Agile Coach ben ik bij diverse, zeer uiteen
denk ik, een stuk eenvoudig kunnen zijn. Het
en brengt het bovendien het enthousiasme
lopende, projecten betrokken waar vaak scrum
toverwoord is enthousiasmeren!
terug!
wordt gebruikt. Een belangrijke rol binnen scrum is weggelegd voor de Product Owner, die
Details geven
de stem van de business vertegenwoordigd.
In plaats van het uitschrijven van alle mogelijke
Om deze rol goed te kunnen vervullen, moet
requirements kan hij, door zijn verhaal op een
Geert Bossuyt is consultant bij Xebia
appworks juli/augustus 2010
13
persoonlijk
’IT moet echt iets toevoegen’ ’Het is toch wel raar dat IT-architecten helemaal niets ontwerpen, terwijl architecten van de gebouwde omgeving niets anders doen”, concludeert Douwe Pieter van den Bos na een gesprek met een ‘bouw’architect. Van den Bos ten voeten uit: inspiratie opdoen bij andere branches en prikkelende stellingen innemen. Zijn grondhouding: IT moet waarde toevoegen aan een organisatie. Teus Molenaar
Met een achtergond van Technische Bestuurs
detacheringsbedrijf Caesar Groep. Hij had er ge
kunde (TU Delft) heeft Van den Bos bewust
solliciteerd als Oracle-deskundige. Had immers
gekozen voor de IT als branche om in te werken.
cursussen Oracle Forms, Oracle Designer,
“Ik zocht een sector die op zichzelf volwassen
enzovoorts gedaan. Centraal Boekhuis zag
genoeg is, maar vervolgens ontvankelijk voor
meer in de jonge (Van den Bos is nu 30 jaar)
verbetering. Je kunt in bijvoorbeeld de petro
automatiseerder dan een softwareontwikkelaar
chemie gaan werken, maar die processen zijn
en vroeg hem requiremens te verzamelen voor
in de afgelopen honderd jaar al min of meer
enkele losse projecten. Daar leerde hij dat IT iets
de IT-groep en aparte afdeling is, en los lijkt
uitgekristalliseerd. Daar kun je niet veel meer
moet opleveren waaraan de gebruikersgroep
te staan van de rest van het bedrijf. “Eigenlijk
aan verbeteren. Als het om automatisering
behoefte heeft en waarmee de organisatie als
zou een business analist aan elk IT-project
gaat, dan doe je eigenlijk niets anders dan be
geheel vooruit komt.
moeten worden toegevoegd. De hele discussie
denken hoe je met technologie in staat bent de
14
over Business-IT Alignment, of IT Fusion, moet
bedrijfsprocessen beter te laten verlopen. Daar
Waarom doen we dit?
uitmonden in het gezamenlijk bepalen hoe
kun je nog wat betekenen. Dus werd het de IT.”
Elk IT-project moet volgens hem resultaatgericht
automatisering ten voordele is in te zetten.”
Bovendien ‘deed hij al iets met Linux’. “Ik
zijn. En dat is wat hem betreft niet alleen een
Wat dat betreft, wordt er – aldus Van den Bos –
vind het fascinerend hoe al die vrijwilligers
kwestie van de IT-afdeling, maar evenzeer van
al te vaak te veel het IT-domein in geduwd.
wereldwijd met elkaar samenwerken.” Van
de gebruikersgemeenschap. Het is hem een
“Als er een probleem is, dan mag de IT-afdeling
den Bos kon in 2006 meteen aan de slag bij
doorn in het oog dat bij de meeste bedrijven
dat oplossen. Terwijl de oplossing ook vaak is
appworks juli/augustus 2010
IT-afdeling, maar ook bij de gebruikers, bij de
te maken, maar met het besef dat mensen niet
projectleiders. Je .hoort vaak dat iets goed is,
allemaal op dezelfde manier willen werken.
omdat ze het al tien jaar op die manier doen.
Deze ontwikkeling is volgens mij ingezet onder
Toch hoeft dat niet per se de beste oplossing te
druk van de consumentensoftware. Op dat vlak
zijn. Daar moeten mensen voor open staan.”
is nu nog veel meer mogelijk dan bij bedrijfs
Hij benadrukt dat softwareontwikkeling ook
software. Mensen willen op hun werk hetzelfde
maar een bedrijfsprocesje is. “Wij houden
kunnen doen wat zij thuis doen.”
zogenoemde metaplan-sessies met de betrok kenen – ook van de business – om met een
Oracle ACE
frisse blik naar uitdagingen en mogelijke oplos
Inmiddels werkt Van den Bos een klein jaartje
singen te kijken. Om tunnelvisies te herkennen
bij Whitehorses (Oracle- en Java-specialisten).
en kwijt te raken.”
“De visie en mentaliteit van dit bedrijf past precies bij mijn opvattingen. Er heerst bij de
Drie elementen
ongeveer 35 medewerkers een ondernemers
Van den Bos onderscheidt drie elementen die
geest”, zegt hij hierover.
een rol spelen bij het succesvol tot een goed
Onlangs is Van den Bos opgenomen in het
eind brengen van automatiseringsprojecten.
gelauwerde gezelschap van Oracle ACE’s. Er
Dat begint met analyse en ontwerp. Ga grondig
zijn zo’n vijftien van dergelijke deskundigen
na wat de uitdaging is en of dit met IT is op te
in Nederland. De benoeming kwam voor hem
lossen. Maak vervolgens een ontwerp van die
trouwens als een verrassing. “Ik heb vorig jaar
oplossing.
een boek geschreven over Oracle Applications
Een goed beleid van een IT-project is het
Express; en dan vooral over hoe je van Oracle
tweede element. “Daarbij moet je niet met
Forms naar APEX overgaat. Iemand die onder
een budget werken, maar waarde toeken
de indruk was van dit drukwerk heeft mij voor
nen aan de problemen en mogelijke oplossin
gedragen en vervolgens heeft het Oracle be
gen. Als iets goed meetbaar is, dan is het wel
haagt mij tot ACE te slaan.”
automatisering. We pakken het alleen te vaak
Nee, hij wordt sindsdien niet herkend in de
verkeerd aan.”
supermarkt, lacht hij. Maar zijn ACE-status
Ten slotte het derde element: technologie. “Uit
heeft wel voordelen. “Ik werk binnen projec
eindelijk heb je, bij wijze van spreken, toch een
ten meestal als analist of ontwerper. Sinds ik
hamer of een beitel nodig om iets te maken.
Ace ben, merk ik dat softwareontwikkelaars en
Het gaat erom een bewuste keuze te maken.
databasebeheerders mij nu meer als een ge
Daarnaast is technologie tegenwoordig een
lijke beschouwen. Mijn taak is het de techniek
essentieel onderdeel van bedrijfsstrategie; zij
te vertalen naar een bedrijfsstrategie (en an
kan daadwerkelijk helpen nieuwe markten aan
dersom); het vertrouwen van technici is daarbij
te boren of vooruitstrevend te werken. Dit is
onontbeerlijk.”
een grote overgang van ‘u vraagt, wij draaien’
Inspiratie zoek Van den Bos overal. Hij wil over
naar meedenken en innoveren. Dit is een van
muurtjes heen kijken. “Daarom had ik onlangs
te vinden in het anders organiseren van een
de doelen van IT-Business alignment. Als deze
een gesprek met een architect. Die ontwerpt
bedrijfsproces; zonder automatisering.”
drie elementen kloppen, dan kan er niks mis
een gebouw waarbij hij rekening houdt met
Hij zegt te vaak IT-projecten tegen te komen
gaan met een project”, is zijn overtuiging.
de wensen van de toekomstige gebruikers
die al anderhalf jaar lopen en nog niets hebben
Overigens ziet hij wel dat de praktijk ten goede
en de technische mogelijkheden. Er zijn veel
opgeleverd; niemand voelt zich er blijkbaar
aan het veranderen is. “Er is meer interesse
parallellen. Wat dat betreft is het raar dat IT-
verantwoordelijk voor. “En in die anderhalf
voor de waardebepaling van software-oplos
architecten niets ontwerpen, zich eigenlijk
jaar heeft niemand zich afgevraagd: ‘Waarom
singen. En technisch is er ook meer mogelijk.
alleen met de infrastructuur bezig houden.”
doen we dit eigenlijk?’ Mijn doel is inzichtelijk
Er verschijnt nu software die op de achtergrond
te maken welke kennis er leeft binnen een
precies dezelfde is, maar de secretaresse een
organisatie, en ervoor te zorgen dat mensen
heel andere interface voorspiegelt dan de
hun oogkleppen kwijt raken. Iedereen: op de
manager. Dat heeft niet alleen met de rechten
Teus Molenaar is hoofdredacteur van AppWorks
appworks juli/augustus 2010
15
testen
Emoties bij het testproces
’Waarom doen testers de dingen die ze doen?’ Met deze vraag heb ik me al tijden bezig ge houden. Je zou namelijk verwachten dat IT’ers bij uitstek rationele mensen zijn die de dingen die ze doen, uitvoeren volgens een weldoor dachte aanpak. We maken een fraai proces en instrueren de mensen hierover. Toch vallen de IT-producten vaak anders uit dan de opdrachtgever tevoren had gedacht. Hoe langer ik in het testen (en het IT-vak in het algemeen) werk, hoe meer ik merk dat emoties een belangrijke rol spelen.
Angst In de jaren 80 was er een ongegronde angst voor computers. Voor veel mensen was een computer namelijk een onbekend ding dat magische krachten leek te bezitten. Het klein orkest zong er zelfs over in ‘Koos Werkeloos’; refrein: “Kijk he, je hoort vaak zeggen waar moet dat heen; Straks doen computers al het werk alleen. Maar mensen, het gaat toch prima zo. Gratis vrije tijd kado en dat is voor Koos geen probleem”. Inmiddels weten we dat hun vrees ‘Straks doen computers al het werk alleen’ niet be Het testproces heeft soms veel weg van een ‘spokenhuis’.
waarheid is. Computers (en robots) hebben wel veel mensenwerk overgenomen, maar daar zijn andere activiteiten voor in de plaats gekomen. Neem nou e-mail. Je denkt toch niet dat we in de jaren 80 een kwart van onze tijd besteedden met memootjes naar elkaar typen!
Bij het testen van software spelen veel gevoelens, waaronder angst (om fouten te maken, om als dom te worden bestempeld), een rol. Niet alleen bij de tester, maar ook bij de opdrachtgever, de projectleider, de ontwikkelaar en eindgebruiker. Een verhandeling over de psychologie van het testen.
Tegenwoordig is de angst voor computers verdwenen. Het tegendeel lijkt eerder opgeld te doen: men is te goed van vertrouwen en zet z’n hele hebben en houden op internet. Maar emoties spelen zeker nog een rol in het werk.
Nog meer angst Zo kom ik bijvoorbeeld luie testers tegen die geen testontwerptechnieken gebruiken of het een beetje uit de losse pols doen met als argument dat het anders te veel tijd kost. Maar de echt luie testers hebben al lang ont
Rik Marselis
dekt dat juist door toepasing van testontwerp technieken het testen minder inspanning kost. (zie ook het artikel in de AppWorks van maart 2010 en het TMap NEXT boek [1])
16
appworks juli/augustus 2010
Of testers besluiten toch maar geen explora
faalt. Dan denken ze al heel snel dat het nieuwe
tory testing als testontwerptechniek te kiezen
informatiesysteem nooit meer wat zal worden.
voor een systeemonderdeel met laag product
Terwijl ze - goed beschouwd - nog helemaal
risico, omdat ze bang zijn dat ze dan toch een
niets van het nieuwe systeem hebben gezien.
belangrijke fout over het hoofd zien. Onzeker
Bij al deze emoties speelt een gemeen
heid speelt hen parten, want als de belang
schappelijk fenomeen dat bekend staat als
hebbenden het productrisico als laag hebben
F.E.A.R.
ingeschat, dan kun je toch per definitie geen belangrijke fouten in dat onderdeel hebben?
F.E.A.R.
Anders was de inschatting fout, maar dat kan
Vorig jaar las ik het boek ‘Perfect Software
de tester niet kwalijk genomen worden.
and other illusions about software testing’ van
Angst om voor dom te worden uitgemaakt,
Gerald Marvin (Jerry) Weinberg [2]. Dit boek
speelt een rol bij testers die geen ervaring
was voor mij een feest van herkenning. En ook
hebben met testtools. Ze gebruiken geen tools,
van nieuwe inspiratie.
omdat ze bang zijn dat ze in het begin fouten
Zo beschrijft Jerry de theorie over F.E.A.R. van
op je primaire verdedigingsmechanismen die
zullen maken. Maar ja, dat hoort nu juist bij
Thomas Crum. Het acroniem staat voor ‘Fantasy
niet door je verstand gestuurd worden.
leren.
Experienced As Reality’.
In onze huidige, geïndustrialiseerde wereld
De algemene emotie van projectleiders is
Bij de emoties die ik in de vorige paragraaf be
zijn die verdedigingsmechanismen (die nog
ongeduldigheid. Nadat er al twee keer een
schreef, speelt precies dit fenomeen een rol.
stammen uit de tijd dat onze voorouders
regressietest is gedaan om vast te stellen of
In alle gevallen handelen mensen vanuit een
holbewoners waren) niet erg effectief. Onze
bugfixes geen nieuwe fouten hebben geïntro
onvolledig of onjuist beeld van de werkelijk
overlevingsdriften nemen het over. Dat is wat
duceerd, dringen ze bij de testers aan om de
heid. Thomas Crum beschrijft dat als: “Wij wor
FEAR zo vervelend maakt.
regressietest voortaan maar over te slaan, om
den bezeten door bange gedachten over een
dat er de vorige keren ook geen bevindingen
toekomstige mogelijkheid gebaseerd op onze
Samenwerking
uit zijn gekomen. Maar ja, een regressietest is
ervaringen uit het verleden (werkelijk of inge
Hoe ga je met de verschillende emoties om?
nu juist het vangnet voor het geval het wel een
beeld)”. En juist waar iemand een fantasie heeft
Neem nu angst. Sommige testers leggen niet
keer mis gaat.
waarvan hij denkt dat het echt is, daar gaat het
alle bevindingen vast, omdat ze bang zijn voor
Voor gebruikers is het moeilijk om door hun
mis. Door het onjuiste beeld gaan emoties een
de reacties van de ontwerpers en ontwikke
emoties heen te kijken als de testomgeving
belangrijke rol spelen. Bij emoties val je terug
laars. Maar die (vervelende) reacties zijn vaak
Vroeger waren mensen bang voor computers.
ook weer gebaseerd op FEAR, een onvolledig beeld (wat is de omgeving van het systeem) of een onjuist beeld (de testers zijn er alleen maar op uit om ontwikkelaars te pesten). Een bekende misvatting is dat een informatie systeem beter wordt door te testen. Helaas,
Fouten opsporen en oplossen is veel minder leuk dan nieuwe dingen maken. testers veranderen niets aan de kwaliteit. Ze meten alleen de kwaliteit en rapporteren daar over. Ontwikkelaars verbeteren de kwaliteit. Met gebruikmaking van de informatie die zij van de testers krijgen. De juiste kwaliteit van een informatiesysteem is dus alleen maar appworks juli/augustus 2010
17
te bereiken als de ontwikkelaars en testers
Ongeduldigheid
gaan bereiken. En hoeveel de besparingen daar
samenwerken. Dan blijkt al gauw dat beide
Ik was bezig met een testprocesverbetering
na zouden worden. Door deze verwachtingen te
beroepsgroepen uit ‘gewone mensen’ bestaan
(gebaseerd op TPI NEXT) toen de opdrachtge
managen verdween de desillusie gelukkig.
en dat je er samen best uitkomt.
ver belde. Hij bleek duidelijk geëmotioneerd;
Ook bleek de opdrachtgever te begrijpen dat
De angst was onnodig en de realiteit een ver
hij was boos. Dat werd veroorzaakt door een
we weliswaar sneller besparingen zouden kun
ademing. Het kan zelfs nog gezellig worden
andere emotie. Ongeduldigheid.
nen bereiken door de ambities te verminde
ook!
Bij de start van de testprocesverbetering had
ren, maar dat dan de totale besparingen lager
den we aangekondigd dat het testen beter en
zouden zijn. Door betere communicatie van
Niet uitstellen
goedkoper zou worden. Helaas moet je daar
onze kant is de fantasie van de opdrachtge
Waarom zou je iets nu doen als je het ook
eerst wat voor doen. Dus in het begin wordt het
ver (het wordt niet goedkoper) omgezet in de
later kan doen? Dat lijkt wel de belangrijkste
even duurder (de kost gaat voor de baat uit). De
realiteit dat we op de goede weg waren.
reden voor Barry Böhm (emeritus professor
verwachting van de ongeduldige opdrachtgever
Zoals TPI NEXT [3] het zegt: ‘communicatie is
software engineering aan de Universiteit van
was echter dat die verlaging van kosten al op
een manier van team building’.
Zuid-Californië) om zijn ‘Böhm-curve’ wereld
korte termijn zou gebeuren. Dus bereikte hij al
kundig te maken. Hij beschreef namelijk al in
snel het ‘punt van desillusie’.
Lessen van Covey
1979 dat als je een fout vroegtijdig vindt en
Wij hebben de opdrachtgever toen uitgelegd
In 1989 publiceerde Stephen Covey het boek
oplost dat veel goedkoper is dan wanneer je
wanneer wij de geplande besparingen zouden
‘The 7 habits of highly effective people’ [4] en
dat later doet. Toch wordt er - om maar wat te noemen nog veel te weinig tijd besteed aan vroegtij
De juiste kwaliteit van een informatiesysteem is dus alleen maar te bereiken als de ontwikkelaars en testers samenwerken. dige reviews van requirements- en ontwerp documenten. Dat is niet meer met goed fatsoen te verklaren door een gebrek aan kennis (iedereen kent deze theorie toch wel?). Dan moet er iets anders aan de hand zijn. Uit stelgedrag. Nu even ‘knallen’ en later de brok stukken opvegen. De echt luie IT’ers hebben echter al lang ge leerd dat vroegtijdig reviewen op termijn heel veel (vervelend!) werk scheelt. Want fouten opsporen en oplossen is veel minder leuk dan nieuwe dingen maken. Dus vervang je uit stelgedrag door echte luiheid! En weer is een stukje fantasie (later kan het ook nog wel) vervangen door realiteit (nu even zorgen voor kwaliteit en later geen gedoe). Niet voor niets luidt een gewaardeerd Neder lands gezegde: ‘Stel niet uit tot morgen, wat je vandaag kunt doen’.
18
appworks juli/augustus 2010
De angst (voor een atoomoorlog) verbeeld naar het beroemde schilderij van Edvard Munch.
inspireerde daarmee miljoenen mensen over de hele wereld. Ook voor testers zijn er vele wijze lessen uit te leren. Bijvoorbeeld: ‘Begin with the end
in mind’. Bijna alle testmanagers die ik ken, beginnen een project met het maken van hun testplan. Ik zeg dan: FOUT. Wat is het (enige!) resultaat van testen waar de opdrachtgever echt op zit te wachten? Het testrapport. Dus als testmanager begin je met het maken van de inhoudsopgave van het testrapport. Die stem je af met de opdrachtgever. Dan sluit je precies aan bij zijn informatiebehoefte. En die informatiebehoefte is de basis voor alle
volgende activiteiten. Door dus te beginnen met het testrapport kun je ook een effectiever en efficiënter testplan Source: Erik van Veenendaal
maken. Bovendien kun je makkelijk tussentijds rapporteren volgens dezelfde structuur. Waar
Grafiek van het testersgeluk. Op de x-as het aantal gevonden fouten
door de opdrachtgever het rapport als het ware
of dekkingsgraad, en op de y-as het geluksgevoel van de tester.
ziet groeien en dus veel meer gerust is op het goede verloop van het testproject. Bovendien kan hij bijsturen als dat nodig is (tenslotte
kwaliteit van het systeem. Die kwaliteit heb je
testen we tegenwoordig ‘business driven’) of
zelf namelijk niet in de hand.
actie nemen naar de ontwerpers of ontwikke
Hoe kun je als tester wel je geluk in eigen hand
laars als de testrapportage de indruk geeft dat
houden? Bijvoorbeeld door dekkingsgraad. Als
de kwaliteit achterblijft bij de verwachtingen.
tester doe je een productrisico-analyse. Op
Door gebruik te maken van de theorie van
basis daarvan bepaal je (uiteraard in overleg
Stephen Covey krijgt de opdrachtgever snel
met de opdrachtgever) welke testzwaarte
de realiteit onder ogen en hoeft dus niet de
nodig is om de opdrachtgever voldoende
angst te hebben dat hij op een laat moment
zekerheid over de kwaliteit van het systeem
verrassingen krijgt. Ook hier is de FEAR
te geven.
bestreden.
En vervolgens doe je als tester je best om die testzwaarte zo goed mogelijk te bereiken,
Testersgeluk
door het toepassen van de juiste testontwerp
Tot slot laat ik graag – geïnspireerd door Erik
techniek.
van Veenendaal – de bij dit artikel afgebeelde
Als je een techniek met te lage dekkingsgraad
grafiek van testersgeluk zien. Als een tester
gebruikt, ben je wel lekker snel klaar, maar heb
geen fouten vindt, dan is hij wel lekker aan
je toch geen goed gevoel. Als je de adequate
het testen, maar toch niet helemaal gelukkig.
techniek gebruikt, voel je je helemaal top en
Als die tester een redelijk aantal fouten vindt,
kun je bewijzen dat je effectief en efficiënt
voelt hij zich als een vis in het water. Wanneer
bezig bent. En als je toevallig toch een te zware
het aantal fouten echter oploopt tot onver
techniek zou gebruiken, dan merk je aan je
wachte hoeveelheden, dan is er voor de tester
eigen gevoel al dat je niet optimaal bezig bent.
geen lol meer aan. Het testen gaat niet vlot; hij
Het gebruik van dekkingsgraad als maatstaf
blijft bevindingen schrijven en het vooruitzicht
voor jouw geluk is dus weer een manier om
van ontelbare hertests is ook niet prettig.
FEAR te lijf te gaan. Met juiste en volledige
Maar: als tester ben je eigenlijk wel dom
kennis van de werkelijke omstandigheden zit
bezig als je jouw geluk laat afhangen van de
je lekkerder in je vel!
Aanbevolen literatuur [1] TMap NEXT voor resultaatgericht testen, 2006, Tim Koomen, Leo van der Aalst, Bart Broekman en Michiel Vroon, Uitgeverij Tutein Nolthenius, ISBN 90-72194-79-9 [2] Perfect Software and other illusions about software testing, 2008, Gerald M. Weinberg, Dorset House Publishing, ISBN 978-0-932633-69-9 [3] TPI NEXT Business Driven Test Process Improvement, 2009, Sogeti, Uitgeverij Tutein Nolthenius, ISBN 90-72194-97-7 [4] The 7 habits of highly effective people, Stephen R. Covey, Simon & Schuster, ISBN 978-0-684-85839-5
Rik Marselis is Test Strateeg bij Sogeti
appworks juli/augustus 2010
19
agile
Kledingrekken blijven overeind De uitvoering van een Agile-project, om efficiënter tot werkende applicaties te komen, vereist de betrokkenheid van de business. Zoveel is wel duidelijk geworden uit presentaties van IT-dienstverleners tijdens Nextstep 2010, de gebruikersconferentie van Outsystems in Lissabon. Het Nederlandse Coolprofs, maar ook het Portugese Pessoas & Processos, hameren op de noodzaak dat de uitvoerders van bedrijfsprocessen actief meewerken aan de totstandkoming van de gewenste software.
Het leek aanvankelijk een raadsel: steeds als een vrachtwagen met kleding aankwam bij de Bijenkorf in Amsterdam lag alle kleding op de vloer van het voertuig; afgegleden van de kledingrekken. TNT Express had die ervaring bij geen enkele andere klant. Tot een chauffeur bedacht dat het euvel wel eens veroorzaakt kon worden door de tamelijk hoge verkeers drempels op het Damrak. Hij volgde een andere route en het euvel bleek verholpen. Maar de volgende dag was het weer mis: een andere chauf feur die de kortste route nam; inderdaad: over het Damrak. Een (web) applicatie waarin de chauffeurs hun ervaringen kunnen opgeven en aldus beschikbaar stellen aan collega’s leek een simpele oplossing. Toch lukte het de IT-afdeling van TNT Express niet om die toepassing te bouwen. Op Nextstep 2010 vertelden Ton Koot en Joop Stringer van Coolprofs hoe zij het wel voor elkaar kregen. Met het Agile platform van Outsystems (dat Portugal als thuisbasis heeft) zijn ze aan de slag gegaan. Het betrof een stand alone systeem met ongeveer 40.000 SU’s (software units), gebruik makend van een MS SQL database.”We hebben het precies volgens het Agile-boekje gedaan. Compleet met een workshop, sprints, demo’s, aanpassingen en dergelijke. Elke dag overleg met alle betrokkenen. De business was daar vanaf het begin bij, want die had zelf om deze applicatie gevraagd. “We hadden ge rekend op drie sprints, en dat is ook zo verlopen”, zei Springer. “TNT Express gniffelde in het begin dat het ons nooit zou lukken in zeven weken, maar
Teus Molenaar
halverwege kwamen ze erachter dat het toch precies volgens plan zou verlopen. De applicatie – met de naam GARD (Global Account Retention & Development) - is opgeleverd binnen de afgesproken tijd en budget.” Het was het eerste project dat Coolprofs volgens de Agile-methode uitvoerde en de tevredenheid was alomtegenwoordig.
Met de haren erbij Dat het ook heel anders kan lopen, bleek bij het volgende project dat Coolprofs onder handen nam: een applicatie voor een retail-winkelketen in Nederland. “We hadden al een keer met het bijltje gehakt en dachten dat het hier ook wel zou loslopen”, maakte Koot de zaal warm. Tenslotte had die gewenste applicatie slechts ongeveer 7.000 SU’s en moest er een koppeling komen met de CA-Gen backend, een platform dat de jongens Ton Koot en Joop Stringer geven in Lissabon hun presentatie tijdens Nextstep 2010 van Outsystems.
van Coolprofs als hun broekzak kennen. Ook deze uitdaging was gepland als een drie sprints-gebeurtenis. Inmid dels is de vijfde sprint al bezig en zijn sprint 1 en 2 in de herhaling ge gaan. “Onze klant was de IT-afdeling. En daar blijkt de fout te zitten; je
20
appworks juli/augustus 2010
En als laatste noemen de twee: overtuig de klant. Daarmee bedoelen ze dat de business het Agile-concept moet snappen en moet begrijpen dat zij een belangrijke rol in het project speelt.
Onbekende eisen Dat het Agile-platform van Outsystems ook onder extreme omstandig heden tot goede resultaten (ergo: een complex Facilities Management Systeem) kan leiden, vertelde José Luis Ferreira. Hij is partner bij het Portugese bedrijf Pessoas & Processos (P&P), een consultancy bedrijf dat ook IT-services en –oplossingen levert. Hij zei dat DMI, een gloednieuwe dochter van Sonangal, bij P&P had aangeklopt om een nieuw facilities management systeem te ontwikkelen. Sonangol is een wereldwijd opererend bedrijf dat zich bezig houdt met de olie- en gasproductie in Angola. Het staatsbedrijf is na de Angolese onafhankelijkheid van Portugal in 1976 opgericht en ontving een mandaat voor het beheer van ‘s lands substantiële gas- en oliereserves. Buiten Angola heeft het bedrijf kantoren José Luis Ferreira legt uit hoe hij op sprints van
in Kongo, China, VS, Engeland en Singapore. Meer dan dertig dochtermaat
twee maanden tijds is uitgekomen.
schappijen en joint ventures vormen momenteel wereldwijd de Sonangol Group; DMI is er daar één van. De nieuwe onderneming had een splinternieuw hoofdkantoor gekregen
moet de business vanaf het begin bij het project betrekken. Ook als ze
in Luanda, de hoofdstad van Angola. P&P had de opdracht een gebouw
niet willen; dan moet je ze er maar met de haren bij slepen, bij wijze
beheersysteem te maken dat ook zou worden ingezet voor meer dan
van spreken. Want dat werkt: het commitment van de business. Wat ook
dertig andere gebouwen in Angola, waaronder ziekenhuizen, magazijnen,
werkt, is dat je jouw werk uitvoert op de werkvloer van de klant. Je moet
laboratoria en kinderdagverblijven. ANGELS, zoals het softwaresysteem
dichtbij zijn, zodat je daadwerkelijk samen kunt optrekken.” Nog meer wat je zeker moet doen? “Volg nauwgezet de principes van Agile ontwikkelen”, meldde Koot, gevolgd door de opmerking dat je ook gewoon gezond verstand moet gebruiken. Belangrijker nog wellicht zijn de lessen over wat je beslist niet moet doen. “Je moet nooit de complexiteit van de systemen onderschatten”, aldus Stringer. Je moet ook niet met stubs werken, maar met de echte webservices. “Eerst werkte alles prima, maar toen we met de echte servers aan de slag gingen, bleek niets meer te kloppen. Daarom moesten we sprint 1 overdoen.” Hetzelfde geldt voor het werken met proprietary apparatuur. “Je weet nooit hoe die reageert, dus moet je met de werkelijke apparatuur gaan testen. En je moet al zeker niet op de beloftes van een derde partij afgaan. Het bedrijf dat de webservices zou bouwen en aanleveren bleek
Luanda is de duurste plaats ter wereld voor buitenlanders uit
het sprint-tempo niet te kunnen bijhouden.”
het bedrijfsleven om in te verblijven. Hier een beeld uit 2006
Het tweetal sloot af met een aantal tips om de valkuilen waarin zij waren
van de Angolese hoofdstad.
gevallen te vermijden. Sluit contracten af met de betrokken partijen en start het project pas als alle externe factoren zijn afgehandeld. Doe vervol gens een proof of concept met werkelijke data en op de apparatuur zoals
heet, omvat budget management, asset management, organization
die gebruikt gaat worden. Beperk in zijn algemeenheid alle risico’s die
management en HR-beheer (voor de meer dan 700 medewerkers bij DMI).
aan het project kleven. De omvang van een project maakt niet uit, wel de
Een complex product. “En daarbij kwam dat de opdrachtgever eigenlijk
infrastructuur waarop de applicatie moet gaan draaien. Zorg er vervolgens
geen idee had wat hij wilde hebben. Wij moesten aan de slag met onbe
voor dat je niet de verantwoordelijkheid neemt voor zaken waarop je niet
kende eisen. Iedere keer als we – na een sprint – werkende software lieten
zelf de controle uitoefent.
zien, kwamen er weer aanvullingen, extra eisen en wijzigingsvoorstellen. appworks juli/augustus 2010
21
Juist vanwege die stortvloed aan wijzigingen was het alleen maar moge
Een sprint bij Agile duurt gewoonlijk twee weken. “Daar konden we
lijk dit met een Agile-aanpak te hanteren”, aldus Ferreira.
onmogelijk aan voldoen”, zei Ferreira. “Wij hadden uiteindelijk sprints van
Bovendien bleek DMI een ‘papieren organisatie’ te zijn: de mensen die er
twee maanden.”
werken, doen dat vooral met papieren documenten. Ze zijn niet gewend aan programmatuur en de myriade aan mogelijkheden die dat biedt. Na
Geen chatsessies
de oplevering van ANGELS waren er veel medewerkers die hun schermen
Bij Agile is communicatie tussen alle belanghebbenden de hoeksteen. Elke
afdrukken om hun dagelijkse taken af te werken.
dag begint met een scrum waarbij, staande, de resultaten van de vorige dag en het werk van de nieuwe dag worden doorgenomen. “U begrijpt dat
Twee maanden sprint
zulks niet mogelijk bleek”, zei Ferreira. “We konden daar gewoonweg niet
De afstand tussen Lissabon en Luanda bedraagt ongeveer zesduizend
elke dag zijn. Wat te denken van de moderne communicatiemogelijkheden,
kilometer. Dat hoeft op zich geen probleem te zijn, aldus Ferreira, ware
zult u tegenwerpen? Vergis u niet: als het lukt een chatsessie op te zetten met iemand in Angola, dan heeft u geluk. Dat betekent dat wij meestal
Bij Agile is communicatie tussen alle belanghebbenden de hoeksteen.
geen interactie hadden met de eindgebruikers. De infrastructuur is er ge woonweg niet. We hebben de grootst mogelijke moeite moeten doen om een pc te kopen. Niet een server, maar gewoon een pc!” Daarbij kwam nog eens de kredietcrisis die een extra druk op het bereiken van goede resultaten binnen de gestelde termijn legde. “Wij hebben ons best gedaan en we hebben uiteindelijk een goed werkend systeem opgeleverd – en alle gebruikers getraind, want ze waren niet gewend met dergelijke software aan de slag te gaan – maar ANGELS zal nooit kandidaat zijn voor een Agile-award”, hield Ferreira zijn ademloos luisterend gehoor voor. Hij maakte in elk geval duidelijk wat hij onder een ‘exteme customer environment’ verstaat.
Projectbeheer Ook maakte hij duidelijk dat juist onder deze omstandigheden de Agile aanpak het beste resultaat biedt. “Het platform van Outsystems biedt de mogelijkheid tot snelle applicatiebouw; dus konden we op tijd met werkende software demonstraties geven. En die demo’s waren brood nodig om reacties te krijgen van de gebruikersgemeenschap. Want eigenlijk wisten ze helemaal niet wat ze wilden hebben. Pas bij een demo kwamen de tongen los en wisten we waaraan we moesten werken”, De gebruikersbijeenkomst van Outsystems in Lissabon trok meer belangstelling dan het voorgaande jaar.
legde Ferreira uit. Het platform gaf hem bovendien een geïntegreerd projectbeheer, zodat hij steeds wist wat er al was gedaan en wat er nog te doen stond; en door wie. En tegen welke prijs.
het niet dat er een aantal aanvullende hobbels op de weg is. Zo be
Hij heeft bij de ontwikkeling van ANGELS geleerd dat projectbeheer
schikte P&P niet over een lokaal ontwikkelteam in de Angolese hoofdstad.
cruciaal is; vooral om de richting goed in de gaten te houden, maar ook
Volgens ECA International (een raadgevend bureau voor organisaties die
om duidelijk te maken wat correcties zijn en wat een verdere ontwikke
personeel in het buitenland stationeren) is Luanda ’s werelds duurste stad
ling is. De betrokkenheid van de eindgebruikers is tevens een belangrijke
om in te verblijven voor buitenlandse mensen uit het bedrijfsleven. Het
voorwaarde. Hij wees erop dat het belangrijk is zo vroeg mogelijk aan
hebben van een lokaal team zou al heel snel het projectbudget opslurpen.
vaarding van het nieuwe systeem te bewerkstelligen. In dit licht stond
Dus moesten de mensen in Lissabon het werk doen en regelmatig heen
ook zijn laatste opmerking: “Regel de verwachtingen van de klant, want
en weer reizen. Dat is niet eenvoudig, want er is een visum nodig om
uiteindelijk bepaalt dat jouw succes!”
Angola binnen te komen. Het duurt twee weken om een visum aan te vragen en vervolgens nog eens twee weken voordat het visum op de deurmat valt. Het lukte dus om elke twee maanden een bezoek af te leggen van twee weken.
22
appworks juli/augustus 2010
Teus Molenaar is hoofdredacteur van AppWorks
techniek
Veiliger inlogmodel voor internet
Een veilige toegang tot webapplicaties zonder steeds nieuwe toegangsapplicaties in het leven te roepen. Inloggen gebeurt één keer en de gebruiker kan ‘heen en weer springen’ op de website. Dit is mogelijk met het Identity Metasystem, in combinatie met Windows Cardspace. Martijn Natte
We staan er eigenlijk niet meer bij stil. We maken gebruik van aller
via allerlei inlogmechanismen die de laatste tijd regelmatig negatief in
lei diensten op het web, om producten te kopen, bankzaken te regelen,
het nieuws zijn, met gekraakte sites, creditcardgegevens die worden mis
verzekeringen af te sluiten en nog veel meer, zonder ons precies af te
bruikt, etcetera. Dan kun je jezelf afvragen: hoe weet je zeker dat de
vragen hoe het met de beveiliging zit. We loggen dan in met naam /
informatie die je verstrekt of de aankopen die je via een inlog doet, wel
wachtwoordcombinaties waarvan we veronderstellen dat daarmee onze
veilig zijn?
online identiteit en gekoppelde informatie veilig is gesteld. Dat gebeurt
Eén van de grootste risico’s van de huidige inlogmechanismen op internet appworks juli/augustus 2010
23
is diefstal van de digitale identiteit van een gebruiker. In de film ‘The Net’
deze nadelen: het Identity Metasysteem. Inmiddels is dit systeem er en
uit 1995 met Sandra Bullock in de hoofdrol wordt beklemmend duidelijk
bestaat er bij organisaties duidelijk vraag naar.
wat er gebeurt als iemands identiteit wordt gemanipuleerd. Vaak worden dezelfde gebruikersnaam en wachtwoord gebruikt om in te
Nieuw inlogmodel
loggen op meerdere sites. Zijn die gegevens eenmaal door een hacker of
Bij veel websites wordt nog gebruikgemaakt van een aparte inlogapplica
andere internetcrimineel achterhaald, dan liggen al deze sites wagenwijd
tie die gekoppeld is aan een gegevensbestand. Als een organisatie meer
open. Een van de meest voorkomende vormen van internetcriminaliteit is
dere webapplicaties heeft waarop ingelogd moet worden, dan zijn er vaak
‘Phishing’. Dit is een methode waarbij een malafide website zich voordoet
ook meerdere inlogapplicaties met de bijbehorende gegevensbestanden.
als een bekende, vertrouwde website en die gebruiker om in te loggen
In het nieuwe inlogmodel zijn code en de verantwoordelijkheid voor de
(bijvoorbeeld via een e-mail verzoek). Wanneer je dat doet, worden je
inlogfunctionaliteit uit de individuele webapplicatie gehaald en als service beschikbaar besteld via een Identity Provider. Deze service is vervolgens
De Identity Provider is de partij die via de service informatie uitgeeft over de
door meerdere websites te gebruiken. Deze dienst staat bekend als een ‘Security Token Service’ (STS) genoemd. De Identity Provider is de partij die via de service informatie uitgeeft over de identiteit van de gebruiker. Dit inlogmodel bestaat uit de componenten: de Identity Provider, de web
identiteit van de gebruiker.
site en de gebruiker (die wil inloggen op de website). Tussen de website en de Identity Provider bestaat een zogenaamde Trust-relatie. Dat betekent dat de website alle informatie die afkomstig is van de Identity Provider, vertrouwt. Dit proces verloopt als volgt:
1. De gebruiker navigeert naar de website; 2. De website retourneert welke claims nodig zijn, met het adres van de Security Token Service; 3. De gebruiker logt in op de Security Token Service; 4. De Security Token Service retourneert de informatie die hoort bij de gebruiker; 5. Op basis van deze informatie kent de website vervolgens bijvoor beeld rechten toe aan de gebruiker, of kan personalisatie toepassen.
Voordelen Het nieuwe inlogmodel maakt inloggen op websites veiliger, makkelijker en betrouwbaarder. Organisaties hoeven geen eigen inlogmechanisme meer te bouwen, maar kunnen gebruikmaken van de diensten van een bestaande Identity Provider. Ze kunnen er ook voor kiezen om zelf als Identity Provider op te treden en de daarvoor benodigde Security Token Service te (laten) bouwen. Aangezien alle onderdelen van webapplicaties Sandra Bullock speelt een hoofdrol in de
gebruik kunnen maken van de Security Token Service is het niet meer nodig
thrillerfilm The Net, waarbij iemands digitale
om aparte oplossingen te bouwen voor het inloggen, de authenticatie en
identiteit wordt ontvreemd.
autorisatie. Dankzij dit nieuwe inlogmechanisme kunnen gebruikers, veelal klanten, erop vertrouwen dat hun inloggegevens veilig zijn. Er wordt gebruik
24
inloggegevens bekend bij de eigenaar van de nepsite en kan zo je digitale
gemaakt van de nieuwste beveiligingsstandaarden en het is één van de
identiteit worden gestolen. Met alle nare gevolgen vandien. Er is organi
veiligste manieren om je digitale identiteit voor jezelf te houden. Boven
saties dan ook veel aan gelegen om te beschikken over een betrouwbaar
dien wordt het hiermee makkelijker om ‘single-sign-on’ scenario’s te ont
en gemakkelijk te gebruiken inlogsysteem, dat ook nog eens eenvoudig
wikkelen. Daarbij hoeft de gebruiker maar één keer in te loggen en is daar
te implementeren en te beheren moet zijn. Enkele jaren geleden heeft
mee geautoriseerd voor een hele reeks webapplicaties. In gecombineerd
een aantal grote partijen, waaronder Microsoft, IBM en Sun de krachten
gebruik met Windows Cardspace is de gebruiker ook nog eens volledig
gebundeld om te komen tot een gezamenlijk nieuw inlogmodel zonder
de baas over zijn of haar gegevens en kan hij of zij precies zien en bepa
appworks juli/augustus 2010
len wat er met deze gegevens gebeurt. Zo wordt inloggen een uniforme gebruikersbeleving.
Een harnas biedt
Identity Provider Het nieuwe inlogmodel is relatief eenvoudig te beheren, omdat alle in
veel bescherming,
formatie en processen met betrekking tot het inloggen zijn te isoleren. Het is voor organisaties niet langer nodig om verschillende inlogapplica
maar is ook hinderlijk.
ties te bouwen als de gebruiker naar verschillende delen van de web site navigeert. De klantgegevens en de authenticatie (gebruikersnaam en wachtwoord) worden op één centrale plaats beheerd. Ook de autorisatie (de rechten die de gebruiker heeft om bepaalde content en functionaliteit te ontsluiten) is op deze plaats te beheren, maar dit kan ook door de applicatie zelf worden bepaald. Hiermee gaan de kos ten voor het beheer omlaag, simpelweg omdat er minder systemen zijn. Bovendien is de benodigde Microsoft-technologie voor het bouwen van een Security Token Service gratis voor het Windows-platform. Als een organisatie kiest voor het nieuwe inlogmodel, dan komt zij voor de keuze te staan of ze zelf als Identity Provider gaat fungeren (en dus
voorgelicht. Het inloggen gaat toch anders dan men misschien gewend is
de Security Token Service laten bouwen) of dat ze gebruik maakt van
en dat betekent dat goede begeleiding en informatie nodig is. Ook is het
een bestaande Security Token Service van een andere Identity Provider.
nodig duidelijk aan te geven hoe het staat met de bescherming van de
Het grote voordeel van een eigen Security Token Service is dat er meer
persoonsgegevens.
controle is over de informatie die beschikbaar moet worden gesteld. Daar naast moet de informatie gedefinieerd worden die de Identity Provider
Identity Providers
over een gebruiker moet terugkoppelen. In technische termen worden dit
Macaw merkt in de praktijk dat veel bedrijven belangstelling hebben voor
de claims genoemd. Een voorbeeld van een claim is een statement dat
Cardspace en OpenID, een ‘gestripte’ versie van Cardspace voor laagdrem
de klant ouder dan 18 is. Dit kan bijvoorbeeld nodig zijn voor een online
pelige toepassingen. Interessant is dat het Identity Metasystem in principe
wijnhandelaar.
ook door andere bedrijven is te gebruiken, nadat er een ‘trustrelatie’ tot stand is gekomen.
Inloggen volgens het nieuwe model
Een bedrijf zou dus kunnen optreden als een zogeheten Identity Provider
Bij gebruikmaking van een inlogsysteem volgens dit nieuwe model, levert
voor andere bedrijven. Deze bedrijven vertrouwen er dan op dat deze
dit een organisatie de volgende voordelen op:
Identity Provider de juiste gegevens verstrekt. De verwachting is dan ook dat er aantal van dit soort Identity Providers zal ontstaan.
• Meer vertrouwen richting de klant omdat het nieuwe inlogmodel voldoet aan de nieuwste beveiligingsstandaarden en de jongste inzichten op dit gebied om van internet een veiliger platform te maken; Single-sign-on is eenvoudiger te implementeren; Beter en goedkoper te beheren omdat er één centraal systeem is; De organisatie is beter voorbereid op de toekomst; Indien gebruik wordt gemaakt van Windows Cardspace hebben klanten de volledige controle en kunnen ze precies inzien wat er wanneer met hun gegevens gebeurt. Ook dit zorgt voor meer vertrouwen; Met Windows Cardspace wordt inloggen een uniforme gebruikers beleving.
• • • •
Eerste project Bij een grote Nederlandse verzekeraar bouwt Macaw momenteel een op het Identity Metasystem gebaseerd inlogmechanisme dat de database van de verzekeraar als informatiebron benut. Er is een aparte service ontwik keld die gegevens over de claims van de gebruiker uit deze database haalt. Doordat Cardspace het mogelijk maakt de inlog en de authenticatie ‘los te trekken’ van de applicatie en in een afzonderlijk service onder te brengen, verwacht de verzekeraar aanzienlijke winst, omdat het niet meer nodig is elke webapplicatie of website van een eigen inlogmechanisme te voorzien.
•
Het nieuwe inlogmodel is altijd helder: de gebruiker krijgt steeds te zien welke gegevens over hem of haar verstuurd gaan worden en kan dat te
Martijn Natté is Lead Software Developer bij het
allen tijde blokkeren. Ook krijgt de gebruiker duidelijke informatie in geval
Rich Internet Solution Center van Macaw
er iets niet klopt. Maar het betekent wel dat de gebruiker moet worden appworks juli/augustus 2010
25
cloud computing
Voordelen cloud computing komen niet aanwaaien Cloud computing is een paraplubegrip en omvat tal van oplossingen ‘as a service’. Microsoft heeft, net als Amazon en Google, veel ervaring opgedaan met deze vorm van automatisering via zijn MSNplatform. De voordelen van cloud computing komen niet aanwaaien; een gedegen plan moet de basis zijn.
Organisaties zijn aan het kijken hoe ze voor
Fundamenten
deel kunnen behalen met cloud computing.
Microsoft investeert in datacenters over de
In opdracht van Avanade is een onafhankelijk
hele wereld. Per maand voegt Microsoft 10-
wereldwijd onderzoek gedaan onder meer dan
tot 20.000 servers toe aan al zijn datacenters.
500 managers en IT-specialisten naar hun op
Om een beeld te krijgen bij deze hoeveelheid:
vattingen over cloud computing. Meer dan de
Facebook draait op ongeveer 10.000 servers.
helft van de respondenten gaf aan dat tech
Een Microsoft-rekencentrum beslaat ongeveer
nologie-efficiëntie een goed instrument is om
vijf voetbalvelden waar ongeveer 400.000
de kosten te verlagen. Bijna drie kwart ver
servers zijn opgeslagen in containers.
telde cloud computing-technologieën als een
Cloud Computing is zowel Software as a Service
reële optie te beschouwen.
(SaaS), Platform as a Service (PaaS) en Infra
Kostenbesparing en tegelijkertijd een flexi
structure as a Service (IaaS).
belere organisatie zijn volgens de ondervraag
Technologieën van Microsoft security (Active
den de belangrijkste voordelen van cloud
Directory), virtualisatie (Hyper-V) en datacenter-
computing. Verder bleek uit het onderzoek dat
management (System Center) worden gebruikt
65 procent van de respondenten van mening
om datacenters beheersbaar en flexibel te
is dat ze zich beter kunnen concentreren op
maken. Deze technologieën vormen de funda
de organisatie dankzij de inzet van cloud
menten van cloud computing. Met deze oplos
computing.
singen is het mogelijk om on demand schaal
Uit publicaties blijkt dat de early adaptors van
baarheid te creëren om bestaande capaciteit zo
cloud computing vooral bestaan uit organisa
goed mogelijk te benutten.
ties met 100 tot 500 medewerkers. Grotere
foto: Microsoft.
Edwin Jongsma
De ingang van het rekencentrum van Microsoft in Dublin
26
appworks juli/augustus 2010
organisaties zijn bezig met experimenten.
PaaS
Cloud computing is geen wondermiddel en
De belangrijkste PaaS-oplossingen van Mi
het is verstandig ook naar de keerzijde van
crosoft zijn Windows Azure en xRM. Windows
de medaille te kijken. Sommige organisaties
Azure is een ontwikkelplatform in de cloud.
hebben onrealistische verwachtingen. Zo biedt
Daarnaast biedt het diensten op het gebied van
cloud computing geen garantie voor een hoge
opslag, relationele data/analyse/rapportage
re return on investment (ROI), meer omzet en
en verbindingen. Azure servicemanagement-
lagere kosten. Sommige organisaties vinden
features zorgen ervoor dat applicaties gemaakt
dat cloud computing niets anders is dan wat
met Azure automatisch opschalen. Belangrijke
Application Service Providers (ASPs) boden in
servicemanagement-features zijn: load balan
de jaren 90. ASP lijkt erg op SaaS, maar is nooit
cing, datareplicatie en fail-over management.
van de grond gekomen. ASP was een goed
Windows Azure haakt als ontwikkelplatform in
idee op het verkeerde tijdstip. Het gebrek aan
op het Microsoft-ontwikkelplatform Visual Studio
technologiestandaarden, bandbreedte en de
.NET. Met Azure kan een .NET-ontwikkelaar ge
bereidwilligheid van organisaties om controle
bruik blijven maken van zijn bestaande kennis
over processen en data af te geven waren hier
van Visual Studio (bijvoorbeeld, C#, VB.NET of
debet aan.
ASP.NET). Waar een ontwikkelaar zonder Azure
Wat is Avanade? Avanade biedt zakelijke technologiedien sten die Microsoft-technologieën met elkaar verbinden. Avanade is in 2000 op gericht door Accenture en Microsoft Cor poration. Accenture is voor het merendeel eigenaar van Avanade. Er werken ruim
Breng eerst eens goed in kaart welke cloud diensten er zoal zijn.
9.700 professionals voor Avanade in meer dan 24 landen wereldwijd. Avenade heeft ervaring met Microsoft IaaS, Azure (opslag en applicatieontwik keling), BPOS en CRM/xRM. Het bedrijf biedt ‘pilot in a box’ aan voor BPOS en heeft de beschikking over een CRM SaaS-
zijn applicatie via bijvoorbeeld FTP uploadt
gebruikers meer gebruikersgemak (zeker ten
datacenter voor de Europese markt (try
naar een webserver voor deployment, kan hij
opzichte van ouderwetse applicaties).
before you buy). Ook biedt de organisatie ondersteuning in de vorm van quick start
met Azure binnen Visual Studio zijn applicatie uploaden naar het Azure datacenter van
SaaS
Microsoft. De Azure-diensten worden afgere
Microsoft biedt onder andere BPOS en CRM
kend naar rato van het gebruik. De instapkosten
aan als cloud computing-diensten. BPOS staat
van Azure liggen gemiddeld lager dan reguliere
voor ‘business productivity online suite’. BPOS
cases bij goedkeuringsprocessen van bijvoor
hosting-omgevingen. Indien een organisatie
is een SaaS-aanbod dat een nieuwe manier van
beeld gemeentes.
succes krijgt met deze applicatie, dan gaan de
werken voor organisaties mogelijk maakt. BPOS
kosten omhoog; de omgeving schaalt automa
biedt communicatie (Microsoft OCS), collabora
Vervolgstappen
tisch mee. Dat laatste is een stuk lastiger in een
tion (SharePoint) en messaging (Exchange) aan
Indien
reguliere hosting-omgeving.
als cloud-diensten. OCS is simpel gezegd MSN
computing te gebruiken, dan adviseert Avanade
Een ander voorbeeld van een PaaS-oplossing
voor bedrijven. Via OCS kunnen medewerkers
het volgende:
van Microsoft is xRM. Klanten die gebruik
van bedrijven eenvoudig met elkaar communi
maken van Microsoft Dynamics CRM hebben
ceren (video, chat, voice). Bedrijven die afspra
toegang tot een schaalbare en gebruiksvriende
ken maken over OCS kunnen medewerkers via
• Onderzoek bestaande cloud-oplossingen. • Overweeg de migratie van bestaande
lijke webapplicatie die lijkt op Microsoft Outlook.
dit systeem laten communiceren. Er zijn legio
Microsoft Dynamics xRM gebruikt Dynamics
voorbeelden waar dit kostenbesparingen heeft
CRM als generiek platform voor de ontwikkeling
opgeleverd op telefonie.
van line of business-applicaties. Met Dynamics
Microsoft Dynamics CRM wordt naast Sales
xRM kun je relatief eenvoudig een database
force.com en Siebel on Demand (Oracle)
applicatie realiseren, zoals je dat bijvoorbeeld
gezien als een belangrijke SaaS-partij in de
kunt doen met Microsoft Access. Dynamics xRM
wereld van klantrelaties. Microsoft Dynamics
is echter een webapplicatie en is derhalve zeer
CRM ondersteunt drie belangrijke proces
geschikt als cloud-oplossing. Daarnaast maakt
sen in dit kader: sales force automation (SFA),
xRM gebruik van Microsoft SQL Server en is
service- en marketingmanagement. Bij mar
commodity-toepassingen naar de cloud, denk hierbij aan opslag, collaboration (mail/portals), CRM, HR, self service inter net en e-commerce. Onthoud dat de reis naar de cloud een evolutie is. Identificeer een pilot-project. Selecteer een toepassing die gebruik maakt van de schaalbaarheid van cloud. Door een pilot te draaien, krijgt de organisatie inzicht in hoe voordeel te halen uit cloud computing.
daarom beter geschikt voor schaalbare appli
keting gaat het om de processen voorafgaand
Er zijn duidelijke zakelijke voordelen te halen
caties met veel meer gebruikers dan Microsoft
aan het verkoopproces, voor de generatie van
met cloud computing, maar het realiseren van
Access. De belangrijkste features van het xRM-
nieuwe verkoopmogelijkheden (leads). Bij SFA
die voordelen is geen gegeven. Het vereist een
platform zijn het snel ontwikkelen (configure
ligt de nadruk op het verbeteren van de ver
duidelijk plan, gedegen analyse en bewezen
ren) van de schermen met bijbehorende data
koopprocessen van organisaties. Bij service
methoden.
base, workflow-processen en rapportages.
management gaat het om de opvolging van
Met Dynamics xRM is het mogelijk om kosten
het verkoopproces nadat een order is gesloten,
besparingen te realiseren in bestaande datacen
bijvoorbeeld bij de afhandeling van klachten/
ters. Door bestaande data-intensieve applicaties
vragen in contact centers. Servicemanagement
te migreren naar Dynamics xRM ondervinden
wordt ook gebruikt voor de afhandeling van
voor Azure.
• •
een
organisatie
overweegt
cloud
Edwin Jongsma is Sr. Director Avanade Nederland
appworks juli/augustus 2010
27
ontwikkelen
Architected Agile
verbreedt ontwikkelmethode Agile is een zeer geschikte methode om snel de gewenste functionaliteit te ontwikkelen. Deze vorm van software ontwikkelen is geen hype, maar zal beklijven. De voordelen zijn immers evident. Een nadeel is dat de methodiek vaak erg naar binnen is gericht en te weinig aansluit op de bedrijfsmatige context waarbinnen de programmatuur moet draaien. Met ‘Architected Agile’ geeft CoolProfs een eigen draai aan Agile door deze tekortkoming aan te pakken.
Een nadeel van Agile is dat de methode vaak erg naar binnen is gericht.
Eric ten Harkel
28
Vanaf halverwege de jaren negentig ontstonden, met de opkomst
Gedurende het ontwikkelproces mag niets aan de requirements worden
van generatoren en 4GL’s, verschillende stromingen die we nu Agile
veranderd. Pas als het programma is geschreven, is er weer ruimte
zouden noemen. Bekende namen zijn: RUP (Rational Unified Process),
voor overleg met de gebruikers. Het nadeel is dat de projecten erg lang
RAD (Rapid Application Development), DSDM (Dynamic Systems
duren en in die periode vrijwel altijd wijzigingen in de requirements
Development Method), XP (eXtreme Programming), FDD (Feature
optreden. De opgeleverde programmatuur voldoet dan eigenlijk per
Driven Development), TDD (Test Driven Development) en Scrum. In
definitie niet aan de wensen van de business. Agile moet dit probleem
2001 is er – om van de verwarring af te komen - overeenstemming
verhelpen.
bereikt tussen de verschillende stromingen over wat Agile is.
Bij de Agile-methode is Scrum de voorgeschreven projectmanagement
De methode Agile richt zich op een flexibele manier van software
techniek. Scrum heeft als doel het doorlopen van snelle iteraties waarin
ontwikkeling en zet zich af tegen de traditionele wijze waarbij de
telkens ‘stukken’ functionaliteit werkend worden opgeleverd. Fouten
specificaties tot in detail van te voren worden vastgelegd, de zoge
komen hierdoor in een eerder stadium aan het licht en zijn sneller te
noemde watervalmethode. Bij deze methode worden de requirements
herstellen. Agile vraagt daarom een intensieve communicatie tussen
nauwkeurig opgesteld, waarna de ontwikkelafdeling aan het werk gaat.
ontwikkelaars en de klant.
appworks juli/augustus 2010
Wat is CoolProfs? CoolProfs is specialist in het bouwen van bedrijfs
Architected Agile
kritische informatiesystemen op maat. Voorbeelden
De methode Agile verenigt de beste eigenschappen van eerdere
van gerealiseerde projecten zijn het systeem voor
methodes. Het resultaat is dat de ontwikkeltijd veel korter is, terwijl
kredietverlening bij ABN AMRO Bank, het C1000
tegelijkertijd de risico’s op mislukking van een project verminderen. Het
winkel-informatiesysteem en een Global Account
nadeel van Agile evenwel is dat het een naar binnen gericht proces is,
Management systeem voor TNT Express.
waarbij vrijwel uitsluitend aandacht is voor het systeem en de gewenste
In de aanpak van ontwikkelproejcten staat de
functionaliteit. Hierdoor is er niet of nauwelijks aandacht voor de bedrijfs
menselijke factor van IT centraal en wordt in nauwe
context, of architectuur, waarin de applicatie moet draaien.
samenwerking met de klant naar het gewenste
Om het gevaar voor te zijn dat er uiteindelijk een applicatie staat die
resultaat toegewerkt.
als een eiland los van de omgeving functioneert, is het belangrijk om
Tot de vaste klanten behoren onder meer ABN AMRO
eerst een stapje terug te doen en te kijken binnen welke bedrijfscontext
Bank, Kadaster, Delta Lloyd, C1000, Fortis Bank,
de applicatie moet functioneren én welke bedrijfswaarde de applicatie
Ministerie van Verkeer en Waterstaat en TNT.
creëert. Dit is wat CoolProfs ‘Architected Agile’ noemt. Door vóór de bouwfase (die in Agile is opgebouwd uit twee weken durende en elkaar opvolgende ‘sprints’) een globaal procesmodel en een
geval is. Door de prijs niet te koppelen aan de bestede uren, maar aan de
gegevensmodel op te stellen, ontstaat inzicht in welke bedrijfsprocessen
functionaliteit van de business applicatie, wordt het aannemelijker dat de
de applicatie geacht wordt te ondersteunen en welke gegevens de toe
gebruikers de juiste functionaliteit krijgen tegen een goede prijs.
passing nodig heeft om haar werk te doen. Het uitvoeren van deze extra
Agile is een nieuwe ontwikkeling in een reeds bestaand veld met tal
visualisatiestap dient tevens om de verbindingen met andere applica
van methoden; niet alleen voor het ontwikkelen van software, maar ook
ties vast te stellen en de inbedding van de applicatie in de organisatie
voor het voeren van projecten en het beheer van applicaties. Een veel
te bewerkstelligen. Want zonder acceptatie van de gebruikers kan geen
gehoorde vraag met betrekking tot Agile is daarom in welke mate zij
enkele applicatie waarde voor de business creëren.
aansluit bij methodes als Prince2 en ITIL. Veel organisaties vrezen dat
Complexe applicaties Juist door die extra stap te maken, is Agile ook geschikt voor de ontwikkeling van grote, complexe applicaties. De voordelen van Architected Agile op een rij:
•
Een stabiele basis Door een vooraf gedefinieerde architectuur te creëren, voorkom je onnodig refactoring, aanpassen van de software, en software die geen toegevoegde waarde levert. Je hebt een goed fundament om op te bouwen. Stimulering van hergebruik Door het opstellen van een procesmodel worden interfaces met andere applicaties inzichtelijk. Herbruikbare systeemonderdelen worden zo sneller ontdekt, en koppelingen met andere applicaties hoeven niet opnieuw te worden gebouwd. Dit maakt het ontwikkel traject sneller en efficiënter, en daarmee kosteneffectiever. Eenduidige gegevens Dankzij het gegevensmodel ontstaat inzicht hoe de data door het systeem stroomt en uit welke bronnen de gegevens komen. Hier mee stimuleer je dat data wordt gedeeld in plaats van dat het op twee verschillende plekken wordt opgeslagen. Dit vermindert de kans op foute gegevens en zo is meteen de dienstverlening aan de eindgebruikers te verbeteren.
•
De Agile ontwikkelmethodiek gedijt het beste binnen een architectuur, waarbinnen eerst de bedrijfswaarde van de te bouwen applicatie wordt bepaald.
•
hun gestandaardiseerde proces met bijbehorende documentatie door Agile overboord moet worden gezet. Agile geeft ontwikkelteams immers binnen bepaalde kaders veel vrijheid (lees: gedelegeerde verantwoorde lijkheid). Deze vrees is ongegrond.
Relatie tot Prince2 Resultaatverplichting
Prince2 is een projectmanagementmethode die eisen aan processen stelt
Architected Agile is gestoeld op een resultaatverplichting en niet op een
en processen vastlegt. Binnen Prince2 wordt vrijgelaten hoe een proces
inspanningsverplichting zoals doorgaans bij de grote softwarehuizen het
eruitziet en hoe gedetailleerd het wordt vastgelegd. appworks juli/augustus 2010
29
Het fundamentele verschil tussen Prince2 en Agile is dat eerstgenoemde
invloed van wijzigende bedrijfsprocessen en omstandigheden zal het
de persoonlijke verantwoordelijkheid uit systeemontwikkeling haalt, ter
regelmatig moeten worden aangepast.
wijl Agile er juist voor zorgt dat de ontwikkelaars de verantwoordelijkheid
ITIL lijkt door de formele en procedurele wijze waarop wijzigingen in
nemen voor de producten die zij opleveren. In de Agile-aanpak worden
incidenten en releases worden gevat hiermee in tegenspraak te zijn. Als
ontwikkelaars gedwongen het gehele traject af te gaan en dat wat ze
je ITIL echter gebruikt als een manier om een overzicht te krijgen van
hebben gebouwd zelf aan de gebruiker te laten zien. Dit is juist wat ons
gewenste wijzigingen en het aanbrengen van prioriteiten daarin, is het juist aanvullend aan Agile en in die zin nuttig. Het is immers onwense lijk dat er een situatie ontstaat waarin wijzigingen zonder meer worden doorgevoerd. Uiteindelijk zal er aan elke wijziging een bepaalde business case ten grondslag moeten liggen. ITIL is, doordat het dat ‘stapje terug’ betekent in beheer, een geschikte manier om het kaf van het koren te scheiden. Hiermee wordt Architected Agile eveneens een geschikte aan pak voor beheerprojecten.
De opdrachtgever Door het toevoegen van de stap Architectuur aan de Agile-methodiek, breng je het beste van twee werelden samen. Daarmee is niet gezegd dat de Agile-aanpak voor elke te ontwikkelen applicatie kan worden toege past. Voor systemen die zeer gedetailleerd en gespecificeerd beschreven zijn, is de Agile-aanpak bijvoorbeeld minder geschikt. En wanneer de te bouwen applicatie op een groot aantal plekken moet worden uitgerold, is Als er een procesmodel is, hoeven koppelingen met andere applicaties niet opnieuw te worden gebouwd.
de Agile evenmin de aangewezen aanpak. Agile impliceert immers dat je te maken hebt met veel releases. Daarnaast vraagt Agile ook het een en ander van de opdrachtgever. Een eerste belangrijke voorwaarde voor het welslagen van het project is dat de opdrachtgever en gebruikers samen beslissingen durven nemen. Ont wikkeling volgens de Agile-methode valt stil op het moment dat er geen
Agile is een zeer geschikte methode om snel de gewenste functionaliteit te ontwikkelen.
beslissingen worden genomen. Als een organisatie niet durft of in staat is om doortastend op te treden, moet ze eenvoudigweg niet aan Agile beginnen. De opdrachtgever en de architecten moeten daarnaast durven los te laten. De ontwikkelaars moet een high-level kader worden geboden waar binnen zij een bepaalde mate van vrijheid genieten. Afspraken worden gemaakt over wat moet worden opgeleverd, indien gewenst tegen een vooraf overeengekomen prijs. Hoe de ontwikkelaar dit het beste denkt te
aanspreekt in Agile. Wij vinden dat persoonlijke verantwoordelijkheid de
realiseren, is aan hem.
kwaliteit van het gebouwde ten goede komt en dat ontwikkelaars trots
De opdrachtgever moet ten slotte de gelegenheid scheppen dat de
moeten (kunnen) zijn op wat zij bouwen.
ontwikkelteams zoveel mogelijk op één locatie kunnen werken, waarbij
De toegevoegde waarde van Prince2 in de projectvoering is dat deze
ruimte is voor intensieve interactie met de gebruikers. Het vergt discipline
methode helpt bij het inzichtelijk maken of de benodigde resources
van zowel de ontwikkelteams als hun omgeving om op een goede manier
beschikbaar zijn en of aan alle voorwaarden is voldaan voordat met de
met de gedelegeerde verantwoordelijkheden om te gaan.
bouwfase wordt gestart. Op projectniveau is Prince2 als het ware wat de stap ‘Architected’ bij Agile is; even een stapje terug om het grotere geheel te kunnen overzien alvorens daadwerkelijk te beginnen.
Relatie tot ITIL ITIL is ontwikkeld als een referentiekader (een verzameling best practices) voor het inrichten van beheerprocessen. Agile impliceert dat een systeem voortdurend verandert. Het gaat weliswaar in productie, maar onder
30
appworks juli/augustus 2010
Eric ten Harkel is mede-eigenaar en oprichter van CoolProfs
deployment
Software appliance bespaart veel tijd Zelfs voor proefversies van software is het nodig het complete deployment-programma af te lopen. Dit kost veel tijd en inspanning. Met software appliances is dat niet meer nodig. De programmatuur is in één image verpakt samen met een uitgekleed besturingssysteem, voldoende om de applicatie te installeren en te laten draaien. Mark-Peter Mansveld
Wie ooit betrokken is geweest bij het con
leren en configureren van traditionele evalu
figureren, installeren en onderhouden van
atie- of demoversies kan even veel tijd vergen
Mark-Peter Mansveld:
bedrijfssoftware weet dat dit een tijdrovend en
als het installeren van de productieversie. Dit
software appliances omzeilen de risico’s
complex geheel is. Het logge proces van het
vertraagt de verkoopcyclus en introduceert
van een log besturingssysteem
installeren en inregelen van het besturings
ontelbare kansen op technische fouten. Elk van
systeem, middleware, en databases, en ver
de stappen die nodig zijn bij het zetten van
volgens het integreren en configureren van de
parameters of configureren van het besturings
Veel van de problemen zijn te wijten aan de
software is handmatig en foutgevoelig. Zelfs als
systeem en de applicatiestack kan een obsta
huidige besturingssystemen die bijzonder com
je alles correct afhandelt, zorgt de lange tijds
kel vormen om de waarde van de oplossing te
plex en monolithisch zijn geworden. Omdat
duur ervan dat de waarde voor de gebruiker
laten zien of te ervaren.
besturingssystemen worden gemaakt om elke
vermindert. Voor softwareleveranciers ligt hier
Dit geldt te meer voor productieomgevin
denkbare softwarefunctie en scenario te onder
een uitdaging om hun verkoopcyclus te verkor
gen. Zelfs als het product is geïnstalleerd en
steunen, zijn ze log en bieden ze vaak veel te
ten. Het hele proces is angstwekkend en duur,
draait, is het onderhoud geen simpele taak. De
veel functionaliteit. In de werkelijkheid hebben
ontmoedigt klanten en beperkt de verkoop.
ontelbare iteraties van applicatie-, besturings
de meeste applicaties echter slechts een heel
Het aanbieden van evaluatieversies bijvoor
systeem- en middleware configuraties – en de
klein deel van dit functionaliteit nodig. Alle
beeld is een mooie manier om de waarde
bijbehorende patches – maken het erg moeilijk
toegevoegde ‘OS-bulk’ introduceert simpelweg
van een product aan te tonen, maar het
om de bron van een prestatieverlies aan te wij
kwetsbaarheden en ondoelmatigheden voor
deployment van die versies kost tijd en inspan
zen en te isoleren om de applicatie optimaal
applicatieplatform.
ning. Veel klanten willen de voordelen van
te laten draaien. Uit Novell-onderzoek blijkt dat
Zowel de softwareleveranciers als de gebrui
het kunnen evalueren van software zonder
vijftig procent van de onderhoudsproblemen
kers kunnen het zich niet veroorloven op dit
veel tijd daarin te hoeven steken. Het instal
ontstaan als gevolg van productinstallaties.
inefficiënte pad verder te gaan. appworks juli/augustus 2010
31
Eenvoudiger beheer
ger te beheren, omdat de serviceteams niet
dit doel gebouwde besturingssysteem bevatten
Om deze obstakels uit de weg te gaan bou
langer patches hoeven te distrubueren die niet
alles wat zijn nodig hebben om de software te
wen veel softwareleveranciers tegenwoordig
relevant zijn voor de appliance.
kopiëren naar een standaard platform en op te starten. Aangezien de meeste programmatuur
software appliances: versies van hun product die verpakt worden met een just enough
Wat is een software appliance?
niet veel capaciteit van een besturingssysteem
operating system (JeOS) dat volstaat om de
Appliances bieden een nieuwe manier om
nodig heeft om naar behoren te functioneren,
gewenste taken uit te voeren. Voorgeconfigu
met gemak maatwerk oplossingen te bouwen
bieden software appliances een ongekende
reerd voor specifieke toepassingen, zijn deze
en te ondersteunen door de grootte van het
kans om het werk van de gecombineerde
compacte, autonome appliances geschikt om
bijbehorende besturingssysteem sterk af te
installatie sterk te verminderen. Tegelijk ver
in een paar minuten te deployen. Ze vereisen
slanken. Software appliances zijn voorgecon
minderen zij de complexiteit van de installatie,
een minimale set up.
figureerde combinaties van een applicatie en
het onderhoud en beheer. Dit resulteert in
De appliance is veel makkelijker te onderhou
een besturingssysteem, geíntegreerd binnen
lagere kosten voor hardware en software voor
den dan een traditionele software-installatie
een enkele image en geoptimaliseerd om te
de klant en lagere kosten voor installatie en
en staat borg voor een effectieve configuratie
draaien op elke industriestandaard hardware.
onderhoud voor de softwareleverancier.
en installatie. Bovendien zijn ze eenvoudi
Deze geïntegreerde softwareapplicatie en voor
Leverancier doet het werk
Het aanbieden van evaluatieversies is een mooie manier om de waarde van een product aan te tonen, maar het deployment van die versies kost
Voor softwareleveranciers en hun klanten zijn software appliances een manier om de kosten te drukken en de omzet voor nieuwe en bestaande producten te verhogen. Voor de leveranciers versnellen zij het verkoopproces als gevolg van eenvoudiger evaluatie en instal latie, en minder onderhoud.
tijd en inspanning.
Gewoonlijk zijn evaluaties van traditionele programmatuur voor rekencentra erg com plex voor de koper. Eerst moet het besturings systeem worden uitgekozen en geconfigureerd, waarbij elke kernel parameter nauwkeurig moet worden afgestemd op de applicatie. Vervolgens moet de software zelf worden ge ïnstalleerd en ten slotte moet de applicatie worden geïntegreerd, geconfigureerd en inge regeld. Als er middleware in het spel is, dan wordt het nog complexer voor de gebruiker, en kan het proces dagen in beslag nemen. Als er een makkelijkere manier is, welke gebruiker zou dan zo veel tijd willen besteden aan het installeren van een evaluatiepakket? Bij een software appliance wordt al het inregelen en de configuratie in één keer gedaan door de softwareleverancier. Daarbij houdt hij rekening met een specifiek standaard platform en een specifiek gebruik. De gebruiker heeft alleen nog maar een hypervisor of server nodig die de leverancier specificeert om de applicatie te laten draaien. Neem bijvoorbeeld een Ook om proefversies onder de loep te leggen, moet
middelgrote ondernemer die een ERP-pakket
gewoonlijk alles uit de kast worden gehaald.
wil evalueren. De leverancier kan een enkele image maken die bestaat uit een voorgeconfi
32
appworks juli/augustus 2010
Met een software appliance is het mogelijk op grote schaal maatwerk te leveren.
gureerd besturingssysteem met de applicatie,
vragen die te maken hebben met het standaard
Eigenlijk maken appliances het mogelijk om op
bestaande uit alleen de modules die nodig zijn
besturingssysteem en configuratie nu irrelevant
grote schaal maatwerk oplossingen te maken
voor een middelgrote onderneming. De leve
zijn. De leverancier die zelf de image heeft ge
die precies passen bij de behoeften van de
ranciers kan de modules fijnregelen voor de
maakt, weet precies wat erin zit en kan een
gebruiker en deze toch sneller en efficiënter te
best practices als de applicatie wordt gemaakt.
voudigweg dezelfde image laden als de klant
leveren.
De image kan dan op een dvd naar de gebrui
met een vraag belt om snel, maar doeltreffend
Vooral in economisch zware tijden zijn software
ker worden gestuurd, die vervolgens alleen
technische ondersteuning te geven.
appliances een aanlokkelijk alternatief voor
maar via een wizard de laatste stukjes setup
Oplossingen voor alle problemen die naar boven
gebruikers die hun IT-budget willen knijpen
hoeft te doen om de applicatie aan de praat te
komen in de applicatie kunnen snel worden ge
zonder de eindgebruikers tekort te doen.
krijgen, zodat hij meteen met de evaluatie kan
distribueerd naar alle relevante klanten via een
Onafhankelijke
beginnen. Dit scheelt dagen werk.
geïntegreerd update mechanisme. Uiteindelijk
die
besparen software appliances tijd en kosten
een concurrentievoordeel, omdat zij hoogst
Doeltreffende ondersteuning
voor zowel leverancier als gebruiker. Een toe
betrouwbare maatwerk oplossingen kunnen
Dezelfde factoren die software appliances
passelijkere vraag is dan ook: ‘Waarom zou u
leveren aan de gebruikers, zonder alle bagage
vormen tot een uitstekende evaluatiegereed
geen software appliance willen hebben?’
die gewoonlijk nieuwe software vergezelt.
software
softwareleveranciers appliances
bouwen,
(ISV’s) geniet
ISV’s kunnen nu veiliger en beter presterende
schap, zijn ook in te zetten om de introductie van productieapplicaties te versnellen. In plaats
Ongekende mogelijkheden
applicaties leveren dan ooit tevoren door
van de gebruiker die de applicatie moet instal
Software appliances betekenen een revolutie
de risico’s die samenhangen met een log
leren en configureren, kan de leverancier een
in de manier waarop de software-industrie
besturingssysteem te omzeilen.
software appliance image maken en aan de
programmatuur verpakt en distribueert. Met
gebruiker verstrekken. Als deze image in de
appliances
geschikte omgeving wordt geplaatst, zoals een
ongekende mogelijkheden om eenvoudige, op
x86 server of een hypervisor, dan kan deze wor
maat gemaakte oplossingen rond te sturen die
den opgestart en geconfigureerd in een paar
nauwelijks enig onderhoud behoeven; hetgeen
Mark-Peter Mansveld is Director Data Center & End User
minuten. De ondersteuning voor deze image
wel het geval is bij de traditionele manier van
Solutions bij Novell Benelux
is eveneens sterk vereenvoudigd, omdat alle
distributie van enterprise IT-oplossingen.
beschikken
leveranciers
over
appworks juli/augustus 2010
33
praktijk
Geen Sinterklaas gesprekken meer ”Op deze manier heeft een voortgangsgesprek
Liesbeth Bakker is senior manager Z&O (Zorg & Opvang) bij het instituut Triade. Zij werkt er sinds augustus 2007 en geeft sturing aan diverse uiteen
met een medewerker echt zin”, zegt Liesbeth
lopende projecten en teams bij de organisatie. Haar span of control – zoals dat in managerstaal heet – omvat enkele honderden mensen; veelal in
Bakker van Triade, een organisatie die
deeltijd werk. Niet dat ze die allemaal direct aanstuurt, maar ze wil toch wel op zijn minst een idee hebben hoe de medewerkers zich binnen hun
ondersteuning biedt aan mensen met een
werk ontplooien. Gewoonlijk huizen loopbaangegevens in papieren dossiers die (afsluitbaar)
beperking. Zij refereert aan het gebruik van
op de kamer van personeelszaken staan. “Als je dan een functionerings gesprek hebt, dan pak je het dossier, maar daar krijg je toch niet echt een
software die helpt medewerkers hun talenten
beeld van hoe iemand zijn werk doet. Een functioneringsgesprek aan het eind van het jaar wordt dan al gauw een Sinterklaasgesprek. Dat gebeurt al
te ontwikkelen. “Op deze manier zie je echt
jaren overal zo, maar echt bevredigend is het niet”, vertelt Bakker. Via, via kwam zij in aanraking met Peter de Man, directeur van Talent
hoe belanghebbenden onze medewerkers
Developer. Dit bedrijf heeft software ontwikkeld – het Talentenpaspoort om mensen te ondersteunen in hun professionele en persoonlijke ontwik
waarderen.”
keling. Bakker werkt er binnen haar cluster (een onderdeel van Triade) nu anderhalf jaar mee en is tevreden met deze oplossing.
Teus Molenaar
Alleen een browser Hoe werkt TalentDeveloper? Peter de Man: “Wij hebben gekozen voor een SaaS-oplossing. Mensen die ermee werken, hoeven dus alleen maar over een browser te beschikken. Op een server – ergens in de cloud - krijgen de deelnemers hun persoonlijke Talentenpaspoort waarmee zij hun ontwikkeling kunnen volgen en sturen.” In jargon heet dit ‘competenties’: een beschrijving van het werk dat hoort bij een bepaalde functie. Peter de Man vertelt dat hij in goed onderling overleg met de verantwoordelijke van de invoering het ‘competentiewoordenboek’ foto: Douwe Pieter van den Bos
opstelt; of het competentiewoordenboek met de van toepassing zijnde
Met het Talentenpaspoort is een onderhoud met medewerkers geen Sinterklaasgesprek meer.
competentiesets invoert als dit reeds aanwezig zijn, hetgeen bij grotere organisaties vaak het geval is. “Dat alles begint met de visie en de missie van de organisatie”, vult Bakker aan. “We willen persoonlijk zijn, onder nemend, en professioneel..” Uit de doelstellingen volgt per medewerker een rolprofiel. Die profielen zijn opgenomen in de Talentenpaspoorttoepassing. Een medewerker ziet aan zijn rolprofiel aan welke eisen hij dient te voldoen. Hij kan zelf aangeven in hoeverre hij daaraan voldoet. Mirjam Rustenburg is gedragsdeskundige bij Triade en heeft meegewerkt aan het opstellen van de profielen. “Het mooie is”, vertelt zij, “dat je kunt
34
appworks juli/augustus 2010
Wat is Triade? Sinds het ontstaan van zorg voor kinderen met een verstandelijke beperking aangeven wat je zou kunnen doen als je op een bepaald onderdeel onder
in Flevoland ruim 35 jaar geleden is Triade uitgegroeid tot een organisatie
scoort. De medewerkers krijgen tips op hun scherm om beter en prettiger
met ongeveer 1.800 medewerkers die een grote verscheidenheid aan
te kunnen werken. Daarbij staat het belang van de cliënten voorop. Die tips
zorg- en ondersteuningproducten biedt. Ook is de doelgroep uitgebreid.
zijn afgestemd op het profiel. Uit de reacties van de medewerkers maak ik
Behalve mensen met een verstandelijke beperking maken ook meervoudig
op dat zij dit prettig vinden. Maar je kunt ook aflezen wat je kunt doen als
complex gehandicapten, kinderen en gezinnen met een ontwikkelings
je boven het gemiddeld scoort.”
vraag of opgroeiproblemen, mensen met psychosociale problemen of met psychiatrische aandoeningen gebruik van de ondersteuning van Triade.
Uitnodigen
De organisatie ondersteunt mensen thuis of op één van de negentig
Medewerkers kunnen niet alleen zelf aangeven hoe zij voldoen aan hun
locaties in Flevoland. Het doel is de kwetsbare mensen te helpen volwaar
profiel, maar ook anderen uitnodigen hun feedback te geven. Dat loopt
dig deel te nemen aan de samenleving.
uiteen van de direct leidinggevende, via naaste collega’s tot bijvoorbeeld de ouders van cliënten. “Je moet met elkaar goed bepalen wie je in dat ecosysteem opneemt”, legt Rustenburg uit. “Wij hebben er bijvoorbeeld
inspanning krijg je er als medewerker, manager en bestuurder maximale
bewust voor gekozen niet de geestelijk beperkte cliënten in het eco
sturingsinformatie voor terug. Het is te vergelijken met een navigatie
systeem op te nemen, omdat het soms te moeilijk voor ze is, maar ook om
systeem, maar dan voor persoonlijke en organisatorische ontwikkeling.”
te voorkomen dat iemand die een conflict heeft met een begeleider dat in scores gaat omzetten.”
Gespreksstof
Per bedrijf zal dit ecosysteem verschillen. “Onze software is bijvoorbeeld
Bakker vertelt dat het gebruik van het Talentpaspoort bovendien een goede
ook in gebruik bij het ROC Flevoland en daar zijn stagebegeleiders een
onderbouwing en gespreksstof geeft voor functioneringsgesprekken. “Je
belangrijke bron van informatie”, vult Peter de Man aan.
kunt zien hoe iemand voldoet aan zijn profiel, wat hij denkt te gaan doen
Bakker en Rustenburg geven aan dat medewerkers, in eerste instantie, wel
aan bepaalde zaken als hij of zij daarop niet zo goed scoort; of wat er al is gedaan. Er is een volwassen gesprek mogelijk. Dit is vooral ook handig voor
De medewerkers krijgen tips op hun scherm om beter en prettiger te kunnen werken. iemand die net als manager ergens begint. Je krijgt een volledig beeld van de organisatie.” “Deze Talentenpaspoort-oplossing is een systeem om mensen te helpen hun talenten te ontplooien. Invoering van een dergelijke oplossing vereist Dergelijke dossiers nodigen niet echt uit om ter hand te nemen om een gesprek voor te bereiden.
wel voorbereiding. Maar het resultaat is positief. Leidinggevenden hoeven minder bij te sturen, omdat het systeem bijhoudt hoe iemand het doet en automatisch tips geeft voor verbeterpunten. Op groepsniveau kun je boven dien zien via dashboards op welke punten de groep scoort. Daar kun je bij het aannamebeleid rekening mee houden.” Deze systematiek is een SaaS-oplossing; er zijn overigens geen initiële
moeten wennen aan het op deze manier waarderen van elkaar en zichzelf.
investeringskosten aan verbonden. De afnemer betaalt een licentie per
“Niet iedereen is geneigd tot (zelf)reflectie”, zegt Rustenburg. “Maar als
gebruiker. Wie verandert van werkgever kan zijn Talentenpaspoort - indien
het eenmaal loopt, dan merken mensen dat het een nuttige manier is om
gewenst - meenemen; dan blijft het online staan, zodat het in een nieuwe
jouw werk beter te kunnen doen. Bovendien kun je zien wat je moet doen
situatie is voort te zetten.
als je een andere functie ambieert; welke opleidingen je bijvoorbeeld zou moeten volgen. Overigens moeten mensen niet de indruk krijgen dat het systeem bedoeld is om mensen aan te sporen ‘hogerop’ te willen. Iemand die tevreden is met zijn werk, kan het gebruiken om dat nog beter te doen.”
Teus Molenaar is hoofdredacteur van AppWorks
Bakker en Rustenburg ervaren het systeem als nuttig. “Met een minimale appworks juli/augustus 2010
35
metrieken
Is meten ook weten? Een organisatie wil graag weten of haar informatiebeheer juist en efficiënt is ingericht. Metrieken kunnen helpen een antwoord te vinden. Bijvoorbeeld op vragen als ‘hoeveel nieuwe code was er nodig bij een project?’. Er komt echter nogal wat kijken bij het vaststellen van nuttige metrieken, want meten is niet altijd weten. Frances van Haagen
Business Information Management (BIM) is dat deel van de organisatie dat
CobiT (Control Objectives for Information and related Technology) v4.1
zich bezighoudt met het sturen van de informatievoorziening, het vorm
2007 is een framework voor het gestructureerd inrichten en beoordelen
geven en aanpassen ervan, en het in stand houden en bewaken van de
van beheersingsmaatregelen voor ICT. CobiT bevat o.a. procesbeschrijvin
werking van de informatievoorziening. Hierbinnen speelt ICT bijna altijd een
gen, waarvan een aantal zich binnen het BIM-domein bevinden.
dominante rol.
CobiT en BiSL verschillen nogal. Vergelijk bijvoorbeeld eens het CobiT-
De focus van BIM ligt niet op technische, maar op bedrijfsmatige aspecten.
proces ‘Manage data’, dat vooral gaat over opslag en back-up van bedrijfs
BIM functioneert daarbij op strategisch, tactisch en operationeel niveau.
gegevens, met het BiSL-proces ‘Beheer bedrijfsinformatie’, dat gegevens
BIM bepaalt, als vertegenwoordiger van de vraagorganisatie, de behoef
beheer vanuit een veel breder perspectief benadert.
ten voor de informatievoorziening op korte, middellange en lange termijn.
Er is ook een ISO-norm voor ‘Corporate governance of information techno
Die behoeften worden gerelateerd aan kosten en baten, aansluiting op het
logy’ (ISO/IEC 38500:2008). Deze heeft in theorie betrekking op hetzelfde
bedrijfsproces, en tevredenheid van gebruikers en management. BIM omvat
domein als BIM, maar geeft een veel meer generieke en vooral strate
de vakgebieden die vaak worden benoemd als informatiemanagement
gische invulleng aan de BIM-processen.
en functioneel beheer. In internationaal verband wordt het BIM-domein
In het algemeen vormt een procesmatige benadering een goede onder
meestal aangeduid als IT Governance.
steuning bij het ontwerpen en uitvoeren van bruikbare en herhaalbare
Het ‘process framework’ BiSL (Business Information Services Library) biedt
metrieken voor dat vakgebied. BIM vormt daarop geen uitzondering.
in de vorm van een gestructureerde verzameling standaardprocessen een handig overzicht van onderwerpen die binnen de reikwijdte van BIM vallen.
Belangen in balans brengen Bij het ontwikkelen van metrieken is het belangrijk de informatie
36
Andere perspectieven
behoeften van de verschillende belanghebbenden binnen of buiten de
Ik gebruik BiSL vaak als controlelijst om het belang en de prioriteit te bepalen
organisatie goed te onderzoeken en met elkaar in balans te brengen. Bij
van een bepaald BIM-onderwerp binnen een specifieke organisatie, en om
het in kaart brengen van de betrokkenen is een brede blik noodzakelijk.
zo’n onderwerp procesmatig te kunnen benaderen.
Denk niet alleen aan het management van de organisatie, maar ook aan
appworks juli/augustus 2010
Wat is een metriek? Een metriek is een meting, gebaseerd op meetbare elementen operationele medewerkers, project managers, klanten, toeleveranciers,
van bijvoorbeeld een dienst of een proces. Zo kun je (om in de
ketenpartners, toezichthouders, …. Bedenkt tevens dat ook degenen die
BIM-sfeer te blijven) de doorlooptijd van de afhandeling van
de data moeten aanleveren voor de metriek belanghebbend zijn!
een call naar de eerstelijns helpdesk meten, of de hoeveelheid
De metriek moet informatie verschaffen over het succes en het
code die is aangepast in een vernieuwingsproject. Je kunt ook
functioneren van de organisatie.
zoiets als tevredenheid van de gebruikers van de informatie
Een metriek kan betrekking hebben op resultaten die reeds tot stand
voorziening meten, of het aantal wijzigingen dat in een jaar
zijn gekomen en niet meer beïnvloedbaar zijn (bijvoorbeeld: omzet over
wordt aangebracht in de informatievoorziening.
het afgelopen kwartaal); we spreken dan van een ‘trailing metric’. Een
Voor alle metrieken geldt dat een eenduidige en volstrekt uit
metriek kan ook iets zeggen over de wijze waarop de resultaten tot
puttende definitie van de metriek van cruciaal belang is en een
stand komen. Het is erg gunstig als een metriek voorspellende waarde
wezenlijk onderdeel uitmaakt van de metriek.
heeft in relatie tot de uiteindelijke resultaten; zo’n metriek noemen we een ‘leading metric’. Zo wordt de score op klantentevredenheid vaak resultaten tegemoet aan de informatiebehoefte en aan de meetdoelstel
beschouwd als een van de voorspellers voor financiële resultaten
lingen? Hebben we er iets aan?
Regelkring rond metrieken
ACT: Indien nodig, worden metrieken aangepast, verwijderd of toege
Het is essentieel dat een organisatie een ‘meetsysteem’ ontwikkelt en
voegd.
onderhoudt om tegemoet te komen aan de informatiebehoeften van de
Een metriek zal dus worden gebruikt omdat ofwel gebleken is dat ze iets
belanghebbenden en dat te blijven doen. Dat systeem bestaat in grote
nuttigs zegt in relatie tot de doelstellingen, ofwel de – nog te toetsen -
lijnen uit de volgende ‘regelkring’ (ook wel Plan-Do-Check-Act-cyclus
vooronderstelling bestaat dat dit zo zou kunnen zijn.
genoemd):
De beschrijving van het procesgebied Measurement & Analysis in (CMMI
PLAN: Er worden meetdoelstellingen vastgesteld. Dit betekent dat voor
v1.2
elke beoogde metriek inzicht ontstaat in de onderwerpen: “Wat is de
ontwikkelen en toepassen van een meetsysteem.
2007) biedt een heel elementair procesmatig kader voor het
exacte definitie van de metriek?’, ‘Welke vraag beantwoordt de metriek?’ en ‘Tot welke soort actie leiden de meetresultaten?
Meetbare doelstellingen
DO: Uitvoering van de metingen; dit omvat het verzamelen, opslaan,
BIM verzorgt de noodzakelijke sturing op de informatievoorziening uit
analyseren en rapporteren van de metrieken.
drukkelijk vanuit het oogpunt van de business. Een BIM-metriek is dus
CHECK: Er vindt een evaluatie plaats: in welke mate komen de meet
nuttig als deze – direct of indirect – bijdraagt aan het inzicht in het succes
Richtinggevend
Relatie management gebruikersorg.
Informatie coördinatie
Strategie inrichting IV-functie
Informatie lifecycle management
Ketenpartners management
Planning en control
Informatie portfolio ontwikkkelingen
Bepalen Bedrijfsproces ontwikkelingen
Opstellen Informatie strategie
Opstellen IV-organisatie strategie
Sturend
Bepalen technologie ontwikkelingen
Bepalen ketenontwikkelingen
Leveranciers management
Financieel management
behoefte management
Contract management
Wijzigingen beheer Gebruikers ondersteuning
Beheerbedrijfs informatie
Specificeren
Vormgeven niet- geaut. IV
Voorbereider transitie
Toesen en testen
Uitvoerend Operationele ICT-aansturing
Het ‘process framework’ BiSL (Business Gebruiksbeheer
Transitie
Functionaliteitenbeheer
Information Services Library)
appworks juli/augustus 2010
37
van BIM. Dat succes wordt bepaald door de mate waarin BIM aan zijn
In aanvulling op de stoplichten wil de eigenaar van het bedrijfsproces
doelstellingen beantwoordt.
Verhevelen onderzoeken of het vernieuwingsproject daadwerkelijk heeft
Hierbij dient zich meteen al een uitdaging aan: hoe bepaal je doelstel
bijgedragen aan verbetering van de informatievoorziening. Hij laat nagaan
lingen voor BIM die echt iets zeggen over de mate van ondersteuning van
hoeveel defecten er zijn gevonden en opgelost tijdens de gebruikers
het bedrijfsproces en die ook nog eens eenduidig meetbaar zijn?
acceptatietest. In de defectregistratie waren 85 defecten gerapporteerd. Deze waren door de projectmanager (afkomstig van BIM) van een
Voorbeeld
prioriteitsaanduiding voorzien. Volgens de registratie zijn de prio’s 1 en 2
Onder aansturing van BIM is het project ‘Het Nieuwe Verhevelen’ uit
vervolgens allemaal opgelost.
gevoerd, een vernieuwingsproject voor een applicatie die het bedrijfs kritische proces ‘Verhevelen’ ondersteunt. Het ligt voor de hand om te willen weten of zo’n project binnen tijd / budget / kwaliteit / scope is uitgevoerd. Hiervoor zijn bruikbare metrieken te bedenken; ‘stoplicht rapportages’ laten (via de kleuren rood, groen en oranje) de status zien van projecten op bepaalde aspecten. Aan deze metrieken zijn ook doel stellingen voor BIM verbonden: zo moet ten minste 80% van het totaal
De focus van BIM ligt niet op technische, maar op bedrijfsmatige aspecten.
aantal projecten binnen tijd / budget zijn uitgevoerd en daarbij ook nog geaccepteerde deliverables hebben conform planning. ‘Het Nieuwe Verhevelen’ laat allemaal groene stoplichten zien; iedereen kan er een voorbeeld aan nemen!
Do’s and don’ts
• Ontrafel een voorgestelde metriek helemaal; pas dan krijg je een realistisch
beeld van de bruikbaarheid. Neem een metriek als ‘% succesvolle changes – op tijd’ (zie ITSM Metrics-boek 2006, p. 22) Deze metriek wordt pas eenduidig (en dus bruikbaar) als ‘succesvol’ en ‘op tijd’ geheel eenduidig zijn gedefinieerd.
•
Wees je ervan bewust dat de toepasbaarheid van een metriek staat of valt met de beschikbaarheid en betrouwbaarheid van de basisgegevens. Een goed voorbeeld is een betrouwbare registratie van uren die daadwerkelijk besteed zijn aan een bepaalde activiteit. Deze basisinformatie, die terugkomt in veel metrieken, is lang niet altijd aanwezig. Wijze van sturing en organisatiecultuur
•
zijn op dit punt heel bepalend en vaak zal aan deze aspecten gewerkt moeten
De proceseigenaar blijft met zijn vraag zitten. De gegevens uit het defect
worden om een basis te creëren voor een zinvol meetsysteem.
registratiesysteem overtuigen hem er niet van dat het BIM-budget dat hij
Denk eraan dat een metriek te beïnvloeden moet zijn door degene die verant
met veel moeite heeft weten vrij te maken, daadwerkelijk rendement
woordelijk wordt gehouden voor de ‘score’. Zo is het niet realistisch om ontwik
oplevert voor Verhevelen. Daarom laat hij een tevredenheidonderzoek uit
kelaars verantwoordelijk te stellen voor de score op gebruikerstevredenheid
voeren onder de gebruikers. Dit lijkt een uitstekende meetmethode te zijn
na oplevering, wanneer de verantwoordelijke voor de specificaties niet heeft
en er komen positieve resultaten: de gebruikers zijn behoorlijk tevreden.
geborgd dat de specificaties in overeenstemming waren met de behoefte!
Echter, wanneer de resultaten bedrijfsbreed zijn gepubliceerd, melden zich
• Ontwerp en implementeer een metriek samen met alle betrokkenen, zowel de
enkele stakeholders die niet waren meegenomen in het onderzoek. Zo laat
• Zoals de waard is, kent hij zijn gasten: Als je als manager je mensen geen
tijdens het vernijpen gebruikt sinds enige tijd andere eigenschappen heeft,
vertrouwen geeft, hebben ze ook geen reden om jou te vertrouwen. Je loopt
waardoor bepaalde stappen in het vernijpproces nu meer tijd kosten. Ook
dan het risico dat ze vooral zo goed mogelijk willen scoren op de metrieken.
heeft een trouwe klant inmiddels een klacht ingediend, omdat het product
Transparantie kan alleen ontstaan als je waardering toont voor het goede dat
dat hem onlangs is geleverd niet voldoet aan zijn verwachtingen.
door metrieken zichtbaar wordt, niet als je een afrekening presenteert voor
Zo komt proceseigenaar Verhevelen tot het inzicht, dat hij in deze fase
de problemen die zichtbaar worden. Spreek met je mensen af hoe je meetre
van de strijd eigenlijk wil meten hoe goed het specificatieproces, zoals
sultaten gebruikt voor het aanpakken van de problemen waarmee ze worden
gecoördineerd door BIM, de feitelijke behoeften van alle betrokkenen
geconfronteerd.
bij Verhevelen afdekt. Maar wat is daar een goede metriek voor? Het
informatievragers als de informatieleveranciers.
de proceseigenaar Vernijpen weten, dat het verhevelde halffabrikaat dat hij
aantal reviewopmerkingen bij een requirements-document? Het aantal
38
appworks juli/augustus 2010
BUSINESS OBJECTIVES GOVERNANCE OBJECTIVES
ME1 ME2 ME3 ME4
Monitor and Evaluate IT Performance Monitor and Evaluate Internal Control Ensure Regulatory Compliance Provide IT Governance
INFORMATION CRITERIA • Effectiveness • Efficiency • Confidentiality • Integrity • Availability • Compliance • Reliability
MONITOR AND EVALUATE
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10
Define a Strategic IT Plan Define Information Architecture Determine Technological Direction Define the IT Processes, Organization and Relationships Manage the IT Investment Communicate Management Aims and Direction Manage IT Human Resources Manage Quality Assess and Manage IT Risks Manage Projects
AI1 AI2 AI3 AI4 AI5 AI6 AI7
Identify Automated Solutions Acquire and Maintain Application Softare Acquire and Maintain Technology Infrastructure Enable Operation and Use Procure IT Resources Manage Changes Install and Accredit Solutions and Changes
PLAN AND ORGANISE
IT RESOURCES DS1 DS2 DS3 DS4 DS5 DS6 DS7 DS8 DS9 DS10 DS11 DS12 DS13
Define and Manage Service Levels Manage Third-Party Services Manage Performance and Capacity Ensure Continuous Service Ensure Systems Security Identify and Allocate Costs Educate and Train Users Manage Service Desk and Incidents Manage the Configuration Manage Problems Manage Date Manage the Physical Environment Manage Operations
• Applications • Information • Infrastructure • People
DELIVER END SUPPORT
ACQUIRE AND IMPLEMENT
Meer weten?
handtekeningen op een requirements-document? Het aantal wijzigingen in vastgelegde requirements? Het aantal stakeholders dat betrokken was bij het specificatieproces (en wie zijn die stakeholders dan allemaal)? Het aantal requirements-sessies met gebruikers? Hij huurt een externe consultant in en gaat over tot de orde van het
• BiSL-boek 2005; Pols, R. van der, R. Donatz en F. van Outvorst, BiSL. Een Framework voor Functioneel Beheer en Informatiemanagement, Van Haren Publishing, 2005
• BIM-praktijkboek 2009; Pols, R. van der, Business informatiemanagement en BiSL in de praktijk. Inrichting van de vraag en vraagorganisatie, Van Haren Publishing, 2009
Verhevelen.
•
ITSM Metrics-boek 2006; Brooks, P., J. van Bon en T. Verheijen, Metrics for IT Service
’Knoppen‘
•
CMMI for Development v1.2 2007; Chrissis, M.B., M. Konrad en S. Shrum, CMMI Second Edition.
Management, Van Haren Publishing, 2006
Kortom: het is nodig inzicht te krijgen in de ‘knoppen’ die een organisatie gebruikt om een doelstelling te realiseren. Vervolgens is de uitdaging de werking van die knoppen te vertalen naar bruikbare en zinvolle metrieken. Suggesties voor bruikbare metrieken komen van verschillende kanten. De processen in het BiSL-boek 2005 bevatten geen expliciete metrieken, maar zijn beschreven volgens een vast stramien, waarin met name de
Guidelines for Process Integration and Product Improvement, Addison-Wesley, 2007
• CobiT v4.1 2007; http://www.isaca.org/cobit • ISO/IEC 38500:2008]; ‘Corporate governance of information technology’ (International Standard), http://www.iso.org/iso/catalogue_detail.htm?csnumber=51639
•
van BSC bij Achmea, Presentatie op themasessie van de Werkgroep Metrics van de ASL BiSL
elementen Activiteiten en Resultaten een goede basis bieden voor het
Foundation,
ontwikkelen van metrieken. CobiT v4.1 2007 geeft bij elk proces metrieken. In het ITSM Metrics-boek 2006 zijn ook enkele metrieken beschreven die zich op het BIM-terrein bevinden (de Business Perspective metrics). Voor beide bronnen geldt
Achmea-presentatie 2009; Faassen, F. van, en H. Hopman, De dynamische werkelijkheid
19-11-2009, http://www.aslbislfoundation.org/content/view/137/43/lang,nl/
•
ASL BiSL Foundation, Werkgroep Metrics, White paper in ontwikkeling, werktitel ‘Metrics voor Applicatiemanagement en Business Informatie Management, t.z.t. te vinden op http://www.aslbislfoundation.org/
dat ze aardige suggesties geven, maar dat de desbetreffende metrieken in het algemeen nog nader moeten worden uitgewerkt en gedefinieerd om eenduidig, herhaalbaar en daarmee bruikbaar te zijn. De Achmea-presentatie 2009 geeft aardige voorbeelden van BIM-me
Frances van Haagen is Principal Consultant bij The Lifecycle Company.
trieken bij Achmea, zowel metrieken die daar niet gewerkt hebben als
Zij is gespecialiseerd in procesverbetering rond business informatiemanagement
metrieken die nog steeds worden gebruikt.
en applicatieontwikkeling en -management. Zij is mede-auteur van de
Bij de werkgroep Metrics van de ASL BiSL Foundation is een white paper in
NEN-norm 3434 / concept ISO-norm 26500 voor Applicatiemanagement en heeft
ontwikkeling met voorbeelden van BIM-metrieken en eisen waaraan die
diverse andere publicaties op haar naam staan
metrieken zouden moeten voldoen. appworks juli/augustus 2010
39
testen
Test Driven Development loont Door de toenemende populariteit van Agile ontwikkelmethodieken groeit ook de bekendheid van het Test Driven Development (TDD). De twee zijn evenwel niet onlosmakelijk met elkaar verbonden, zij het dat ze wel logischerwijs in elkaars verlengde liggen. Het loont om deze manier van werken toe te passen. Guido van Loon
Bij Agile projecten is alles erop gericht zo
TDD krijgt daarom ook wel eens het stempel
Maar wanneer er tijdens zo’n acceptatietest nog
snel mogelijk waarde voor de organisatie te
‘test driven design’.
fouten aan het licht komen, zijn deze meestal niet eenvoudig meer op te lossen. Wanneer
creëren. Hierbij geldt ‘do the simplest thing that
40
could possibly work’ als leidend principe. Als
Unit testen
dezelfde fout eerder in het ontwikkelproces zou
gevolg daarvan kan het gebeuren dat na een
Test driven development is een specialisatie van
zijn ontdekt, dan was het vele malen makkelijker
aantal releases delen van de software aanpas
unit testen. Daarom is het van belang om eerst
en goedkoper geweest om deze te corrigeren.
singen nodig hebben (refactoring) omdat een
te begrijpen hoe unit testen in zijn werk gaat
Daarom is het van belang om zo vroeg mogelijk
eerder uitgangspunt (the simplest thing) niet
voordat we test driven development kunnen
in het proces eventueel gemaakte fouten te
meer toereikend is voor een volgende release.
bespreken.
ontdekken en te herstellen, aangezien de kosten
Een Agile methodiek is dan alleen effectief
Het is de taak van een softwareontwikkelaar op
sterk stijgen naarmate men verder in het proces
wanneer er geautomatiseerde testen zijn die
basis van functionele specificaties een correct
is.
efficiënt kunnen aantonen dat de refactoring-
functionerend stuk software te schrijven. Om te
slag geen functionaliteit heeft beïnvloed.
bewijzen dat de software naar behoren werkt,
Hoge kwaliteit
Met TDD zorg je er niet alleen voor dat deze
is het vaak nodig één of meerdere vormen van
Met correct functionerende software alleen zijn
testen er zijn, de methode helpt ook bij het
testen toe te passen. De meest bekende test
we er nog niet. Een goede softwareontwikkelaar
invullen van het technisch ontwerp, zodat
is de acceptatietest waarbij de opdrachtgever
streeft ernaar code te schrijven die van een
er bijna als vanzelf een loosely coupled, op
vaststelt dat alles in orde is en de software
hoge kwaliteit is. Vanzelfsprekend zitten er in
componenten gebaseerd ontwerp ontstaat.
accepteert.
kwalitatief goede code weinig fouten. Maar
appworks juli/augustus 2010
Een schematische weergave van het TDD-proces.
code is pas echt goed wanneer deze volledig
Start
gedocumenteerd is en makkelijk door anderen is te begrijpen. Het moet ook mogelijk op een eenvoudige manier wijzigingen door te voeren
Write Test
zonder dat men bang hoeft te zijn dat er daarna
Run all tests
onvoorspelbaar gedrag optreedt. Hoe vaak be kruipt je niet het gevoel dat je een bepaalde
Make test pass by writing production code
aanpassing liever niet zou doen, omdat je sim pelweg niet weet wat de impact op het totale systeem zal zijn? Unit testen is een manier van testen die de ontwikkelaar kan helpen de kwaliteit van zijn
Run all tests
eigen code te verbeteren. Een unittest is een test die wordt opgesteld in dezelfde taal als waarin de software wordt ontwikkeld. Het is een test geschreven door de softwareontwikkelaar voor zijn eigen code. Elke unittest is verantwoordelijk voor het testen van een afgebakend stukje van
If all test pas, and no need to refactor, write a new test
de code (een unit). Unittests zijn autonoom, her haalbaar en zijn snel en eenvoudig uit te voeren. Een typische unittest is te beschouwen als
Refactor production code if test pass
Fixx Bugs if tests fall
een klein programmaatje dat de ontwikkelaar tegelijk met de productiecode schrijft. Dit pro grammaatje (de test) voert een deel van de productiecode uit en controleert de uitkomst aan de hand van de verwachtingen die in de test zijn
Doordat de unittest zelf ook een stuk programma
doorvoeren. Je hebt immers een complete set
voorgeprogrammeerd. De test kan van zichzelf
code is, is het eenvoudig om hem te herhalen.
unittests waarmee je kan bewijzen dat alle func
aangeven of hij geslaagd is. De meeste unit
Stel je een codebase voor waarbij de correcte
tionaliteit nog steeds in tact is en het kost geen
tests worden geschreven met behulp van een
werking van elk stukje functionaliteit door mid
enkele moeite om al deze testen uit te laten
framework zoals JUnit voor Java of MSTest voor
del van unittests valt te bewijzen. In zo’n code
voeren omdat ze geautomatiseerd zijn.
Microsoft .NET.
base kan je met een gerust hart een wijziging
Elke unittest, mits duidelijk geschreven, is ook meteen een stukje documentatie van het systeem. De unittest kan in een paar regels code duidelijk laten zien hoe een methode
Deze figuur laat de relatieve kosten zien in de tijd die nodig zijn om een defect te herstellen.
deze bepaalde input krijgt. Dit is waardevolle
60
informatie voor een andere ontwikkelaar die
Source: Barry W. Boehm, Software Egineering Economics
Relative Cost to Correct a Defect In Times
op een class zich hoort te gedragen wanneer 70
50 40 30 20 10 0 Requirements
Design
Code
Developmet Testing
Acceptance Testing
Operation / Production
zich op een later moment over de codebase moet ontfermen.
Valkuilen Helaas gebeurt het in de praktijk nog te vaak dat, naarmate de deadline begint te naderen, een projectleider of manager besluit het schrijven van unittests uit te stellen of helemaal te schrap pen. Men denkt op deze manier tijd te winnen. Bij een organisatie die werkt met gescheiden ontwikkel- en testteams valt er inderdaad tijd winst te boeken bij de programmeurs. Maar als appworks juli/augustus 2010
41
van de unittest beter nadenkt over de manier waarop de functionaliteit moet worden geïm plementeerd. De ontwikkelaar krijgt daardoor de
Training
stimulans om code te schrijven die eenvoudiger
Guido van Loon heeft als lead softwareontwikkelaar in verschillende
in kleine testbare eenheden is op te delen. Hij
projecten TDD toegepast. Hij heeft begin dit jaar het trainingsaanbod
vermijdt hiermee automatisch de valkuil van on
van Info Support uitgebreid met de training ‘Unit Testing & Mocking with
beheersbare unittests. Omdat de ontwikkelaar
Visual Studio 2010’. In deze tweedaagse training leert de cursist TDD
de test eerst schrijft, is het niet mogelijk code
toepassen door dieper in te gaan op het schrijven van unittests en het
te implementeren die niet door een unittest kan
isoleren van de unit die de test ondergaat. Van Loon deelt in deze trai
worden getest. “Je kan iets niet bouwen als je
ning niet alleen de theorie van TDD maar ook de praktische ervaring die
het niet kan testen.”
hij de afgelopen zeven jaar op dit gebied heeft opgedaan. Voor meer
Het
informatie ga naar http://www.infosupport.com/Training.
eigenlijk voor zichzelf. Het is belangrijk elke keer
test-driven-development-proces
spreekt
alle testen uit te voeren zodat je zeker weet dat de nieuwe code geen bestaande tests heeft blijkt dat het aantal gevonden defecten daarna
teem zorgt er dan voor dat te veel testen een
gebroken, dus geen bestaand gedrag heeft
steeds in aantal toeneemt, loopt het hele project
aanpassingen nodig hebben om de wijziging
gewijzigd.
uiteindelijk toch vertraging op.
te reflecteren. Wanneer er te veel van dit soort
In de praktijk is TDD niet zo zwart-wit als de
Het ontwikkelteam moet de gevonden fouten
testen zijn, kan dat ervoor zorgen dat de extra
theorie ons doet geloven. Om een unittest te
herstellen
functionaliteit
winst die unittesten moet brengen, omslaat in
kunnen uitvoeren, is het nodig deze eerst te
weer opnieuw naar het testteam gaat. Zonder
extra kosten. Houd daarom de unit die getest
compileren. Hiervoor is het vaak noodzake
unittests zijn er bij het herstellen van fouten
wordt, zo klein mogelijk.
lijk alvast een deel van de productiecode te
mogelijk ongemerkt nieuwe fouten geïntrodu
Een ander probleem van veel unittests zijn al
implementeren, nog voordat de unittest voor de
ceerd in functionaliteit die eerder wel correct
lerlei externe omgevingsfactoren die de uit
eerste keer valt uit te voeren. Ik merk zelf dat
waarna
dezelfde
het schrijven van een unittest en productiecode
Het vergt tijd om deze manier van werken in de vingers te krijgen; daarom is het zinvol
hand in hand gaan.
Begin vandaag TDD is niet onlosmakelijk verbonden met een Agile methodiek. De methode is ook prima toe
vandaag al te beginnen.
te passen in de meer traditionele ontwikkel methodieken. Mijn ervaring is dat mensen na een tijdje TDD niet meer anders willen
werkte waardoor er nog een derde ronde
komst van de test beïnvloeden, zoals de inhoud
ontwikkelen. Er is enig doorzettingsvermogen
herstel- en testwerk nodig is. Indien er wel unit
van een database, de instellingen in een
vereist en het ontwikkelteam moet er zelf wel
tests geschreven zouden zijn, was een aantal
configuratiefile of de afhankelijkheid van een
achter staan wanneer zijn manier van werken
defects veel eerder gevonden, was het hersteld
extern systeem waarover men geen controle
wordt aangepast.
en zou het aantal bevindingen van het testteam
heeft. Deze factoren dienen te worden geabstra
Een traditioneel softwareontwikkelteam kan
lager zijn. Een derde ronde herstel- en testwerk
heerd achter interfaces, zodat ze tijdens het unit
geleidelijk naar een Agile methodiek toegroeien
voor nieuwe defecten, ontstaan tijdens herstel
testen zijn te vervangen door iets waarover de
door te beginnen met het schrijven van unit
werk, is met unit testen vrijwel uitgesloten.
test controle heeft. Deze techniek staat bekend
tests, bij voorkeur volgens TDD. Het vergt tijd om
Softwareontwikkelaars die met de beste be
als mocking en is een waardevolle toevoeging in
deze manier van werken in de vingers te krijgen;
doelingen op een goede manier unittests pro
het arsenaal van een TDD-ontwikkelaar.
daarom is het zinvol vandaag al te beginnen.
beren te schrijven, lopen vroeg of laat tegen
42
problemen aan dat hun unittests niet meer te
Test Driven Development
beheersen zijn als de unit die getest wordt, te
Bij test driven development is het altijd nodig
groot blijkt. De test krijgt dat in één keer te veel
eerst de unittest te schrijven alvorens de functio
Guido van Loon is werkzaam
logica te verwerken, waardoor de unittest al snel
naliteit te implementeren. De gedachte hierbij
voor Info Support.
te complex is. Een kleine wijziging in het sys
is dat de ontwikkelaar tijdens het schrijven
appworks juli/augustus 2010
praktijk
BlueCielo als paperclip Bij ontwikkeltrajecten van bedrijfssoftware zijn veel partijen betrokken die elk hun werkzaamheden documenteren. BlueCielo levert programmatuur die al die documenten regisseren en de onderlinge samenwerking faciliteert. Als paradepaardje noemt directeur Luuth van der Scheer het project rond de Tweede Coen. Teus Molenaar
BlueCielo, zo vertelt Van der Scheer, viert zijn 25-jarig bestaan. Aanvankelijk
Ook de culturele verschillen helpt BlueCielo overbruggen. “De verschillen
richtte de onderneming zich op het ontsluiten van CAD-tekeningen. “En dat
de partijen hebben alle een ander rol, maar ook een andere cultuur. De
is van lieverlee steeds verder uitgebouwd”, zegt hij, “maar het is nu wel een
overheid stelt de eisen vast, maar laat de invulling onder voorwaarden over
heel ander bedrijf, hoor. Het is totaal veranderd.”
aan de markt; dit is een controlerende taak. De aannemerscombinatie vindt
Wat BlueCielo doet, is orde scheppen in bestaande datasets. Asset
het gewoon leuk om een tunnel te bouwen; de consultant is heel kennis
management is een belangrijk aspect van de oplossing. Hij benadrukt dat
gedreven, terwijl de uitvoerende onderaannemers uitblinken in improvisatie.
het niet zozeer een plat document managementsysteem is, maar dat ook
BlueCielo biedt een overkoepelend, en daarmee verbindend, platform waar
de procesgangen in de aanpak zijn verwerkt en dat alle wijzigingen worden
binnen iedereen kan samenwerken. Dat helpt mogelijke spraakverwarrin
bijgehouden.
gen te voorkomen”, aldus Van der Scheer.
“Dat laatste is bijvoorbeeld in de procesindustrie uitermate belangrijk, want
Het product presenteert en synchroniseert de metadata die bij document
als daar iets verandert, dan verandert het eindproduct ook meteen. Zo
en horen, het routeert de documenten door de organisatie, lost typische
mag er geen chroom meer voorkomen in appendages (een soort koppel
CAD-problemen op, houdt bij welke veranderingen er binnen documenten
stukken, TM). Dan is het handig als je heel eenvoudig een overzicht krijgt
plaats vinden, en voert de regie over alle documenten.
waar chroom in de processen voorkomt. Vroeger moest dan alles opnieuw
Het Coentunnel-project is een zogenoemd Design, Build, Finance en
worden geïnventariseerd. Je moet dan natuurlijk nog wel het werk anders
Maintain-object. “Het consortium gaat dertig jaar het onderhoud doen.
organiseren om het gebruik van chroom uit te sluiten, maar de faalkans dat
Dan wil het zeker weten dat de tunnel goed is gebouwd, dat het niet voor
er toch nog chroom in het eindproduct komt, is met BlueCielo wel erg klein.”
verrassingen komt te staan. Bovendien wil je, als zich iets voordoet in de toekomst, heel makkelijk kunnen teruggrijpen op de documentatie om
Vergunningen
bepaalde ontwikkelingen te herleiden. Juist vanwege het onderhoud, heeft
Het gebruik van BlueCielo ImandrA (zoals het product heet) door de com
het consortium besloten met ons in zee te gaan”, aldus Van der Scheer.
binatie die de Coen Tuennel bouwt, ziet Van der Scheer als een voorlopige
Hij ziet zijn producten heel goed toepasbaar binnen ontwikkelprojecten
kroon op het werk. Het product wordt overigens samen met IBM Filenet
waar documentatie van levensbelang is. “En het zou ook heel nuttig zijn
(als document management systeem) ingezet door de bouwcombinatie.
bij de aanleg van de Noord-Zuid-lijn, waar ook heel veel partijen bij zijn
Betrokkenen zijn de Besix Group, Dura Vermeer, Dredging International, TBI
betrokken”, zegt hij hoopvol.
Bouw, Vinci Construction en de overheidsorganisaties. “Alleen al het verkrijgen van alle vergunningen die nodig zijn voor dit werk is een hels karwei”, vertelt Van der Scheer. “Met ons product weet je wat de
Teus Molenaar is hoofdredacteur van AppWorks
status is van de processen.” appworks juli/augustus 2010
43
column
Douwe Pieter van den Bos
Het vlindereffect Projecten zijn lastig. Althans, dat is doorgaans de kreet. Al jaren
tornado tot gevolg kan hebben aan de andere kant van de wereld.
heeft de IT-wereld het over projecten die geen succes zijn. Ze
Zo gaat het ook op de werkvloer. Een project kan anders lopen,
kosten allemaal een vermogen, duren te lang en leveren vaak
omdat een programmeur ontslag neemt of omdat er veranderin
zelfs niets op. Complexe theorieën met daarin mogelijke oplos
gen zijn in de functionaliteit van het systeem met grote gevolgen.
singen, horen we ook al jaren. Denk aan de uitgebreide studies die zijn ontwikkeld over het vergaren van eisen en wensen. En
Er is nog een andere vergelijking. Neem het weer: op langer
aan de vele managementmethodieken. Met als resultaat: niets.
termijn (een maand of een jaar) een juiste voorspelling maken is onmogelijk. Op korter termijn (een week of twee) kan dat
En hoe komt dat? De meeste projecten zijn lastig, omdat iedereen
wel prima. Op die manier moet je ook naar projecten kijken. Pak
de uitkomst wilt voorspellen. Die uitkomst willen we voorspellen
kleine brokjes. Deel projecten op in elementen van maximaal
om ervoor te zorgen dat de kosten niet oplopen en het resultaat
twee weken, en laat ze oppakken door kleine teams. Het aantal
te behalen. Toch blijft de voorspelling vrijwel altijd uit. Gek? Nee,
variabelen wordt minder; daardoor beter te voorspellen. Met als
we kunnen niet in een glazenbol kijken. Voorspellen is een utopie.
uitkomst het gewenste, voorspelde resultaat. De complexiteit van projecten zorgt er dus voor dat voorspellen lastig is. Het zorgt er ook voor dat er veel veranderingen plaats vinden. In plaats van deze veranderingen aan te grijpen en tot nieuwe inzichten te komen, gaan we ze tegen. Uit angst, denk ik. En dat is doodzonde. Want gedurende een project kun je er juist achter komen waar de echte waarde voor de organisatie ligt. Omdat dit niet in de lijn van de planning en de voorspelling ligt, negeren wij die. Een onvoorspelde verandering zouden we juist moeten dienen in plaats van bevechten. Nu rest ons de vraag: hebben we het niet gewoon te complex gemaakt voor onszelf? Ja. En dat komt door de voorspelling waar aan we maar vast blijven houden. Dus wat te doen? Denk aan de vlinder en de geringe luchtverplaatsing die haar vleugelslag veroorzaakt. Die kunnen we beheersen; denk niet te veel aan de tornado.
Edward Lorenz heeft in 1961 een mooie theorie bedacht. Hij stelt dat er zoveel variaties zijn in gebeurtenissen en factoren dat je die nooit kan meenemen in je berekeningen. Om dat te illustreren bedacht hij het ‘Vlindereffect’: kleine variaties binnen
Douwe Pieter van den Bos is Consultant
het systeem kunnen grote gevolgen hebben voor de rest van de
Business bij Whitehorses
omgeving. Denk aan een vleugelslag van een vlinder die een
44
appworks juli/augustus 2010
boeken en zo
Agile op grote afstand
Handboek voor applicatielevering
Een kenmerk van Agile ontwikkelen is de dagelijkse bijeenkomst waarin alle betrokkenen staande de gang van
De leverancier van WAN-optimalisatie
zaken doornemen. Hoe doe je dat als een deel van het
apparatuur Riverbed heeft het ‘Handbook
ontwikkelteam in bijvoorbeeld India zit. Guido Schoonheim,
for Application Delivery’ opgesteld.
CTO Xebia Group, schreef er het boek ‘Mind the Gap!’ over.
Het is beschikbaar op de website van
De ondertitel van het drukwerk – dat
menlijke aanpak, het verbreken van
overigens als pdf gratis is op te halen
samenwerking en slechte prestaties’.
van de site van Xebia – zegt al genoeg:
“In 2006 ging Xebia de uitdaging aan
‘The Agile approach to offshoring’. In
met teams in Nederland en India, en is
het voorwoord stelt Jeff Sutherland,
erin geslaagd de kloof te overbruggen
de fabrikant. De auteur is Jim Metzler, mede-eigenaar van de consultancy firma Ashton & Metzler Group.
met gebruikmaking van de principes die
Het boek wil organisaties die moeite hebben applicaties
in dit boekje staan beschreven”, voegt
probleemloos ter beschikking te stellen een handreiking
Suterhland eraan toe. “Dit betekent dat
doen. Er is een framework in opgenomen dat als gids
Xebia de eerste service organisatie is
kan dienen voor dit doel. Vier kenmerken zijn belangrijk:
die blijvend hyperproductief kan zijn
Planning, optimalisatie van het netwerk en de applicatie,
over meerdere, verspreide projecten.”
beheer, en controle. Tevens is in het boek een aantal richt
Zo’n
lijnen opgenomen die helpen bij het maken van een keuze
principe
is
om
eerst
alle
betrokkenen bij elkaar te huisvesten
voor bepaalde producten.
gedurende het werk om het fundament
Volgens Metzler hebben organisaties de neiging de ver
te leggen en elkaar te leren kennen.
schillende aspecten van automatisering apart van elkaar te
Alles bij elkaar genomen, noemt
optimaliseren (suboptimalisatie). Denk aan netwerk, data
Schoonheim de methode Distributed
base, ontwikkelomgeving en dergelijke. Het is zaak al deze
medebedenker van Scrum, dat ‘het
Agile Development (DAD). De methode
aspecten in samenhang te beoordelen en na te gaan hoe
werk verdelen over teams in geogra
rust op vier pijlers die in het boekje wor
ze elkaar beïnvloeden. Hij geeft tips langs welke weg dat
fisch verspreide gebieden gewoonlijk
den beschreven. Tevens is een aantal
is uit te voeren.
resulteert in het verlies van een geza
case beschrijvingen opgenomen.
Werken onder architectuur Aansluiting houden op de snel veranderende omgeving is tegenwoordig de belangrijkste uitdaging voor bedrijven. De ervaring leert dat bedrijven baat hebben bij een systematische aanpak van de bedrijfsinrichting: ‘werken onder architectuur’.
In het boek met de gelijknamige titel leggen Rob van de Wetering en Gerard van der Zaal uit hoe grote, complexe en veranderende bedrijven met bedrijfs architectuur een belangrijk stuurinstrument in handen hebben. Bij velen bestaat de indruk dat architectuur vooral iets is voor IT-vraagstukken en IT-architecten. Dit boek maakt duidelijk dat architectuur ook voor manage mentvraagstukken in de business een zinvol instrument kan zijn. De bedrijfs architectuur biedt lijn-, programma- en projectmanagers overzicht, inzicht en controle. Het verschaft de kapstok voor sturing op (de verandering van) produc ten, processen, organisatie, informatievoorziening, en de relaties daartussen. De insteek is praktisch en pragmatisch: de auteurs maken concreet wat ‘werken onder architectuur’ betekent en lichten verschillende gebruiksmogelijkheden van bedrijfsarchitectuur toe. Architecten en ontwerpers doen met dit boek de basiskennis op die nodig is om in de praktijk met verschillende architectuur raamwerken en -aanpakken uit de voeten te kunnen.
appworks juli/augustus 2010
45
column
colofon
AppWorks is hét vakblad dat alle aspecten van de levenscyclus van
Marcel Warmerdam
(bedrijfs)applicaties behandelt. Jaargang 2, juli/augustus 2010, nummer 5/6
Patenttrollen
Toezending van AppWorks geschiedt op abonnementsbasis en controlled circulation. Uitgever:
Het patentrecht is een prachtige uitvinding in het rechtstelsel. Het heeft tot doel innovatie te
Robbert Hoeffnagel;
[email protected]
bevorderen door bedenkers van iets nieuws een aantal jaren het exclusieve voordeel te gunnen
+31 (0)6 51 28 20 40
van hun uitvinding. Daardoor zijn tijd en geld terug te verdienen zonder dat men bang hoeft te zijn dat iemand anders er met het resultaat vandoor gaat. Het voordeel dat voorvloeit uit het uitoefenen
Hoofdredacteur:
van dit exclusieve recht is een belangrijke motivatie voor mensen en bedrijven actief met R&D bezig
Teus Molenaar;
[email protected]
te blijven.
+31 (0)6 51 57 84 47
Er zijn ook nadelen aan verbonden. Doordat het patentrecht per land of regio verschilt, ontstaan er vaak problemen. Zo is het in Europa niet eenvoudig om software te patenteren. De discussie gaat
Postadres redactie:
vaak over de vraag in hoeverre zaken als computerprgramma’s, bedrijfsprocessen en methoden,
Postbus 82, 2460 AB Ter Aar
maar ook wiskundige bewerkingen überhaupt patenteerbaar zijn. Het antwoord in Europa daarop
e-mail:
[email protected]
is ‘nee’, maar lijkt het een ‘nee, tenzij’ te worden; het laatste woord is daarover in de EU nog niet gesproken. Het uitgangspunt hierbij is dat de vinding een technische oplossing moet zijn die iets
Aan dit nummer werkten mee:
nieuws toevoegt dat niet onder de noemer triviaal valt. Dit levert nogal eens wat stof tot discussie op.
Douwe Pieter van den Bos, Geert Bossuyt,
In de Verenigde Staten is het antwoord ‘ja’ met langzamerhand een aarzelend ‘tenzij’. Hier is het
Frances van Haagen, Eric ten Harkel, Edwin Jongsma,
mogelijk patent aan te vragen op ideeën. Van het winkelwagenicoontje, het zandlopericoontje, de
Guido van Loon, Mark-Peter Mansveld, Rik Marselis,
pop-up window, het e-book etc. Ook het idee van het one-click-shopping dat Amazon patenteerde
Martijn Natté, Victor de Pous, Eric van der Vliet,
en daarmee concurrent Barnes& Nobles wegblies op op-line verkopen is zo’n voorbeeld, terwijl ook
Jelle de Vries, Marcel Warmerdam.
Dell veel patenten genomen heeft op zijn directe manier van verkopen. Het specifieke probleem voor software is dat soms onwaarschijnlijk kleine details van programma
Vormgeving:
tuur worden gepatenteerd. Het resultaat van de patentwetgeving in de Verenigde Staten is dat er
ONTWERPERS DIE MEEDENKEN.NL
ongelooflijk veel rechtszaken zijn, omdat er in nieuwe software vrijwel altijd onderdelen te vinden die reeds voor andere programmatuur is gepantenteerd. In totaal zijn er inmiddels rond de 200.000
Druk:
softwarepatenten uitgegeven door het US patent office. Het is een geweldige business voor grote
3L Drukkerij BV, Rotterdam
bedrijven en advocaten. Door kleine stukjes, schijnbaar triviale, softwarecode te patenteren, vertraag je de concurrentie of sluit ze zelfs uit. Daarmee is het patentrecht verworden tot een middel om
Kopij kan worden ingezonden in overleg met de
monopolie-achtige positities te creëren en te handhaven. Immers, je dwingt de concurrentie tot
redactie. Geplaatste artikelen vertegenwoordigen
extra inspanningen om een fucntionaliteit te bereiken waarvoor reeds een oplossing bestaat. Het
niet noodzakelijkerwijs de mening van de redactie.
alternatief is het nemen van een licentie op patenten van hun concurrenten. Voor bedrijven als IBM,
De redactie noch de uitgever aanvaarden enige
dat een enorm aantal patenten heeft, is dit een zeer substantiële bron van inkomsten. Er zijn zelfs
aansprakelijkheid voor de inhoud van artikelen van
bedrijven die zich volledig toeleggen op het opkopen en vermarkten van patenten; de zogenaamde
derden, ingezonden mededelingen, advertenties
patenttrolls. Vooral opkomende bedrijven hebben er vaak last van. Zo verklaarde Bill Gates begin
en de juistheid van genoemde data en prijzen.
jaren ´90 nog dat softwarepatenten contraproductief waren en software-innovatie bemoeilijkten. De mening hierover binnen Microsoft is duidelijk veranderd getuige de onlangs gesloten patentdeal
Het
kopiëren
of
overnemen
van
artikelen,
met HTC over het gebruik van architectuur en interface op de Android-smartphone. Zo kun je aan
geheel of gedeeltelijk, wordt aangemoedigd,
je concurrent verdienen en hem controleren. Het is exemplarisch voor de softwareindustrie van
maar is uitsluitend toegestaan na schriftelijke
vandaag waar de kosten aan gespecialiseerde patentadvocaten en proceskosten die van de R&D
toestemming van de uitgever en onder vermelding
lijken te overtreffen.
van: ‘Overgenomen uit AppWorks; inzicht in de levenscyclus van applicaties’ onder vermelding van jaargang en nummer. Marcel Warmerdam is senior analist bij Henry Corporation
AppWorks is een uitgave van FenceWorks BV
46
appworks juli/augustus 2010
SAVE COST WITH APPLICATION MODERNIZATION In a challenging economy, companies seek to cut costs where possible. The time has come to find new ways to save money. Choosing to modernize your applications from the mainframe or midrange platform delivers:
> Operating cost savings of up to 70% > An ROI in less than 12 months > A low risk alternative rip/replace strategies > Productivity improvements of up to 30% Let us show you the way. Enterprise Application Modernization can help you and your organization achieve all these benefits.
Micro Focus leads the way For more information, visit www.microfocus.com
Make Applications More Valuable Embed our innovations. Make your applications richer, without rewriting. To make database applications more valuable, embed InterSystems Caché® – the object database with robust SQL – and enjoy dramatically higher speed and scalability while lowering hardware and administration requirements. Or, for applications that have to link with multiple systems and processes, embed InterSystems Ensemble®. Your applications will become connectable, and you’ll be able to rapidly enhance them with a rich Web interface, adaptable workflow, rules-based business processes, and other new features that users want. InterSystems’ software is embedded in over 100,000 systems, including critical solutions in most of the world’s leading hospitals. For thirty years, we have been making developers more successful by providing innovations that enrich applications. Download a free, fully functional copy of Caché, or see a demonstration of Ensemble, at InterSystemsBenelux.com/Apps © 2007 InterSystems Corporation. All rights reserved. InterSystems Caché and InterSystems Ensemble are registered trademarks of InterSystems Corporation. 6-07 ValCombo10