Kombinér teknologisk ekspertise med systemtenkning

Lean programvareutvikling
Kombinér teknologisk ekspertise med systemtenkning
- få jobben gjort på tid og budsjett
The complexity of software is an essential
property, not an accidental one.
… The classic problems of developing software
products derive from this essential complexity and
its nonlinear increase with size.
Fred Brooks
Om Anders Haugeto
-
Siv.ing. Datateknikk NTNU
-
Med-grunnlegger av Iterate
Bakgrunn med systemutvikling
Nå rådgiver innen IT-strategi
og metodikk
Deltar i Forskningsrådets
ekspertpanel, DIFI sin Smidig
møtegruppe, Oslo Lean
Meetup, XP2010, Smidig 2010
3
Iterate
-
Konsulentselskap med tjenester innen lean programvareutvikling
Systemutvikling, rådgivning, bedriftsopplæring
26 ansatte i Oslo og Wroclaw (Polen)
Pågående oppdrag for blant annet Det Norske Veritas, Statistisk
Sentralbyrå, Eiendomsmegler 1, Veidekke, Color Line, Gyldendal
og Miljøverndepartementet
4
Agenda
-
-
Lean og programvareutvikling
-
Historikk
Lean software development
Krasjkurs i verdistrømanalyse
Forholdet mellom kunde og leverandør
-
Utfordringer
Styringsmekanismer
Noen avsluttende råd
5
Del I
Lean og programvareutvikling
6
Hva er lean?
-
Fortløpende øk verdien du leverer til dine kunder
Samtidig som du kontinuerlig reduserer egen innsats
På kortest mulig tid
Med høyest mulig kvalitet
Historien
Familien Toyoda, veving og andre besettelser
8
Etter andre verdenskrig:
Japan i krise
- Toyoda Automatic Loom Works
- 1945: Kiichiro Toyodas utfordring
- Taiichi Ohno:
The Toyota production system is a system for
the absolute elimination of waste
9
Toyotas definisjon av sløsing:
Alt som ikke tilfører kunden verdi
10
Toyotas 7 former for sløsing:
1. In process inventory
2. Over-production
3. Extra processing
4. Transportation
5. Motion
6. Waiting
7. Defects
11
Toyotas produksjonssystem
-
Just-in-time Flow:
Kanban
-
Stop the line:
”Autonomation”
-
Zero inspection
Continuous
improvement
12
Lean
-
Lean er en generisk term for Toyota sin tankegang i
andre bedrifter
-
Lean kan oversettes til slank
-
Dell, Zara, Southwest Airlines, Wal-Mart, 3M ...
1990: ”The machine that changed the world” (James
Womack m.f.)
13
Case: Zara
- Lokal produksjon
- Klær sendes på hengere med fly
- Mål: Lynrask respons på markedets behov
- Nesten ingen klær selges på tilbud ...
14
Lean: Bruksområder
Lean
Masseproduksjon
Produktutvikling
Bil
Bil
Klær
Flyreiser
Kontorutstyr
Datautstyr
Programvare
15
Slank IT-utvikling
Lean Software Development
Lean i et nøtteskall*
-
Alt som ikke gir kunden verdi er sløsing
-
Du har fokus på kundens behov
Du får kvalitet gjennom konstruksjon - ikke testing
-
Du er i teten på teknologi
Slaget er viktigere enn planene
-
Du måler flyt
Å lære er en høyverdig kunstform
-
Du driver systematisk forbedring
* Fra Mary Poppendieck
17
Sløsing
18
Sløsing:
Produksjon vs programvare
Halvprodusert inventar
Overproduksjon
Ekstra prosessering
Halvferdig arbeid
Ekstra funksjonalitet
Å lære gamle ting på nytt
Transport
Overleveringer
Bevegelse
Oppgavebytting
Venting
Defekter
Alt det kontrakten
krevde, men kunden
ikke trengte
Forsinkelser
Defekter
Hvilke barrierer har
din organisasjon?
Ekstra funksjonalitet
- Tommelfingerregel:
-
20 prosent av programvaren gir 80 prosent av verdien
- La oss lage de 20 prosentene best mulig
- Spesielt med tanke på at kompleksiteten øker
eksponensielt med funksjonaliteten
- Faresignal: Når kunden skal “sikre seg”
funksjonalitet
20
Plans are useless..
- .. planning is everything!
- “No plan survives
contact with the enemy”
- (…) the main task of
military leaders [is] to
consist in the extensive
preparation of all
possible outcomes
Helmuth Karl Bernhard von Moltke
21
Den iterative prosess
- Hyppige leveranser direkte til produksjon
- Ingen overleveringer mellom
-
Hva som skal gjøres
Hvordan det skal gjøres
Å faktisk gjøre det som skal gjøres
Å lære av resultatene
22
Nedbryting av arbeid
Presentasjon
Forretningslogikk og integrasjon
Data
23
m
o
s
g
nt
n
i
e
j
p
k
ap
å
s
M
g
O
am
e
r
t
S
e
u
Val
Krasjkurs
Lean-verktøy: Verdistrømanalyse
24
Hva skjer?
Kundeforespørsel
-
Hensikt: Identifiser din egen sløsing
Fra konsept til leveranse
?
Eksempler:
- Lever et middels stort prosjekt
et eksisterende system med en høyt prioritert
- Utvid
funksjon
Leveranse
Metode
1. Bestem hvilken strøm
2. Velg startpunkt
3. Velg sluttpunkt: Den endelige leveranse
4. Identifiser eieren av strømmen
5. Noter alle aktiviteter og køer fra start til slutt
26
Eksempel
Request
Form sent
to queue
20 min
Approve &
prioritize
Form sent
to queue
2 min
1/2 week
Technical
assessment
Form sent
to queue
15 min
2 weeks
Code & test
To
verification
2 hours
2 weeks
Verify & fix
To
operations
4 hours
1 week
Deploy
3 min
1/2 week
Eksempel
Request
Form sent
to queue
20
5 min
min
15 min
Approve &
prioritize
Form sent
to queue
2 min
1/2 week
Technical
assessment
Form sent
to queue
15 min
2 weeks
Code & test
To
verification
2 hours
2 weeks
Verify & fix
To
operations
415hours
min
1 week
3h 45m
Deploy
3 min
1/2 week
Eksempel
Request
Form sent
to queue
5 min
15 min
Approve &
prioritize
Form sent
to queue
2 min
1/2 week
Technical
assessment
Form sent
to queue
15 min
2 weeks
Code & test
To
verification
2 hours
2 weeks
SLØSING
Verify & fix
To
operations
15 min
1 week
3h 45m
Deploy
3 min
1/2 week
Eksempel
5 min
2 min
15 min
2 hours
15 min
3 min
2 hours 40 min
15 min
6 weeks + 4 hrs
1/2 week
2 weeks
2 weeks
1 week
3h 45m
1/2 week
1%
Efficiency
Eksempel 2
Request
Email
supervisor
5 min
Approve
Email tech
lead
2 min
2 hours
Technical
assessment
Assign
developer
15 min
2 hours
Code & test
To
verification
2 hours
1 hour
Verify
To
operations
15 min
15 min
160 min
325 min
Deploy
3 min
10 min
33%
Efficiency
Hva er poenget?
- Se organisasjonen din med kundens øyne
- Utfordre etablerte sannheter om “hvordan ting
fungerer hos oss”
- Se helheten og verdsette systemet
32
Lean vs smidig
Lean
Agile
Scrum
XP
33
Lean vs smidig
Lean
Agile
XP
Scrum
34
Del II
Lean og forholdet mellom kunde/leverandør
35
Hva når eieren lar noen
andre utvikle?
- Konsulentselskapene sin forretningsmodell
- Fordel:
-
Kunden kan prioritere opp og ned bruken av
nødvendig kompetanse
- Ulempe:
-
En organisasjonell barriere blir introdusert
36
Kundens
utfordringer
- Forventninger i organisasjonen
- Intern politikk
- Kunnskap om hva som er mulig
- Forestillinger om hva som ikke er mulig
Leverandørens
utfordringer
- Få eierskap til ideen
- Forvalte forventninger til sluttproduktet
- Finne smarte løsninger
- Fokus på forretningsmessig gevinst
Forutsetninger kunde
- Du vet hvorfor du investerer
-
Hvilke forretningsmessige mål har du?
-
Hvem tar de vanskelige beslutningene?
-
Hvor ofte involverer du sluttbrukerne i utviklingen?
- Du er i stand til å prioritere ned
- Du har kunnskapen, og den er tilgjengelig
39
Forutsetninger leverandør
-
Du klarer å omsette kundens behov til å bygge en
løsning - inkrementelt
-
Du har institusjonalisert den læring du får fra hver
inkrementelle leveranse
-
Du investerer i å bygge hyperproduktive team
-
-
Samkjørt fagmiljø med felles grunnverdier innen teknologi,
metodikk og læring
Fravær av mekanismer som forleder deg til å velge
løsning for tidlig
40
Måleparametere
Strategi
Finansielt
Kunde
Internt
Læring
Få mer ut av saksbehandlings-­‐
budsjettet
Økt kundemasse/
omsetning
Tilby en brukervennlig løsning bedre arbeidshverdag for saksbehandlere kontinuerlig forbedre søknads-­‐
prosessene Antall saker behandlet per saksbehandler
Økning i antall kunder
Mål
?
Rate papirbasert vs. nettbasert
?
Reduksjon i sykefravær
?
Gjennomsnittlig tid for utfylling av søknader
?
Balansert målstyring på 60 s
Oppsummering
-
Flyten fra bestilling til leveranse sier mye om din
utviklingsorganisasjon
-
Lean dreier seg om å fjerne hindringer i denne flyten
Metodikk kan både fjerne og introdusere barrierer
Det samme gjelder kunde / leverandør-forhold
-
Fokuser på overordnede mål, og finn prosessen ut fra den
mest hensiktsmessige flyten
-
Bruk kontrakt til å regulere prosess
42
Spørsmål?
[email protected]
iterate.no
codecamp09.tekniskblogg.no
billigereogbedre.no