essentielle værktøjer for det agile team

63
Casper Wilstrup Partner, BestBrains Essentielle værktøjer for det agile team BestBrains 4. november 2013

Upload: bestbrainsdk

Post on 20-Aug-2015

208 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Essentielle værktøjer for det agile team

Casper WilstrupPartner, BestBrains

Essentielle værktøjer for det agile team

BestBrains4. november 2013

Page 2: Essentielle værktøjer for det agile team
Page 3: Essentielle værktøjer for det agile team
Page 4: Essentielle værktøjer for det agile team
Page 5: Essentielle værktøjer for det agile team
Page 6: Essentielle værktøjer for det agile team
Page 7: Essentielle værktøjer for det agile team
Page 8: Essentielle værktøjer for det agile team
Page 9: Essentielle værktøjer for det agile team
Page 10: Essentielle værktøjer for det agile team

Det første værktøjEn proces

Page 11: Essentielle værktøjer for det agile team

Procesværktøjer

Proces → hvordan vi arbejder

Værktøj → noget vi bruger til at løse en opgave

Page 12: Essentielle værktøjer for det agile team

Procesværktøj

Ordinerende Adaptiv

Grafik fra Henrik Kniberg, ”Kanban and Scrum”

Page 13: Essentielle værktøjer for det agile team

Scrum

Page 14: Essentielle værktøjer for det agile team
Page 15: Essentielle værktøjer for det agile team

Kanban

Page 16: Essentielle værktøjer for det agile team

Estimate Value, Effort

Breakdown

Backlog Develop

Todo Doing Review Done

Deploy to test Verify

Validate DoneRoadmapAreas

User stories(Features)

DevelopmentTasks

DevelopmentRoadmap

Page 17: Essentielle værktøjer for det agile team
Page 18: Essentielle værktøjer for det agile team

Kanban og Scrum

Kniv eller gaffel – hvad er bedst?

Page 19: Essentielle værktøjer for det agile team

Det andet værktøjMålinger

Page 20: Essentielle værktøjer for det agile team

Empiri

Grafik fra Henrik Kniberg, ”Kanban and Scrum”

Page 21: Essentielle værktøjer for det agile team

Empiri

Grafik fra Henrik Kniberg, ”Kanban and Scrum”

Page 22: Essentielle værktøjer for det agile team

Burn-down Charts

Page 23: Essentielle værktøjer for det agile team

Burn-up Charts

Page 24: Essentielle værktøjer for det agile team

Cumulative Flow Diagrams

Page 25: Essentielle værktøjer for det agile team

Det tredje værktøjSource Control

Page 26: Essentielle værktøjer for det agile team

“At my first job, we had a Source Control department. When you had your code ready to go, you took your floppy disks to the nice ladies in Source Control, they would take your disks, duly update the library, and build the customer-ready product from the officially reposed source.”

- Miles Duke

Page 27: Essentielle værktøjer for det agile team
Page 28: Essentielle værktøjer for det agile team
Page 29: Essentielle værktøjer for det agile team
Page 30: Essentielle værktøjer for det agile team

Det fjerde værktøjContinuous Integration

(and delivery)

Page 31: Essentielle værktøjer for det agile team
Page 32: Essentielle værktøjer for det agile team
Page 33: Essentielle værktøjer for det agile team
Page 34: Essentielle værktøjer for det agile team
Page 35: Essentielle værktøjer for det agile team
Page 36: Essentielle værktøjer for det agile team
Page 37: Essentielle værktøjer for det agile team
Page 38: Essentielle værktøjer for det agile team

Det femte værktøjAutomatiske tests

Page 39: Essentielle værktøjer for det agile team

✗ Manual testing ✗ »Expensive« bug fixes ✗ Reluctance to change smelly code ✗ Unnecessary complexity

Time

Page 40: Essentielle værktøjer for det agile team

✓ Timed saved on manual testing ✓ Old bugs do not re-appear ✓ New bugs discovered early ✓ Enables refactoring ✓ Improves design

✗ Manual testing ✗ »Expensive« bug fixes ✗ Reluctance to change smelly code ✗ Unnecessary complexity

first time withautomated testing

Time

Page 41: Essentielle værktøjer for det agile team

✓ Timed saved on manual testing ✓ Old bugs do not re-appear ✓ New bugs discovered early ✓ Enables refactoring ✓ Improves design

✗ Manual testing ✗ »Expensive« bug fixes ✗ Reluctance to change smelly code ✗ Unnecessary complexity

with automated testing

first time withautomated testing

Time

Page 42: Essentielle værktøjer for det agile team
Page 43: Essentielle værktøjer for det agile team

Hvorfor er det så svært?

Page 44: Essentielle værktøjer for det agile team

No test

More bugsLess time

No test

Less refactoringLess time

More complexity

Hvorfor er det så svært?

Page 45: Essentielle værktøjer for det agile team

More test

Fewer bugsMore time

Page 46: Essentielle værktøjer for det agile team

Unit testsIntegration testsSystem tests

Acceptance testsAPI tests

Performance testsMonitoring tests…

Tests der kan automatiseres

Page 47: Essentielle værktøjer for det agile team

1. Write a failing test 2. Make it run

3. Refactor

Test Driven Development

Page 48: Essentielle værktøjer for det agile team

1. Write a failing test 2. Make it run

3. Refactor

Behaviour Driven Development

Page 49: Essentielle værktøjer for det agile team
Page 50: Essentielle værktøjer for det agile team
Page 51: Essentielle værktøjer for det agile team
Page 52: Essentielle værktøjer for det agile team
Page 53: Essentielle værktøjer for det agile team
Page 54: Essentielle værktøjer for det agile team
Page 55: Essentielle værktøjer for det agile team

Det sjette værktøjKodeinspektion

Page 56: Essentielle værktøjer for det agile team
Page 57: Essentielle værktøjer for det agile team

Det syvende værktøjFeedback

Page 58: Essentielle værktøjer for det agile team

Feedback - review

Page 59: Essentielle værktøjer for det agile team

Feedback - retrospectives

Page 60: Essentielle værktøjer for det agile team

Feedback - pairing

Page 61: Essentielle værktøjer for det agile team

Feedback – peer assessmentJesper Rasmus Mette Thomas ...

C++ 3 2 3 3

OpenGL 2 3 1 2

DB2 1 0 0 1

Qt 2 1 2 3

Boost 3 2 2 3

Windows 1 2 3 2

Linux 3 1 1 3

UX design 2 0 0 1

Javascript 1 1 2 1

Net prog 2 2 2

Java 2 1

Test 2 2 2 2

Page 62: Essentielle værktøjer for det agile team

Essentielle værktøjer for det agile team

BestBrains4. november 2013

Diskussion

Page 63: Essentielle værktøjer for det agile team

Essentielle værktøjer for det agile team

BestBrains4. november 2013

Tak for i dag