2016 02-11 teknisk gjeld - sw2016

21
Teknisk gjeld Software 2016 11. februar 2016 Petter Hafskjold Sjefsarkitekt @petterhf

Upload: petter-hafskjold

Post on 19-Jan-2017

838 views

Category:

Software


7 download

TRANSCRIPT

Teknisk gjeld Software 2016 11. februar 2016 Petter Hafskjold Sjefsarkitekt @petterhf

NAV, 28.02.2016 Side 2

Innhold

Hva er teknisk gjeld?

NAVs tilnærming

Dokumentasjon av teknisk gjeld

Oppsummering

NAV, 28.02.2016 Side 3

Hvordan definere vi...

Teknisk gjeld er en metafor som viser til

konsekvensene av dårlig programvareutvikling

(Cunningham, 1992)

NAVs tilnærming til teknisk gjeld er i stor grad basert på artikkelen

An exploration of technical debt av Edith Tom, Aybüke Aurum,Richard Vidgen i

The Journal of Systems and Software 21. januar 2013.

Artikkelen oppsummerer en metastudie av litteratur om teknisk gjeld

NAV, 28.02.2016 Side 4

Hvordan oppstår teknisk gjeld?

Bevisst – Tar et bevisst valg, og er dermed

klar over at det oppstår teknisk

gjeld (Forsvarlig/uforsvarlig)

Ubevisst – Læring underveis finner ut at man

skulle gjort ting annerledes

(Forsvarlig)

– Mangel på kunnskap, uviten om

at det oppstår teknisk gjeld

(Uforsvarlig) UFORSVALIG

(Reckless)

FORSVARLIG (Prudent)

BE

VIS

ST

(D

elib

era

te)

UB

EV

ISS

T

(Ina

dve

rten

t)

«Vi har ikke tid

for....»

«Vi må la det

være og

håndtere det

senere...»

«Nå vet vi

hvordan vi

skulle ha gjort

det...»

«Hva er

lagdeling...»

Teknisk gjeld kvadranten

TechnicalDebtQuadrant / Martin Fowler / 2009

NAV, 28.02.2016 Side 5

Vi kategoriserer teknisk gjeld i følgende dimensjoner

Dimensjoner Beskrivelse Stikkord

Kode Skapes av dårlig skrevet kildekode. Teknisk gjeld i

kode vil også øke når mengden kode øker

uavhengig av kvalitet.

• Duplisering

• Kompleksitet

• Lesbarhet

• Struktur

Design og

arkitektur

Mangler i design og arkitektur. Avvik fra prinsipper,

krav og målbilder.

• Avvik fra prinsipper

• Avvik fra design og

arkitekturkrav

• Avvik fra målbilder

Teknisk miljø Kan oppstå i det tekniske miljøet til en løsning, i

tillegg til utviklingsrelaterte prosesser. Utdatert

komponenter, kjøretidsmiljø og/eller

operativsystem er inkludert her.

• Hardware

• Infrastruktur

• OS, plattformer, rammeverk

• Støttesystemer

• Utviklingsprosesser (f.eks.:

manuelle prosesser som kan

automatiseres)

Dokumentasjon Mangelfull og/eller lav kvalitet på dokumentasjon.

Dette kan være designdokumentasjon,

dokumentasjon av kode og systemdokumentasjon.

• Mangel på dokumentasjon

• Dokumentasjon med lav

kvalitet

Testing Mangelfull testdekning av en løsning og/eller

manuell testing som kan automatiseres.

• Mangelfull testdekning

• Manuelle vs. automatiserte

tester

NAV, 28.02.2016 Side 6

Sentralt for å identifisere teknisk gjeld er krav til produktkvalitet

NAV har etablert en modell med 10 kvalitetsegenskaper

Modellen er basert på ISO 25010, og tilpasset til NAV

Modellen består av 3 nivåer

Kvalitetskrav knyttes til kvalitetsegenskapene

NAV, 28.02.2016 Side 7

Teknisk gjeld er avvik fra kvalitetskrav

NAV har utarbeidet en fast

kravliste

Alle krav er knyttet opp

mot en eller flere

kvalitetsegenskaper

Kravene gjelder i

utgangspunktet for alle

våre IT-løsninger

