25% van projecten faalt catastrofaal Tijd Scope Kosten Kwaliteit Gartner https://www.gartner.com/en/information-technology/topics/enterprise-resource-planning Grote IT projecten gaan gemiddeld 45% over budget Technical debt kost ontwikkelaars gemiddeld 42% van hun tijd 80% van de features wordt nauwelijks of nooit gebruikt Projecten duren gemiddeld 24% langer dan gepland Alexander Budzier (https://arxiv.org/abs/1304.4525 Bent Flyvbjerg https://www.tandfonline.com/doi/full/10.1080/07421222.2022.2096544 Adam Tornhill https://arxiv.org/abs/2203.04374 Pendo https://www.pendo.io/resources/the-2019-feature-adoption-report
projectmanagement/duivelsdriehoek bestrijkt de essentiële factoren (exclusief de menselijke factor) • Maak deze factoren inzichtelijk en meetbaar! • Er is veel behoefte in de markt aan een systematische, holistische benadering voor het meetbaar maken van softwareontwikkeling* ten behoeve van prestatiemanagement en contractering Door- looptijd Scope Kosten Kwaliteit H5.2.2 – figuur 1 > Human factor
NPR 5333 Voorwoord p. 5 Inleiding p. 7 1. Onderwerp en toepassingsgebied p. 8 2. Verwijzingen p. 9 3. Termen en definities p. 10 4. Afkortingen p. 23 5. Introductie p. 24 6. Metrieken voor sneller en goedkoper p. 32 7. Metrieken voor beter p. 47 8. Metrieken voor tevredener p. 62 9. Output-gebaseerd contracteren voor agile softwareontwikkeling en –onderhoud p. 75 10. Implementatie en praktijkvoorbeelden p. 94 Bijlage A: Input- en procesprestatie-metrieken p. 104 Bijlage B: Methoden voor schatting van functionele omvang p. 109 Bijlage C: Relatie tussen CWE-, NEN-ISO/iEC 5055-kwetsbaarheden en NPR 5333 kwaliteitsregels p. 110 Bibliografie p. 111 Supplement 1: Voorbeeld van output-based contract Supplement 2: CWE’s uitgeschreven >
per functiepunt, story point, werkitem Velocity Leversnelheid: aantal functiepunten per sprint Velocity: aantal story points opgeleverd per sprint Load: aantal story points gepland voor een sprint Doorvoer: aantal werkitems opgeleverd per sprint Capaciteit Aantal beschikbare werkuren per sprint Focus Aantal directe uren besteed aan het sprintdoel Metrieken goedkoper Voorbeelden Uurtarief Prijs per uur per persoon/team Outputtarief Prijs per functiepunt/storypoint Vaste prijs Prijs voor gespecificeerd werk Periodetarief Prijs per Sprint, PI, etc. H6.4.2 – tabel 5 en H6.5.2 – tabel 6 H6 Sneller/Goedkoper > versnel & bespaar, meet wat ertoe doet > H6 beschrijft een raamwerk waaruit een selectie en combinatie van metrieken kan worden samengesteld: • Basismetrieken • Metrieken omtrent snelheid en doorlooptijd (‘sneller’) • Metrieken omtrent kosten (~inspanning) en prijs (‘goedkoper’)
én Story Points • Meet wat ertoe doet: blauw=business functionaliteit (Functiepunten), roodbruin=overige taken (Story Points) • Maximaliseer businesswaarde: meet objectief in functiepunten en richt prioriteit op de functionaliteit die de grootste waarde oplevert • Herken de omslag: veel roodbruin? overweeg refactoring of herbouw • Kies slim: product-functiepunten voor totale omvang, project-functiepunten voor onderhoudsomvang • Contracteer bewust: Function Points = objectief, Story Points = team specifiek en subjectief • FP én SP: Function Points en Story Points hebben beide waarde in output-based contracten • Specifiek voor Agile: ISO 25986 Easy Functional Sizing >
Productkwaliteit is essentieel voor lagere losten, kortere doorlooptijden en tevredener stakeholders • Voor het bepalen van 5 kwaliteitskarakteristieken (ISO 25010 van een software product (m.n. broncode)) • Op basis van 71 geselecteerde kwaliteitsregels uit ISO 5055 • die zijn extra gedocumenteerd in een apart supplement voor deze NPR • en 3 test-metrieken toegevoegd • Geschikt voor grotendeels geautomatiseerde metingen • Subcategorieën geven inzicht en overzicht in de betekenis van de kwaliteitsregels ISO 5055 ISO 5055 ISO 5055 ISO 5055 >
Onderhoud- baarheid Performance efficiëntie Betrouwbaarheid Security Functionele geschiktheid Kwaliteitskarakteristieken (5): ISO 5055 ISO 5055 ISO 5055 ISO 5055 H7 Beter > we organiseren kwaliteit in 5 hoofdcategorieën “Improper validation of array index”
door gerichte vragen • Rekening houden met subjectiviteit en invloeden • Inzicht in scoreverschillen tussen teams en gebruikers • Focus op (ontwikkeling van) afwijkingen van het gemiddelde Rol van management • Niet bevragen, wel informeren Feedbackstrategie • Kortcyclische feedback direct na oplevering • Meting van output (niet outcome) • Frequentie dynamisch aanpassen op basis van scores H8 Tevredener > tevredenheid bevestigt de waarde van output >
altijd een activiteiten- en productenlijst toe • Bepaal per activiteit en product de afrekenwijze • Gebruik (openbare) normen en methoden: • Activiteiten: ISO 33202 - Core agile practices • Producten: ISO 15289 - Life-cycle information items (documentation) • PRINCE2: voor objectieve productbeschrijving Relevante kostendrijvers bij een outputtarief • Functionele omvang van te ontwikkelen/onderhouden software • Leversnelheid van de leverancier • Technologie & tools voor ontwikkeling en exploitatie • Kwaliteitseisen aan software en andere producten • Architectuur van de software en het applicatielandschap H9.2.1 – figuur 7 H9 Contractering > contracteer scherp op output >
stappen DoR en DoD zijn geïmplementeerd. Schattingen op basis van Story Points. Load en velocity transparant en voorspelbaar Metrieken: F-05, F-06, W-03 Sneller en Goedkoper Hoofdstuk 6 Implementatie niveau 1 Basale voorspelbaarheid Implementatie niveau 2 Kwaliteit en Tevredenheid bestuurbaar Implementatie niveau 3 Productiviteit en Output bestuurbaar Beter Hoofdstuk 7 Tevredener Hoofdstuk 8 Aanvullende metrieken (buiten NPR 5333) Kernmetrieken: F-04, C-01, C-02 Kernmetrieken: zie tabellen 7.2 t/m 7.7 Kernmetrieken: HC-01, HT-01 en HU-01 Outcome (baten) Input Proces Team-dynamiek / cultuur Agile volwassenheid Aanpassings- en leervermogen Klant/Leveranciersvolwassenheid Kennis / kunde / ervaring NPR 5333 Lean flow DORA DevOps Duurzaamheid …. (volledige set metrieken) SPACE voor DevOps teams Kernmetriek: D-05 Negen aandachtspunten voor implementatie 1. Draagvlak 2. Doelstelling en reikwijdte 3. Selectie van relevante metrieken 4. Automatiseer de dataverzameling 5. Interpreteer metrieken in de context 6. Transparante communicatie 7. Besluitvorming en procesverbetering 8. Privacy en ethische aspecten 9. Training H.10.4.1 – figuur 9 >
factoren in softwareontwikkelingsprojecten meetbaar worden gemaakt • Het geeft een breed, maar concreet, raamwerk van metrieken met focus op output, en een selectie van kernmetrieken • Met als doel transparantie en heldere communicatie en afspraken • Door een grote groep practitioners opgesteld (consensusmodel van NEN) • Met veel belangstelling vanuit de markt • Vanaf 29 oktober –gratis- beschikbaar via nen.nl 16