Upload
citerus-ab
View
1.351
Download
1
Embed Size (px)
DESCRIPTION
Frukostseminarium 4/11 - 2009 Ett vanligt fel många gör när de börjar arbeta agilt är att man låter kvalitén sjunka med tiden. Det kan vara kompromisser mellan bra kod och snabb leverans, slarv med de automatiserade testerna, dokumentation som saknas eller är inaktuell, med mera. Det börjar ta längre och längre tid för projektet att kunna göra en bra leverans. Vad behöver vi för att kunna upprätthålla bra kvalitet och högt tempo på samma gång? Magnus Mickelsson - Citerus
Citation preview
Utvecklarpraxis för kvalité
Hur bär vi oss åt för att hålla kvalitén uppe i våra (agila) projekt?
Magnus Mickelsson, Citerus AB
1
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Om Citerus
• Citerus är ett konsult- och utbildningsföretag som hjälper sina kunder att lyckas med
mjukvaruutveckling. Sedan 1996 har vi utvecklat mjukvara, lett projekt, förbättrat
Om Magnus Mickelsson
‣ I branschen sedan 1996 - systemutvecklare och arkitekt
Certifierad Scrum Master
mjukvaruutveckling. Sedan 1996 har vi utvecklat mjukvara, lett projekt, förbättrat
utvecklarpraxis och förfinat ledningsmetoder åt företag från många olika branscher. Vi
uppnår resultat genom att höja kvalitetsribban, sätta människor i första rummet och
minska på byråkratin.
QuickTime och en-dekomprimerare
krävs för att kunna se bilden.
2
‣ Certifierad Scrum Master
‣ Utbildar inom TDD, refactoring och övriga Engineering Practices
‣ Fokus på J2EE-plattformen
Vad går fel med vår kod och våra projekt?
Hjälper Agile-metoder?
1985-1987 -- Therac-25 medical accelerator. A radiation therapy device malfunctions and delivers lethal radiation doses.
33
1985-1987 -- Therac-25 medical accelerator. A radiation therapy device malfunctions and delivers lethal radiation doses.
Because of a subtle bug called a "race condition” … At least five patients die; others are seriously injured.
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Agile miljö
• Självförbättrande
• Fokus på ”rätt saker”• Fokus på ”rätt saker”
• Affärsnytta - bra kvalité - snabbt
• Kunna lösa problem i teamet
• Tydligt och synligt
4
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Hinder och fällor
•Otydliga/oprioriterade krav
•Ingen förbättringsprocess
•Ingen koll på konsekvenser
•”Trasiga fönster”
5
•Teamet kan inte arbeta fokuserat
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Hur handskas vi med detta på teknisk nivå?
•KLART-kriterier
•Engineering practices
•Stop the line
6
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Documentation
Visual feedback
Engineering Practices
Refactoring Continuous Integration
TDD & Testing
Visual feedback
8
Version control
TDD & Testing
Automated build- and release
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
TDD
Think
Write test
• Ger snabb feedback till utvecklarna
• Fokusera på domänen (DDD)
• Hitta ”rytmen”
Do thetests pass?
Write test
that fails
Write code
to pass test
No
Yes
Yes
10
Refactor
Do thetests pass?
No
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Agil testning - hitta versus undvika buggar
Peer
programming
Peer
programming
Quality of code Functionality Acceptance
Developer
testing
Developer
testing
programmingprogramming
Agile
testing
Agile
testing
Customer
tries to
use it
Customer
tries to
use it
11
Test automationTest automation
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Refactoring
•Konsten att städa sin egen röra•Konsten att städa sin egen röra
•Naturlig del av dagliga arbetet
•Laga trasiga fönster kontinuerligt
•Kräver automatiserade tester
12
•Kräver automatiserade tester
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Kontinuerlig integration och ”One click build”
•Enkelt att bygga hela produkten
•Automatisera!
•Bygg vid varje förändring
•Statusrapporter som del av bygget
13
•Larm då bygget kraschar
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Dokumentation i Wiki
•Lätt att komma åt och jobba med•Lätt att komma åt och jobba med
•Korslänkar
•Sökbar
•Versionshanterad
14
•Dock: lätt att få ”trasiga fönster”
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
KLART
• Kodat• Kodat
•Koden städad
•Lyder riktlinjer
•Lever upp till kraven
•Inga to-dos
15
•Inga to-dos
•Analyserad (Findbugs, PMD etc)
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
KLART
•Testat•Testat
•Automatiserade tester
•Manuella tester
•Code coverage
16
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
KLART
•Reviewat•Reviewat
•Pair programming eller peer review
•Design granskad
17
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
KLART
•Administrativt•Administrativt
•Dokumentation uppdaterad
•Byggscript/verktyg uppdaterade
•Inga ofärdiga uppgifter
18
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
KLART
•Levererans•Levererans
•Kod incheckad
•Byggt och deployat/paketerat
19
Citerus - Magnus Mickelsson, 2009 - [email protected] - 0708-444183
Nästa steg?
•Fundera över nuläget
•Fundera vart ni vill komma
•Utbildningar/Litteratur
•Hjälp att få team att komma igång
20
•Uppmuntra ”kunskapsföretaget”