This speech will focus on how a PHP Company starting with XP is ending up using timeboxing and kanban, keeping alive the values and principles of an extreme programming development team.
Not only are the programmers trying to push forward those values, but also the management is trying to build a better company through systematic communication, clear objectives, understanding of individuals and interactions, working software, customer collaboration and responsiveness to change. This talk will focus on the positive and negative experiences my colleagues and I have had during the last year as managers and developers.
I will begin showing the problems my company had. Then, I will present the solutions we adopted to solve those problems. Finally, I will briefly explain how an activity “flows” through our workflow.
5. Where were we?
2 Main Stream Projects
Customers
Requests 2 Developers
user stories tasks +
emergencies bugs
1/2 Developers
http://www.flickr.com/photos/kainet/288519656/
The Emergency Ward
Sales
projects and clients “assistance”
long term planning 1 Developer
http://www.flickr.com/photos/st3f4n/2489961263/
domenica 20 novembre 2011
6. Problems
Spread of knowledge on projects
2 Main Stream Projects The Emergency Ward
http://www.flickr.com/photos/kainet/288519656/
http://www.flickr.com/photos/st3f4n/2489961263/
Long term projects Bugs and requests of
Focus on new ex-“long term” projects!
functionality
domenica 20 novembre 2011
7. Problems
Different workflows
2 Main Stream Projects The Emergency Ward
VS
http://www.flickr.com/photos/kainet/288519656/
http://www.flickr.com/photos/st3f4n/2489961263/
Iterations Bugs, small tasks, emergencies, a
Clean planning every week bit of customer care
Difficult planning
domenica 20 novembre 2011
8. Problems
“When can we do this?”: planning, resources, negotiation
2 Main Stream Projects The Emergency Ward
VS
http://www.flickr.com/photos/kainet/288519656/
http://www.flickr.com/photos/st3f4n/2489961263/
“Next week?” “Emm... maybe next week?”
domenica 20 novembre 2011
9. Problems
“How much work can you do in a week?”
“Can you measure it?”
Story points? Ideal working days?
hours/man?
http://www.flickr.com/photos/kainet/288519656/
http://www.flickr.com/photos/st3f4n/2489961263/
domenica 20 novembre 2011
10. From... to...
Customers 2 Main Stream Projects
Requests
2 Developers
+
The Emergency Ward 1/2 Developers
Management 1 Developer
Sales
Contracts
“Account”
Customer care
Customers
Requests
user story, task, bug
Developers
domenica 20 novembre 2011
11. SOLUTIONS
Different workflows
Kanban
Everything is on
the kanban!
domenica 20 novembre 2011
12. SOLUTIONS
Spread of knowledge on projects
Kanban
Pick the first in
the “to-do” list!
If needed, ask
someone to help
you.
domenica 20 novembre 2011
13. SOLUTIONS
“When can we do this?”: planning, resources
Kanban Timeboxing Track and planning
“Full for the How long does Plan daily
next N it takes from based on what
weeks?” “request” to you have
“done”? measured
(Lead time)
domenica 20 novembre 2011
14. SOLUTIONS
“When can we do this?”: negotiation
PROS
Planning an unique flow
Finer granularity than iterations
Can establish effort on projects weekly
CONS
Harder to plan many project in one flow
Daily change of to-do list may happen
domenica 20 novembre 2011
15. Problems
“How much work can you do in a week?”
“Can you measure it?”
Story points? Ideal working days?
hours/man?
http://www.flickr.com/photos/kainet/288519656/
http://www.flickr.com/photos/st3f4n/2489961263/
domenica 20 novembre 2011
16. SOLUTIONS
“How much work can you do in a week?”
“Can you measure it?”
YES,YOU CAN!
http://www.flickr.com/photos/kainet/288519656/
http://www.flickr.com/photos/st3f4n/2489961263/
domenica 20 novembre 2011
17. SOLUTIONS
Bring you problems to light!
Measure your lead time
(How long does it take to release value?)
Bugs discovered in QA
(Weak tests? Customer expectation not matched?)
WIP (work in progress)
(How many activities can you do at the same time?)
Bottlenecks
(Kanban can show you were activities are stuck.
You should ask yourself why.)
Non-standard workflows
(“Why is it not in the kaban?”)
domenica 20 novembre 2011
18. Demo
• Kanban
• Timeboxing
• Tracking
Our workflow, your questions!
domenica 20 novembre 2011
19. Kanban
TO DO Working QA Deploy Done
domenica 20 novembre 2011
20. WIP
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3
domenica 20 novembre 2011
21. Our activities
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#123 #435 #362
r:10/10 IAD r: 15/10 AP #445
t: 05/11 t: 05/11
w: w:
q:
d:
2 q:
d: 1
#124 #656
r: 11/10 IAD r: 01/11 AP
t: 05/11 t: 05/11
w: w:
q:
1
q:
d: 2
d:
#198
r: 20/09 AP
t: 05/11
w:
q:
d: 3
Cirpo Kea Ciccio Filippo Michele Paolo
domenica 20 novembre 2011
22. Tickets assignment
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#435 #123
#362
r: 15/10 AP #445
t: 05/11 r:10/10 IAD
Cirpo
w: t: 05/11
q:
d: 1 w: 08/11
q:
2
d: Kea
#656
r: 01/11
t: 05/11
AP #124
w: r: 11/10 IAD io
Cicc
q:
d: 2 t: 05/11
w: 08/11
Pa
q:
d:
o
1lo
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp 3
d:
F
domenica 20 novembre 2011
23. #124 blocked in QA
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#123
Kea
#124 #445
r:10/10 IAD
Cirpo r: 11/10 IAD
t: 05/11 t: 05/11
w: 08/11 w: 08/11
q:
d:
2 q: 09/11
1
d:
#656
r: 01/11
t: 05/11
AP #435
w: r: 15/10
t: 05/11
Ciccio
AP
q:
2 Pa
w: 09/11
d:
q:olo 1
d:
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
domenica 20 novembre 2011
24. Kea and Cirpo QA
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#124 #445
r: 11/10 IAD
t: 05/11
w: 08/11
q: 09/11
d: 1
#656
r: 01/11
t: 05/11
AP #435 #123 Kea
w: r: 15/10
t: 05/11
Ciccio
AP r:10/10 IAD
q:
2 Pa
w: 09/11 t: 05/11
d:
q:olo 1
w: 08/11
d: q: 10/11
d:
2
Cirpo
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
domenica 20 novembre 2011
25. Kea and Cirpo deploy
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#124 #123 Kea
#445
r: 11/10 IAD r:10/10 IAD
t: 05/11 t: 05/11
w: 08/11 w: 08/11
q: 09/11
d: 1 q: 10/11
d:
2
#656 Cirpo
r: 01/11
t: 05/11
AP #435
w: r: 15/10
t: 05/11
Ciccio
AP
q:
2 Pa
w: 09/11
d:
q:olo 1
d:
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
domenica 20 novembre 2011
26. Kea and Cirpo are done
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#124 #445
r: 11/10 IAD
t: 05/11 #123
w: 08/11
q: 09/11
d: 1
#656
r: 01/11
t: 05/11
AP #435
w: r: 15/10
t: 05/11
Ciccio
AP
q:
2 Pa
w: 09/11
d:
q:olo 1
d:
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
Kea Cirpo
domenica 20 novembre 2011
27. Where to start?
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#124 #445
r: 11/10 IAD
t: 05/11 #123
w: 08/11
q: 09/11
d: 1
#656
r: 01/11
t: 05/11
AP #435
w: r: 15/10
t: 05/11
Ciccio
AP
q:
2 Pa
w: 09/11
d:
q:olo 1
d:
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
Kea Cirpo
domenica 20 novembre 2011
28. Where to start?
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#124 #445
r: 11/10
t: 05/11
IAD
From here! #123
w: 08/11
q: 09/11
d: 1
#656
r: 01/11
t: 05/11
AP #435
w: r: 15/10
t: 05/11
Ciccio
AP
q:
2 Pa
w: 09/11
d:
q:olo 1
d:
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
Kea Cirpo
domenica 20 novembre 2011
29. Where to start?
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Ciccio #362
#124 #445
r: 11/10 IAD
t: 05/11 #123
w: 08/11
q: 09/11
Kea
d: 1
#656
r: 01/11
t: 05/11
AP #435
w: r: 15/10 AP
t: 05/11
q:
2 Pa
w: 09/11
d:
q: olo 1
d:
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
Cirpo
domenica 20 novembre 2011
30. And Cirpo?
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Cirpo Ciccio #362
#656 #124 #445
r: 01/11 AP r: 11/10 IAD
t: 05/11
w: 10/11 t: 05/11 #123
w: 08/11
q:
d: 2 q: 09/11
Kea 1
d:
#435
r: 15/10 AP
t: 05/11 Pa
w: 09/11 olo
q: 11/11
d: 1
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
domenica 20 novembre 2011
31. Cirpo does not know AP
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Cirpo Ciccio #362
#656 #124 #445
r: 01/11 AP r: 11/10 IAD
t: 05/11
w: 10/11 t: 05/11 #123
w: 08/11
q:
d: 2 q: 09/11
Kea 1
d:
#435
r: 15/10 AP
t: 05/11 Pa
w: 09/11 olo
q: 11/11
d: 1
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
domenica 20 novembre 2011
32. Cirpo do not know AP
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Ciccio #362
#656 #124 #445
AP IAD
I’ve never seen
r: 01/11
r: 11/10
t: 05/11
Cirpo
w: 10/11 t: 05/11 #123
w: 08/11
q:
2
AP project.
q: 09/11
d: Kea
d: 1
Can someone
#435
AP
helplo me?
r: 15/10
Pa
t: 05/11
w: 09/11o
q: 11/11
d: 1
#198
Michele
r: 20/09 AP
t: 05/11
w: 08/11
o
q:
ili pp
3
d: F
domenica 20 novembre 2011
33. Michele does
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Ciccio #362
#656 #124 #445
r: 01/11 AP r: 11/10 IAD
t: 05/11
Cirpo
w: 10/11 t: 05/11 #123
w: 08/11
q:
d: 2 q: 09/11
Kea 1
d:
#435
r: 15/10 AP
t: 05/11 Pa
w: 09/11 olo
q: 11/11
d: 1
#198
Michele I worked on the last
r: 20/09 AP
t: 05/11
w: 08/11
q:
d: F ili pp
3
o ticket, I’ll help you...
domenica 20 novembre 2011
34. Pair programming!
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Ciccio #362
#656 #124 #445
r: 01/11 AP r: 11/10 IAD
t: 05/11
w: 10/11 t: 05/11 #123
w: 08/11
q:
d: 2 q: 09/11
Kea 1
d:
Michele Cirpo
#435
#198 r: 15/10
t: 05/11
AP
Pa
olo
r: 20/09 AP w: 09/11
t: 05/11
w: 08/11
q: 11/11
d: 1
o
q:
ili pp3
d: F
domenica 20 novembre 2011
43. Expedit
TO DO Working QA Deploy Done
WIP:A client reports a
15 WIP: 6 WIP: 3 bug. 3 #165
WIP:
#571 #567 #362
r:9/11 PDS CicciPDS
r:9/11 o #445
t: t:: 12/11
We create a new ticket.
w: w: #123
q:
d:
1 q:
Kea
d:
5
#435
#572
t:
It is called #569
r:9/11 PDS
#568 Expedit, and it has
Michele
r:9/11
t: 12/11
PDS r:9/11 Cirpo
t: 12/11
PDS
#124
priority on others on the
w: w: o #198
ipp 2
w:
q:
d:
1 q:
d: Fil q:
1
d:
#656
kanban
#570 r:9/11
Pa
t:
olo
PDS
w:
q:
d:
1
domenica 20 novembre 2011
44. Expedit
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
Filippo
#571
r:9/11
t:
PDS leaves the #568 ticket #445
#567
CicciPDS
r:9/11 o
t:: 12/11
#362
to Michele and picks the
w: w: #123
q:
d:
1 q:
Kea
d:
5
#435
#572
t:
Expedit ticket to
r:9/11
#568 #569 verify what’s
PDS Michele
r:9/11
t: 12/11
PDS r:9/11 Cirpo
t: 12/11
PDS
#124
wrong
w: w: o #198
ipp 2
w:
q:
d:
1 q:
d: Fil q:
1
d:
#656
#570
r:9/11
Pa PDS
t:
w: olo
q:
d:
1
domenica 20 novembre 2011
45. Expedit
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#571 It was a bug
#567 #362
r:9/11 PDS CicciPDS
r:9/11 o #445
t: t:: 12/11
w: w: #123
q:
1 q:
Kea 5
The bug#568 #569 solved in less
could be
d: d:
#435
#572 Michele #124
then a pomodoro(25 minutes).
r:9/11 PDS r:9/11 PDS r:9/11 Cirpo
PDS
t: t: 12/11 t: 12/11
w: w: o #198
ipp 2
w:
q:
d:
1 q:
Fil q:
1
We fix it right away.
d: d:
#656
#570 r:9/11
Pa PDS
t:
w: olo
q:
d:
1
domenica 20 novembre 2011
46. Expedit
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#571 It was a bug
#567 #362
r:9/11 PDS CicciPDS
r:9/11 o #445
t: t:: 12/11
w: w: #123
q:
1 q:
Kea 5
The bug is complicated. We
d: d:
#435
#572 #568 #569 Michele #124
create a new ticket and put it
r:9/11 PDS r:9/11 PDS r:9/11 Cirpo
PDS
t: t: 12/11 t: 12/11
w: w: o #198
ipp 2
w:
q:
d:
1 q:
Fil q:
1
on top of the to-do list.
d: d:
#656
#570 r:9/11
Pa PDS
t:
w: olo
q:
d:
1
domenica 20 novembre 2011
47. Expedit
TO DO Working QA Deploy Done
It’s
WIP: 15 not a6bug, 3it’s a3 #165
WIP: WIP: WIP:
#571
r:9/11
t:
PDS feature
#567 r:9/11 o
t:: 12/11
#362
CicciPDS #445
w: w: #123
q:
d:
1 q:
Kea
d:
5
#435
#572
r:9/11
t:
We
PDS askMichele #569
#568 client
the Cirpo
PDS
r:9/11
t: 12/11
if he wants r:9/11
t: 12/11
PDS
#124
it, and if he says yes we create a
w: w: o #198
ipp 2
w:
q:
d:
1 q:
d: Fil q:
1
d:
#656
ticket and plan
#570 when to do it.
r:9/11
t: Pa
olo
PDS
w:
q:
d:
1
domenica 20 novembre 2011
48. Overrunning the WIP
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#567 #362
CicciPDS
r:9/11 o #445
t:: 12/11
w: #123
q:
Kea
d:
5
#435
#568
Michele #571 #124
r:9/11 PDS r:9/11 PDS
t: 12/11
t:
w: o #198
ipp 2 Cirpo
w:
Fil
q:
d:
q:
1
d: #656
#569
#572 #570
Pa PDS
r:9/11
t:
w:
olo
q:
d:
1
domenica 20 novembre 2011
49. Overrunning the WIP
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#567 #445
CicciPDS
r:9/11 o
t:: 12/11 #123
w:
q:
Kea 5
d: #435
#571 #568
Michele #124
r:9/11 PDS r:9/11 PDS
t: t: 12/11
w:Cirpo w: o #198
q:
1 q:
Fil i pp 2
d: d: #656
#569
#572 #570
Pa PDS
r:9/11
t:
w:
olo
q:
d:
1
domenica 20 novembre 2011
50. Overrunning the WIP
TO DO Working QA Deploy Done
WIP: 15 WIP: 6 WIP: 3 WIP: 3 #165
#362
#567 #445
CicciPDS
r:9/11 o
t:: 12/11 #123
w:
q:
Kea 5
d: #435
#568
Michele #124
r:9/11 PDS
t: 12/11
w: o #198
q:
Fil i pp 2
d: #656
#569
#572 #571 #570
Pa PDS
r:9/11 r:9/11PDS
t: olo t:
w: Cirpo
w:
q:
d:
1 q:
d:
1
domenica 20 novembre 2011
51. Timeboxing
Measure of time
Divides your working day
Indicates the time you should stay focus
on only one activity
domenica 20 novembre 2011
52. Timeboxing: why?
To measure the effort on each activity
To measure how much time you work in a day
To try out different solution
To schedule activities every 25 minutes
domenica 20 novembre 2011
63. Tracking & Planning
Stages of our workflow
Estimation
domenica 20 novembre 2011
64. OK...but...
Is everything this beautiful?
domenica 20 novembre 2011
65. OK...but...
Is everything this beautiful?
Unfortunatly, no
domenica 20 novembre 2011
66. We found that...
Sales
Contracts
Customers Customer care “Account”
Requests user story, task, bug Developers
(Customers
are all the
same??)
domenica 20 novembre 2011
67. ...changing is not bad!
Customer1
Customer2 Contracts
Developers
Customer3 Customer care Team I
user story, task, bug
New
Customers First contact Sales
Customer4
Developers
Customer5
Customer6 Contracts Team II
Customer care
user story, task, bug
domenica 20 novembre 2011
68. Questions?
#phpday
Filippo De Santis
fd@ideato.it
twitter: @filippodesantis
http://joind.in/4509
domenica 20 novembre 2011
69. References
http://www.poppendieck.com/
Kanban and Scrum - making the most of both
#phpday
http://www.infoq.com/minibooks/kanban-scrum-minibook
http://en.wikipedia.org/wiki/Kanban
domenica 20 novembre 2011