De schaduwzijde van Windows as a service (WaaS)
‘Nooit meer Longhorn’ kan de gedachte geweest zijn voor Microsofts omslag in het ontwikkelen, testen en uitbrengen van zijn software. Die omslag is met Windows 10 echt gerealiseerd: een besturingssysteem dat op regelmatige basis wordt geüpdatet, in relatief kleinere brokken. Dit agile ontwikkelen belooft snelle verbeteringen en een einde aan development hell.
Doorlopende verbouwing
Microsoft is een van de grotere aanhangers van deze ontwikkelaanpak. Het wil daar de wereld mee bedienen én zichzelf vooruithelpen. Niet meer jarenlang werken aan een volgende release, om dan achter nieuwe ontwikkelingen aan te lopen of gewenste functionaliteit te missen. Dat zijn immers gemiste kansen, om over fragmentatie van de afzetmarkt en inertie bij externe developers maar te zwijgen.
“Windows 10 is de laatste versie ooit”, heeft Microsoft begin 2015 verklaard bij de aankomende ‘lancering’ van dat nieuwe besturingssysteem. Microsofts developers waren toen nog druk werkende aan de software. En zijn dat nu in 2020 nog steeds. De initiële release is daarna namelijk op regelmatige basis bijgewerkt, tot op de dag van vandaag.
Het doorlopend updaten van Windows 10 gebeurt in kleinere brokken, met elke lente en elke herfst een relatief grotere nieuwe release. Om zo sneller nieuwe ontwikkelingen op de markt te hebben, en iedereen daarin mee te krijgen. De bedoelde voordelen komen echter ook met nadelen. De honderden miljoenen Windowsgebruikers wereldwijd worden geconfronteerd met bugs, missers en meer. De schaduwzijde van WaaS.
Grote omslag
Voorheen deed Microsoft wel aan ‘tussentijds bijwerken’, maar dan slechts met bugfixes of kleine aanpassingen. Dit werd soms gevolgd door een groter, impactvoller Service Pack. De volgende Windowsversie bracht dan de echt grote veranderingen; nieuwe functionaliteit. Windows 10 heeft gebroken met dat verleden. Het staat door de constante stroom aan verbouwingen niet stil. Windows wordt daarmee als een service ontwikkeld en aangeboden, in plaats van als moloch product dat op een drie- of vierjaarlijks ritme uitkomt.
De nadelen van zo’n traditioneel ontwikkel- en releaseschema zijn wel gemeenzaam bekend: de plank misslaan met verwachte ontwikkelingen, verrast worden door omgeslagen marktvereisten, langzaam inhaken op veranderende gebruikerswensen, en misgrijpen qua evoluerende gebruiksvormen. Dit zijn slechts enkele van de gevaren die op de loer liggen. De tegenbeweging van agile lijkt de oplossing te bieden: kleinere veranderingen die dus sneller zijn te ontwikkelen en die op regelmatige basis uitbrengen.
Haastige spoed?
In theorie valt er zo beter bij te sturen, sneller in te spelen en vlotter verder te ontwikkelen. In de praktijk blijkt het door Facebook beleden agile-motto wel zeer profetisch te zijn: move fast and break things. Want dingen die je kapot maakt, zijn immers snel weer te fixen. Toch? Alleen is het op een na meestgebruikte besturingssysteem ter wereld toch iets anders dan het grootste social network ter wereld. Met alle gevolgen van dien.
De pijnlijke praktijk van de afgelopen paar jaar maakt dit duidelijk: Windows 10 wordt op redelijk regelmatige basis getroffen door bugs. Die dan vervolgens wel relatief vlot weer worden gefixt. Sommige bugs zijn vervelend voor gebruikers of gênant voor Microsoft, maar andere bugs zijn ernstig en kunnen dataverlies opleveren.
Bug na bug na bug
De kwaliteit van Windows' code lijkt te lijden onder het verhoogde releasetempo. De grote herfstupdate van 2018 vormt een voorlopig ‘hoogtepunt’ qua kwaliteitsproblemen. Windows’ code is snel ontwikkeld en niet altijd afdoende getest. Een reeks achtereenvolgende bugs – de een ernstiger dan de ander – heeft die oktoberupdate van twee jaar terug getroffen. En daarmee ook gebruikers en beheerders geraakt.
Naast een gemis aan een simpele controle op vrije opslagruimte vóór de update-installatie, bleek de 2018-herfstverbouwing ook dataverlies te kunnen veroorzaken. Ironisch genoeg was de bug die gebruikers hun bestanden kon kosten, gelinkt aan een feature voor opslagbesparing. Helaas was die nieuwe feature ook een van de mogelijke fixes voor het eerder opgetreden Windows-updateprobleem. Het daarna pas ontdekte dataverliesgevaar heeft lang niet alle updaters geraakt, maar is wel een ernstige bug.
In reactie heeft Microsoft de uitrol gestaakt van de oktoberrelease die het al in september had afgerond (en die daarom de jaar- en maandnummering 1809 draagt). Vervolgens zijn er door vroege updaters nog meer missers ontdekt, waaronder een fout in Windows’ uitpakfunctie voor gecomprimeerde bestanden. Deze fout kon op andere wijze tot dataverlies leiden.
Re-release en doorwerken
Zelfs na de re-release van de October 2018 Update is Windows 10 in de praktijk nog gemankeerd door diverse bugs: voor iCloud, voor VPN’s, voor securitysoftware en voor verbindingen met netwerkschijven. Overigens betreft dit alles niet alleen Windows op pc-clientsystemen. Door de gedeelde codebasis waar Microsoft jaren terug op is overgegaan, raken de bugs en plotse pauzering van de uitrol ook Windows Server.
Ondertussen draait de softwareontwikkeling binnen Microsoft natuurlijk gewoon door, wat direct na de re-release van de oktoberupdate heeft geleid tot een eerste update voor die update. Waarbij die eerste nazorgupdate nog een tweetal known issues had, waarvan eentje voor Windows’ instelling van default apps. Kennelijk zijn dit soort bugs wel bij testen naar boven gekomen, maar zijn ze niet als ‘showstopper’ ingeschaald.
Kwaliteitscriteria
Microsoft heeft uiteindelijk wel ruiterlijk erkend dat de herfstupdate van 2018 problemen had. De softwaremaker heeft toen een boekje opengedaan over zijn aanpak en over de re-release. “Dit is de eerste keer in de geschiedenis van Windows 10’s ‘Windows as a Service’ dat we zo’n stap hebben genomen”, schreef vicepresident Michael Fortin in een lijvige blogpost.
Het opschorten en toen opnieuw uitbrengen heeft “natuurlijk tot vragen geleid over het werk wat we doen om de kwaliteit van Windows te testen en valideren voordat we het breed gaan uitrollen.” Het bedrijf stelde daarbij dat er over het algemeen sprake is van een goede ontwikkelrichting, schreef Ars Technica. Deze inschatting is gebaseerd op twee metrieken die Microsoft hanteert om de tevredenheid over de kwaliteit van zijn besturingssystemen te peilen.
De eerste metriek is de zogeheten incident rate. Dit is het aantal probleemmeldingen van klanten met elke nieuwe Windowsrelease, inclusief meldingen aan pc-makers. In de loop van het bestaan van Windows 10 (sinds juli 2015: de 1507-release) is dit aantal probleemmeldingen gestaag gedaald, stelt Microsoft. Deze daling is echter niet zaligmakend: het aantal meldingen zegt immers niets over de impact van bugs.
Hoeveelheid versus impact
Deze ‘loskoppeling’ van melding en impact werkt twee kanten op: ernstige bugs kunnen weinig opgemerkt worden, en er kan veel aandacht zijn voor kleine bugs van bijvoorbeeld cosmetische aard. Een veel gemelde bug hoeft zeker niet de belangrijkste te zijn. Een goede testaanpak moet daar balans en prioriteit aan geven.
Achter de inmiddels beruchte oktoberupdate van 2018 – met daarin de impactvolle dataverliesbug – schuilt een kernprobleem. Die bug is namelijk maanden vóór de release al ontdekt, en wel extern: door testende gebruikers die bewust de bètarelease van de toen aankomende Windows-update draaiden.
Deze zogeheten Windows Insiders kunnen meldingen indienen via de Feedback Hub, wat voor deze bug ook is gedaan. Alleen blijkt dat die melding niet is komen bovendrijven in de oceaan van meldingen die Microsofts developers krijgen van de oh zo gewaardeerde Insiders.
De tweede metriek die Microsoft gebruikt om de kwaliteit van de ontwikkelde Windowscode te peilen, is de netto promoter score. Dit komt neer op de vraag, voor elke nieuwe release van Windows 10, of gebruikers het product zouden aanraden aan hun familie en vrienden. Ook deze graadmeter vertoont een stijgende lijn, wist Microsoft na het 2018-debacle te melden.
De lente-update van 2018 was zelfs de meest aangeraden versie van Windows 10 tot dan toe. Dit ondanks het feit dat die update ook niet bepaald smetteloos was na de publieke release.
Afgeremde uitrol
De oktoberupdate deed het niet bepaald goed wat bugs, fixes en gebruikerservaring betreft. Deze release is na het ijlings weer terugtrekken in november 2018 opnieuw uitgebracht, en toen met een behoedzamere uitrol. Na de snelle uitrol van directe voorganger 1803 is bewust voor een geleidelijkere aanpak gekozen.
In eerste instantie was de re-release van 1809 alleen voor mensen die de software handmatig downloaden: hetzij via de Media Creation Tool, hetzij door hun Windowsinstallatie naar updates te laten zoeken. Daarmee was de kans groter dat deze ‘eerste’ gebruikers meer techkenners zouden zijn, die beter kunnen omgaan met eventuele nieuwe bugs. Vanuit testoptiek bezien geen slechte aanpak.
Mogelijke problemen kunnen dan waargenomen worden via Windows’ ingebouwde telemetrie en eventuele meldingen van gebruikers. Microsoft is de configuratie en ‘gezondheidsdata’ van devices nauwgezet gaan monitoren bij het publiekelijk uitbrengen van Windowsreleases. Daarbij is de automatische functie ingebouwd dat bij mogelijke problemen zo’n nieuwe release niet gelijk wordt geïnstalleerd.
Alleen moeten zulke problemen dan wel eerst worden ontdekt, voordat ze zijn te voorkomen voor meer gebruikers. Na de testrondes door interne testers van Microsoft en vervolgens door Windows Insiders lijkt er dus nog een testronde te zijn: door gewone gebruikers. Berichten over het terugschalen van de interne testafdeling en QA-teams (quality assurance) doen al jaren de ronde en brengen critici tot de conclusie dat Microsoft zijn QA heeft gecrowdsourcet.
Te snel of te lang?
Sommige experts stellen dat twee grotere releases per jaar voor de complexe Windowscodebase een te hoog tempo is. Het lukt Microsoft echter wel op andere gebieden om op regelmatige basis nieuwe releases met relatief weinig bugs uit te brengen. Anderen zien in de WaaS-problemen een legacy van het gehanteerde ontwikkelproces, waarbij er te veel tijd zit tussen ontwikkelen, integreren, testen, bugfixen en releasen. Feit is dat de ontwikkeling van de ene halfjaarlijkse update binnen Microsoft al wordt ingezet voordat de voorgaande af is. Zo’n tweesporenbeleid geeft dan later weer extra integratie- en bugfixwerk.
Terwijl Microsoft officieel vasthoudt aan het halfjaarlijkse releasetempo voor Windows 10, gloort er in de praktijk toch een iets andere aanpak. De ene halfjaarlijkse update brengt namelijk minder grote veranderingen dan de volgende. Dit is ook ingegeven door de terughoudendheid van grotere organisaties om mee te gaan in het continue updatetempo, mede omdat ze niet als tester willen dienen. Zij slaan nogal eens een release van het besturingssysteem over. Microsoft is min of meer voor die realiteit gezwicht.
Van hel naar vagevuur
Al met al lijkt het slimme vermijden van development hell Microsoft te hebben geleid naar een ‘nazorgvagevuur’: snellere ontwikkeling met meer bugs, die wel sneller zijn te fixen maar waarna dan weer bugs en fixwerk op de loer liggen. Verlossing is hard nodig; voor de softwareleverancier zelf, maar ook voor beheerders en gebruikers.
Magazine AG Connect
Dit artikel is ook gepubliceerd in het magazine van AG Connect (novembernummer, 2020). Wil je alle artikelen uit dit nummer lezen, klik dan hier voor de inhoudsopgave.

Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee