IDC-analist Stephen Elliot schat in dat 30 tot 35 procent van de it-projecten mislukt. Andere studies stellen het percentage hoger, richting 50 procent. Over de hele linie wordt consequent de onjuiste afstemming van de behoeften van gebruikers met de bedrijfsbehoeften aangevoerd als een van de redenen waarom custom applicaties niet de gewenste resultaten opleveren.
Het sleutelwoord is hier ‘resultaat’. Historisch gezien waren criteria zoals het tijdig, binnen budget en op specificatie leveren van een oplossing, de belangrijkste maatstaven voor het succes van it-projecten. Maar die definitie van succes evolueert, omdat bedrijven meer de nadruk leggen op het vermogen van it om de algehele bedrijfsstrategie mogelijk te maken – en in veel gevallen te stimuleren.
Het rapport 2017 Pulse of the Profession van het Project Management Institute vat deze verschuiving treffend: ‘De traditionele metingen van omvang, tijd en kosten volstaan niet langer in de huidige competitieve omgeving: het vermogen van projecten om te leveren wat ze van plan waren te doen – de verwachte voordelen – is net zo belangrijk.’
Dus hoe kunnen it-managers het mislukken van it-projecten voorkomen en ervoor zorgen dat hun teams applicaties bouwen die de verwachte voordelen volledig realiseren? Een benadering die een recente golf in populariteit heeft gezien, is design thinking. Het design thinking-proces vraagt om een hoge mate van empathie en begrip van eindgebruikers; een creatieve, test-and-learn benadering van nieuwe ideeën; en constante iteratie naar optimale resultaten.
Gebruik het design thinking-proces
Veel bedrijven hebben zich gerealiseerd dat het design thinking-proces helpt om de onderliggende, niet-technische oorzaken van mislukte it-projecten aan te pakken, zoals gebrek aan afstemming tussen it en business, slechte communicatie en rigide denken. Hier volgen vijf principes voor hoe design thinking zorgt voor betere resultaten, zowel voor de gebruikers van een applicatie als voor de organisatie die deze maakt:
- Creëer multifunctionele teams – Traditionele ontwikkelingsprocessen, met gespecialiseerde rollen die in silo’s werken, bestendigen de kloof tussen het ontwikkelingsteam en de business/gebruikers waarvoor ze een applicatie maken, wat leidt tot onbezielde resultaten of regelrechte mislukkingen. Het design thinking-proces daarentegen, bevordert multifunctionele teams die volledig samenwerken om oplossingen te leveren, die gebruikers tevreden stellen en zakelijke doelstellingen halen. In plaats van technische specialisten bestaan deze teams meestal uit mensen die technisch onderlegd zijn, maar ook de business begrijpen. Net zo belangrijk is dat ze creatief en gemotiveerd zijn om problemen op te lossen, en niet een pakket aan eisen stellen.
- Identificeer het juiste probleem – Hoewel methoden zoals agile een effectieve manier kunnen zijn om problemen op te lossen, kunnen ze niet garanderen dat je de juiste problemen oplost. Dat komt omdat mensen een aangeboren neiging hebben om niet-optimale omgevingen te accepteren en vaak niet duidelijk kunnen maken welke capaciteiten nodig zijn om de beoogde resultaten te leveren. Het design thinking-proces probeert deze uitdaging te overwinnen door het ontwikkelen van een diepgaand begrip van de beoogde gebruikers van een applicatie, hun gedrag en hun intrinsieke motivatie. Deze gebruikersinzichten worden gebruikt om een bruikbare probleemstelling te realiseren die continu wordt getest, gevalideerd en verfijnd (of opnieuw gedefinieerd), met als resultaat een oplossing met de gewenste voordelen.
- Faal vroeg en vaak – Het klinkt misschien contra-intuïtief, maar design thinking helpt voorkomen dat it-projecten mislukken, door een omgeving te creëren waarin het wordt aangemoedigd dat een proces vroegtijdig en vaak mislukt. Erkennen dat het uiterst zeldzaam is dat je dingen de eerste keer goed doet, vraagt om een aanpak waarbij teams zo breed en zoveel mogelijk opties verkennen in de fase van ideeënvorming. De meeste ideeën zullen worden verworpen, maar via dit leerproces kan het team zich beperken tot de meest impactvolle oplossing om verder te ontwikkelen. Vaak – meer regel dan uitzondering – zal dit niet de oplossing zijn die men voor ogen had bij het begin van het project.
- Bouw prototypen of zelfs werkende software – Prototyping is een van de kernideeën voor de principes van design thinking. Het exploratieve proces van het maken van tastbare prototypen, van zowel hoge als lage betrouwbaarheid, laat het team goed nadenken en laat ze de juiste vragen stellen op een manier die simpelweg niet mogelijk is via abstracte documenten. Organisaties als ADP gaan nog een stap verder, door prototypen volledig te vermijden en werkende software te bouwen die ze zo snel mogelijk overdragen aan de gebruiker. Deze benadering stelt hen in staat om vroegtijdig feedback te verzamelen om aannames te valideren, nieuwe gebruikersinzichten te ontdekken en snel te itereren richting de gewenste resultaten. Het vervroegen van feedback-cyclussen verkleint de kansen op substantiële, dure aanpassingen om het doel of de gebruikerservaring van een applicatie te verbeteren, waardoor het hele project in gevaar zou kunnen komen.
- Stel gebruikersbehoeften voorop en centraal – het komt terug in elk van bovenstaande punten, maar ik blijf het herhalen: het design thinking-proces helpt het mislukken van it-projecten te voorkomen door ervoor te zorgen dat het team te allen tijde de behoeften van de gebruikers op de eerste plaats stelt. Dit begint zeker al in de empathie-fase, maar geldt uiteindelijk voor het hele proces, waarbij gebruikersfeedback dient als controlevraag of de applicatie aan de verwachtingen voldoet (en zo niet, wat er nodig is om de juiste route te bepalen). Op elk moment in het proces zou het team bereid moeten zijn om terug te gaan naar de empathie-fase om nieuwe gebruikersinzichten te ontdekken, het probleem te herdefiniëren en de ontwikkeling voort te zetten met een hernieuwd gevoel van ‘waarom’.
Gebruikersfocus, snelle iteratie en direct schalen
Een verrassend aantal it-projecten mislukt nog steeds en de inzet wordt verhoogd doordat de definitie van succes zich blijft ontwikkelen, aangezien organisaties kijken naar het inzetten van custom softwareontwikkeling als een belangrijke differentiator. Van het ontwikkelen van grondig inzicht in gebruikers en hun behoeften tot snel itereren op basis van feedback en nieuwe inzichten, design thinking-methoden kunnen ervoor zorgen dat oplossingen hun beoogde resultaten volledig realiseren, zowel in termen van gebruikersvoordelen als bedrijfsdoelen.
De enige it-projectsuccesfactor die niet direct wordt geadresseerd door design thinking is het vermogen om applicaties te operationaliseren en te schalen als ze zich eenmaal hebben bewezen. Binnen ondernemingen komen te veel goede ideeën nooit verder dan de prototypefase, waardoor projectdoelen onvervuld blijven. De obstakels zijn vaak organisatorisch, met name voor bedrijven die DevOps niet hebben omarmd. Er is misschien geen duidelijk proces – of activiteiten missen gewoonweg de middelen – om nieuwe oplossingen in de kern van de organisatie te brengen. Ze kunnen ook worden belemmerd door de lengte, complexiteit en kosten van lokale implementatie.
Hoe dan ook, het is belangrijk om te plannen hoe applicaties in het begin van het proces kunnen worden geoperationaliseerd. De eerste stappen zetten richting DevOps kan enorm helpen. Daarbij kan het kiezen van het juiste platform waarop deze toepassingen kunnen worden gebouwd helpen een naadloos pad van prototype naar productie te waarborgen. Mogelijkheden als een cloud-native architectuur, met out-of-the-box hoge beschikbaarheid en failover, zorgen ervoor dat applicaties op grote schaal kunnen worden ingezet en daarmee hun volledige potentieel realiseren.
Wellicht ligt het aan mij, maar als ik lees:
“In plaats van technische specialisten bestaan deze teams meestal uit mensen die technisch onderlegd zijn, maar ook de business begrijpen” dan lopen de rillingen spontaan over mijn rug ….
Dit klinkt mij in de oren als dat iedereen die technisch onderlegd is in staat zou zijn om het van van IT-er uit te oefenen, wat er voor zorgt dat er nog meer IT projecten gaan falen.
IT is een vak, en bij dat vak horen specialisten. Dat je tijdens je studie ooit de klok hebt horen luiden, en via google een klepel gevonden hebt wil nog niet zeggen dat je een goed product kunt maken.
Chamath Palihapitiya, vroeger directeur bij Facebook, nu CEO Social Capital, heeft een ander mening over het “fail fast” principe. (https://www.youtube.com/watch?v=PMotykw0SIk). Het is ook belangrijk in te zien dat de “vraag van de business”, “gebruikersbehoeftes”, de verwachtingen, bedrijfsbehoeftes en wat vereist is door de situatie totaal verschillende zaken zijn.
IMO, zijn de bedrijfsbehoeftes en wat een situatie vereist belangrijker dan de gebruikersbehoeftes. Wie bepaalt de gebruikersbehoeftes? Gaat men er niet te frequent van uit dat de businessmensen hun eigen informatiebehoeftes bepalen?
Als gewezen IT-manager in een productiebedrijf mocht ik de omslag meemaken als erp-consultant, dat men niet meer met de IT-manager, met de productiedirecteur, etc moet gaan praten, want die maken toch maar problemen. Dan maar richten naar wie het niet weet, en die stimuleren zelf maar het heft in handen te nemen. Natuurlijk, alles wordt complexer, maar een IT-project in goede wegen leiden is een VAK, vraagt ook teamleden die inzicht hebben en in staat zijn zich echt in te leven zonder zich in hun bunker ( geevolueerde silo) te verschansen.
Het vraagt wat ervaring die je niet gaat ophalen in Google, en met wat slogans gaat trachten mee te spelen. En nieuwe 3 tot 6 letterwoorden-concepten als toverstaf helpen ook niet.
kortgeleden een nieuw begrip gehoord, “buzzword bingo” is dat wat hier bedreven wordt?
We worden om de oren geslagen met tal van nieuw uitgevonden buzzes zonder dat de oudere termen en technieken echt en volledig zijn uitgenut. Het gevolg daarvan is volkomen simpel. Een steeds grotere veronachtzamen van iets wat in essentie niet veranderd, waar steed minder mensen kennis van dragen, meyt volkomen voorspelbare toename van steeds grotere incidenten met steeds grotere impact en te voorkomen schade.
Gewoon de essentiele vraag eenvoudig beantwoorden, ‘Vertel je klant/stakeholder, in een eenvoudig te begrijpen zin, wat digitaal automatiseren is, is er zelfs niet meer bij, ‘go figure…’ Want als je je wel met digitaal automatiseren bezig houd maar niet weet wat dat is, krijg je gewoon steeds meer incidenten met steeds grotere impact en steeds grotere, volkomen calculeerbare, gevolgen. Gevolgen die feitelijk vrij eenvoudig voorkomen konden worden.
Maar he, dat is natuurlijk weer niet zo commercieel dus gaan we gewoon weer wat nieuws bedenken voor ….. iets wat in wezen en essentie nooit is veranderd. Waarom automatiseerde we toch ook weer….?
Het percentage falende of successvolle projecten zegt op zich weinig. Welke criteria hanteert men? Is een projectuitvoering (de realiteit) een mislukking wanneer het niet overeenkomt men voorafgaandelijke schattingen (budget, tijd, soms scope, of plan) of zijn het deze schattingen en het vooropgesteld plan die onvolmaakt waren? Plannen en schattingen maken is zeker nuttig, maar moet men dan niet beter leren schatten of flexibeler omgaan met schattingen en plannen? Hoe definiëert men een succesvol project en hoe controleert men dit? En is het succes van een project belangrijker dan het succes van het systeem, van de oplossing?
We weten allemaal dat wanneer een project faalt, de oorzaak NOOIT bij de mensen is, NOOIT een gebrek aan competencies. Mensen volgen immers de regels… de regels van standaarden, van methodologieën, enz.. En dus zijn deze ontoereikend. Men verandert dus methodologieën die niet werken, tools, termen. Maar welke kennis iut het verleden heeft men hiermee niet allemaal overboord gegooid? Leert men nog wel wat men moet kennen? En vooral, het denken is sinds de jaren ’90 onveranderd. Dit is de echte softwareciris van vandaag.