Holt de kwaliteit van Windows-updates achteruit of lijkt dat maar zo omdat het vergrootglas erop ligt? Eind maart was er weer een probleem met een update voor het veelgebruikte besturingssysteem. Microsoft trok een update terug vanwege fouten. Dat gebeurde nadat in de afgelopen maanden andere updates ongewenste neveneffecten hadden. Het bedrijf belooft beterschap en kwaliteitsverbetering.
Het is makkelijk om te wijzen naar problematische updates voor Windows. Er zijn nu eenmaal veel updates voor dat Microsoft-platform en het is een groot, complex stuk software. Logisch dat er tussen de vele updates ook een bepaald aantal problematische updates zit. Windows is niet bepaald een minimalistisch besturingssysteem, draait op een enorm scala aan componenten, heeft flink wat legacy in zich voor compatibiliteit en wordt door heel veel mensen gebruikt. Op het Linux-gebaseerde Android na is Windows het meest gebruikte besturingssysteem ter wereld. In Europa is Windows wel groter dan Android.
Spider-Man en kwaliteit
Android is, zoals alle software, ook niet bugvrij, maar brede updateproblemen zoals bij Windows lijken daar veel minder te spelen. Dat komt onder meer doordat smartphonemakers ruim de tijd krijgen om updates en nieuwe releases te checken en aan te passen voordat ze die uitbrengen voor hun hardware. Microsoft nam lang geleden de touwtjes voor updates zelf in handen. Distributie van updates verliep oorspronkelijk vooral via pc-makers, in de tijd vóór algemeen internetgebruik.
Met groot marktaandeel komt grote verantwoordelijkheid, om een bekende wijsheid uit de Spider-Man-verhalen te parafraseren. Windows Update moet als centraal punt van Microsoft het besturingssysteem voorzien van fixes voor bugs en kwetsbaarheden. Kwaliteit is daarbij het doel: kwaliteit van Windows door de uitgebrachte updates en kwaliteit van de updates zelf. Brakke drivers blijken de oorzaak van veel ellende. Dat was al zo ruim vóór het impopulaire Vista en ook bij het wel populaire Windows 10.
De afgelopen maanden – en zelfs jaren – lijkt er sprake van kwaliteitsverlies bij updates van Microsoft. De ingetrokken update van eind maart was weliswaar zelf nog een preview, maar gaf foutcodes bij het installeren. Het niet kunnen installeren van een update is fundamenteel. Eerdere Windows-updates die wel als 'rijp' waren uitgebracht, leverden gebruikers ook fundamentele problemen op.
Bricken, blokkeren en meer bugs
Zo brickte een update eind januari sommige pc's en blokkeerde een andere update Remote Desktop en de slaapstand voor enkele 'specifieke builds' van Windows. In november maakte een bug de wachtwoordoptie onzichtbaar op het lockscreen van Windows 11 voor sommige gebruikers. In diezelfde maand waren er berichten dat een verplichte securityupdate zorgde voor verstoring van Windows' zoekfunctie op netwerkschijven.
Ook in november veroorzaakte een cumulatieve update crashes van Windows 11, wat in december ook de recentere 25H2-release bleek te raken. De lijst met Windows-bugs door updates is lang, gevarieerd, soms bizar, soms frustrerend, niet op iedereen van toepassing maar ook wel onrustgevend. De updatesituatie is daardoor zorgwekkend te noemen.
Beterschap beloven
Vorige week beloofde Windows-topman Pavan Davuluri dan ook beterschap, in zijn eerste en tot nog toe enige blogpost voor Windows Insiders. Hij gebruikte formuleringen als 'strengere validatie', 'stevigere betrouwbaarheid' en 'betere feedbackloops'. Dat laatste moet ervoor zorgen dat Microsoft problemen sneller opmerkt, prioriteit geeft en oppakt.
Davuluri spreekt niet ronduit van achteruitgang in de kwaliteit van Windows en biedt ook geen excuses aan, merkt The Register kritisch op. De Microsoft-topman houdt wel herhaaldelijk kwaliteitsverbetering voor en dat in relatie tot feedback van Windows Insiders. Het belang van die externe testers is groot en in de afgelopen jaren ook veel groter geworden.
Van waterval naar agile
Daar zijn twee oorzaken voor, die weer gelinkt zijn aan de kwaliteit van updates voor Windows. De ene oorzaak is het feit dat de ontwikkeling van het besturingssysteem meer en meer berust op agileprincipes, in plaats van op de ouderwetse watervalmethode. Agile betekent in korte ontwikkelsprints functionaliteit maar ook fixes opleveren, die snel uitbrengen en er op voortbouwen in volgende sprints. Of ze bij eventuele problemen dus fixen.
Voorkomen is beter dan fixen, maar dat kan er bij snel ontwikkelen bij inschieten. Bovendien heeft een organisatie dan wel een gedegen kwaliteitsafdeling nodig. Microsoft was in de jaren negentig vooruitstrevend bezig met de expliciete rol van een software-ingenieur die niet bezig is met het produceren van productcode, maar met het maken van testprocedures daarvoor.
De rol van de software development engineer in test (sdet) gaat veel verder dan een afdeling kwaliteitszorg die geproduceerde software uitprobeert en de ontwikkelaars dan feedback geeft. De combinatie van testingenieur, softwareontwikkelaars en traditionele testers kan de kwaliteit van geschreven code verhogen. In de praktijk wist Microsoft dit niet altijd waar te maken: uitstel en bugs plaagden grote softwarereleases.
In de loop der tijd evolueerde de sdet-rol om de productiviteit van ontwikkelaars te verhogen, bijvoorbeeld door ze betere tools te geven. In 2014 voerde Microsoft flinke veranderingen door. De gehanteerde ontwikkelpraktijken werden de eenentwintigste eeuw ingesleurd, schreef Ars Technica toen. Van watervalmethode naar agile aanpak.
Reorganiseren en meer automatiseren
De andere oorzaak voor het veel grotere belang van externe testers is dat Microsoft daar zelf op bespaart. Het sneed flink in zijn personeelsbestand: duizenden werknemers werden in 2014 ontslagen. Dit raakte ook interne testers. Een 'flink deel' van de Windows-ingenieurs die testwerk deden, was volgens bronnen van ZDnet 'niet langer nodig'.
In plaats daarvan zouden programmamanagers en software-ingenieurs de kwaliteitscontrole op ontwikkelde code op zich nemen. Volgens voormalig Microsoft-ingenieur Gergely Orosz was dit het einde van de sdet-rol. Volgens bronnen van Bloomberg sneed Microsoft-ceo Satya Nadella in de QA-afdeling van het bedrijf. Tests en controles werden meer uitgevoerd door softwareschrijvende werknemers zelf, ondersteund door geautomatiseerde systemen.
Dit maakte het mogelijk om Windows 10 regelmatig te voorzien van updates. Waar het voorheen jaren kon duren voordat nieuwe functionaliteit – vaak in de vorm van een nieuwe Windows-versie – uitkwam, verschenen er halfjaarlijkse nieuwe releases. Naast de maandelijkse updaterondes die patches brengen voor bugs en kwetsbaarheden.
Saas-trend volgen
Microsoft noemde dit Windows-as-a-service (Waas), verwijzend naar het releasemodel van cloudbedrijven die software als onlinedienst ontwikkelen, bijwerken en aanbieden. Het softwarebedrijf rekende hierbij ook op testwerk van externe experts: de Windows Insiders die vroege softwareversies uitproberen. In theorie was dit een moderne, soepele opstelling die snelheid combineert met kwaliteit.
In de praktijk kwam er na verloop van tijd de klad in. Uitgebrachte updates gaven onverwachte en soms ernstige problemen, die Microsoft met aangepaste updates weer moest oplossen. In sommige gevallen waren de problemen in een vroeg stadium al opgemerkt door Windows Insiders in previewreleases.
Microsoft schroefde het ontwikkeltempo voor Windows wat terug. In plaats van elke zes maanden een grote nieuwe release kreeg Windows elke lente een bescheiden update en elke herfst een functioneel grotere update, naast de maandelijkse updaterondes. Voor Windows 11, dat eind 2021 uitkwam, ging het tempo officieel omlaag. Voortaan kreeg het besturingssysteem een grote release per jaar: in de herfst.
Begin 2022 kondigde Microsoft echter aan dat het een nieuwe ontwikkeltrend toepaste. Verbeteringen zouden doorlopend uitkomen, wat 'continue innovatie' moest brengen. Naast de grote jaarlijkse updates en de maandelijkse updates zouden er dus vaker kleinere updates komen.
AI-code versus olietanker?
Bovenop deze ontwikkelingen komt de relatief nieuwe trend van AI en AI-gegenereerde code. Een trend die de Windows-maker zelf ook volgt. Twintig tot dertig procent van alle code in de repository's van Microsoft was in mei vorig jaar door AI gegenereerd. Microsoft-ceo Satya Nadella zei dat sommige projecten 'waarschijnlijk zelfs al helemaal door software' waren geschreven. Hij noemde geen concrete voorbeelden en het is dus onzeker of dit geldt voor Windows, of voor updates voor dat Microsoft-product.
Wel is het duidelijk dat Microsoft doorgaat met AI-gebruik voor zijn eigen softwareproductie. In juli vorig jaar voerde het bedrijf een forse ontslagronde door. Een groot deel van de 9000 ontslagen vielen bij de gamingafdeling, maar het raakte ook de centrale kwaliteitszorg voor gamesontwikkeling. Sommige van de geschrapte functies bij Microsoft worden ingevuld door AI-tools.
Mogelijk dat Microsoft door AI geschreven code benut voor minder kritieke software en niet of nauwelijks voor Windows. Ook is het mogelijk dat de gevolgen van veranderingen in de ontwikkelaanpak en besparingen op testgebied van jaren terug nu pas naar buiten komen. Grote softwareprojecten zijn te zien als logge olietankers, waarbij koerswijzigingen niet snel kunnen. Bijsturen kost dan ook weer tijd.
Onder hoge druk
Ondertussen staat Windows, net als andere veelgebruikte software, onder toenemende druk van aanvallers die kwetsbaarheden vaker en sneller misbruiken. Het maken, testen en uitbrengen van securityupdates is meer en meer een wedloop. Daarbij is kwaliteit cruciaal, zowel voor de beveiligingspatches als voor Windows zelf.
Deze belangrijke updates staan naast de jaarlijkse grote releases, de maandelijkse bugfixes, de out-of-bandpatches voor kritieke problemen en de continue functionele verfijningen voor Windows. Bovendien is het pc-besturingssysteem lang niet het enige product van Microsoft waar het prioriteit aan moet geven. Clouddiensten leveren het bedrijf flinke inkomsten op. De brede integratie van AI in uiteenlopende producten, inclusief Windows, kost het bedrijf flinke ontwikkelinspanning. Dat heeft weer impact op Windows en updates daarvoor.
Redactie: Jasper Bakker • Eindredactie: Monique van den Boomen