Avvik fra kvalitetskravene

anses som teknisk gjeld

NAV, 28.02.2016 Side 8

Innhold

Hva er teknisk gjeld?

NAVs tilnærming

Dokumentasjon av teknisk gjeld

Oppsummering

NAV, 28.02.2016 Side 9

Helhetlig tilnærming til teknisk gjeld

NAV, 28.02.2016 Side 10

FORVALTNINGS-

KONTOR IT-avdelingen

PROSJEKT UTVIKLINGSAVDELINGEN

LØSNINGS-

BESKRIVELSE

TEKNISK

GJELD

ENDRINGS-

PROSESSEN

TEKNISK

GJELD

ARKITEKTUR-

BESLUTNINGER

UTVIKLINGS-

MØTET

STYRINGS-

GRUPPE

RAPPORTERING

8

1 2

10

7

3

6

5

A B C

D

4

9 RAPPORTERING

Prinsipper for håndtering og forvaltning av teknisk gjeld

NAV, 28.02.2016 Side 11

Innhold

Hva er teknisk gjeld?

NAVs tilnærming

Dokumentasjon av teknisk gjeld

Oppsummering

NAV, 28.02.2016 Side 12

Hvordan vi beskriver teknisk gjeld

Kvalitetskrav

Teknisk gjeld

Beskrivelse

Løsningsbeskrivelse

Konsekvensvurdering

Årsak Kostnad

Estimat

Kvalitets-egenskap

Kraveier

Dimensjon (av teknisk

gjeld)

Status

Målbilde

Eier (system-

team)

Verdikjede/ komponent

Oppstått

NAV, 28.02.2016 Side 13

Teknisk gjeld dokumenteres som vanlige epos, men med noe tilleggsinformasjon

Ny fane opprettet i

Jira for informasjon

knyttet til teknisk

gjeld

Angi «Konsekvenser»

av den teknisk gjelden

Angi «Gevinst og 5

år» fra

gevinstberegningen

Angi «Estimat»

Angi «Ekstra

kostnader»

(F.eks. lisenser etc.)

Angi «Dimensjon» av

teknisk gjeld dette

eposet omhandler

Angi

«Kvalitetsegenskap(er)»

som påvirkes av den

tekniske gjelden

NAV, 28.02.2016 Side 14

Teknisk gjeld legges i NAVs produktkø

NAV, 28.02.2016 Side 15

Teknisk gjeld fordelt på kvalitetsegenskaper

NAV, 28.02.2016 Side 16

Dimensjoner av teknisk gjeld

NAV, 28.02.2016 Side 17

Innhold

Hva er teknisk gjeld?

NAVs tilnærming

Dokumentasjon av teknisk gjeld

Oppsummering

NAV, 28.02.2016 Side 18

Ønsker vi alltid å unngå teknisk gjeld?

Teknisk gjeld er ikke nødvendig dårlig – bevist midlertidig

forenkling av løsning kan gi tidligere leveranse (men

medfører rydding senere)

Null teknisk gjeld = «gold plating», det vil si alt for dyre

løsninger – tenk 80/20 eller 90/10

Brudd på kvaliteskrav medfører teknisk gjeld – Men beviste og godkjente varige avvik er ikke teknisk gjeld

NAV, 28.02.2016 Side 19

Oppsummering teknisk gjeld i NAV Stegvis modning og innføring

– Arbeidet startet i 2012 med bevisstgjøring rundt ikke-funksjonelle

krav og mange krav ble utarbeidet

– ISO 25010 ble etter hvert valgt som modell og regime for å forvalte

kravene kom på plass i 2014

– I 2014 ble budsjett og produktkøarbeid for tekniske forbedringer

samlet

– Verktøystøtte for registrering av teknisk gjeld i produktkøen ble

etablert i 2015

Bevisstgjøring har effekt både hos forretningssiden, IT og

prosjektene

Forvaltningsbudsjett og produktkø gir incitament

Etablert produktkø gjør det enklere å utbedre teknisk gjeld

når prosjekter gjennomføres og erfaringstall for senere

prosjekter

NAV, 28.02.2016 Side 20

// Spørsmål?

NAV, 28.02.2016 Side 21

// Takk for meg!