How to be proud when you are done<br />
Mikalai Alimenkou<br /><ul><li>Java Technical Lead/Scrum Master at Zoral Labs
6+ years in software development
4+ years of working by Agile methodologies
Expert in Agile engineering practices
Agile coach at XP Injection</li></ul>Aleksey Solntsev<br /><ul><li>Architect at Infopulse Ukraine
Agile volunteer
Certified Scrum Practitioner
Coordinator of translation of the book "Scrum and XP from the Trenches" and “Kanban and Scrum – making the most of both” i...
Agile coach at XP Injection</li></li></ul><li>Everybody has own “dreams”<br /><ul><li>Latest frameworks
No overtimes
No bug fixing
Clean code
More features
In time delivery
No defects!</li></ul>Manager<br /><ul><li>Goal achievement
Predictable plans
On budget</li></ul>Team<br />Customer<br />
What all of them have in common?<br />With fast delivery<br />And good quality<br />Done product<br />At low price<br />
Why in real life it is not so simple?<br />Whhhyyyy?!!!<br />
“Uncommitted stuff”<br />Can I start testing this new feature?<br />Yes, it is done!<br />But I can’t even build the produ...
“Useless build”<br />Well done! Let’s deploy new build on production server.<br />Not so fast. We need to do integration t...
“Unstable velocity”<br />Well done! Our velocity in the last iteration increased up to 32SP. Let’s use it as base line.<br...
“Unverified tasks”<br />WTF! A new order form is nightmare. It looks like random set of fields and doesn’t accept basic va...
“Forgotten requirements”<br />Guys, as we discussed on the planning meeting, we’ve just started pre-orders program for iPa...
Why this happens?<br />Whhhyyyy?!!!<br />
Hidden conflicts in goals<br />Developers like always implementing interesting features, but customers want working softwa...
And the main reason is …<br />Everybody has his own definition of words ‘done’, ‘fast’, ‘low price’, ‘good quality’! <br />
Let’s start from definition<br />“Definition of Done” is<br /><ul><li>a "contract" between all parties on subject when …
a checklist of valuable activities for …
gates your product has to go through before …</li></ul>… you can label the product “Done“<br />
4<br />mainquestions<br />
How to start?<br />Take from previous project<br />From code quality in mind<br />From business problems and wishes<br />
Start from flow visualization<br />Image from HenrikKniberg book “Scrum and Kanban - making the most of both”<br />
Who should define?<br />Customer<br />Team<br />
When to define?<br />Start<br />
Where to store?<br />Electronic<br />More<br />common<br />More <br />personal<br />Paper<br />
3<br />main formats<br />
Plain list<br />
Different levels of granularity<br />
List categorized by level<br />
Complex structure<br />
3<br />main control principles<br />
Automation<br />Use SVN hook for verify comments in commits<br />Add static analyzer to build<br />
Upcoming SlideShare
Loading in...5
×

How to be proud when you are done

13,009
-1

Published on

Although all of us speak the same language, each of us uses different meaning of words "soon”, "fine” and "done”. That’s why for one developer "I’m done” means that just a moment ago the part of the code with implemented functionality has been successfully executed, while for another developer it means that code has been committed to repository but without checking if build is green or not on continuous integration server. At the same time "done" of developer-perfectionist means totally refactored and optimized code. And only for "black swan”-developer phrase "I'm done“ means that all tests were passed, new functionality was documented on wiki and a new feature was verified by customer on the demo server.

So if you want to decrease a risk of misunderstanding inside a team or between team and customer you should make agreement about common vision of “definition of done“ and then start using it on a daily basis. In order to prevent losing your time and stepping on the hidden rake during discussion of your done criteria we will share our knowledge about creating compact and most effective “definition of done“. We will talk about lifecycle of this document and about approaches that help you to add important items to it. We will discuss doneness on different levels (preplanning, user story and task development, sprint). And of course we won’t forget to tell you how to create “Definition of Done“ which will satisfy not only your team but your customer as well.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
13,009
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

How to be proud when you are done

  1. 1. How to be proud when you are done<br />
  2. 2. Mikalai Alimenkou<br /><ul><li>Java Technical Lead/Scrum Master at Zoral Labs
  3. 3. 6+ years in software development
  4. 4. 4+ years of working by Agile methodologies
  5. 5. Expert in Agile engineering practices
  6. 6. Agile coach at XP Injection</li></ul>Aleksey Solntsev<br /><ul><li>Architect at Infopulse Ukraine
  7. 7. Agile volunteer
  8. 8. Certified Scrum Practitioner
  9. 9. Coordinator of translation of the book "Scrum and XP from the Trenches" and “Kanban and Scrum – making the most of both” into Russian
  10. 10. Agile coach at XP Injection</li></li></ul><li>Everybody has own “dreams”<br /><ul><li>Latest frameworks
  11. 11. No overtimes
  12. 12. No bug fixing
  13. 13. Clean code
  14. 14. More features
  15. 15. In time delivery
  16. 16. No defects!</li></ul>Manager<br /><ul><li>Goal achievement
  17. 17. Predictable plans
  18. 18. On budget</li></ul>Team<br />Customer<br />
  19. 19. What all of them have in common?<br />With fast delivery<br />And good quality<br />Done product<br />At low price<br />
  20. 20. Why in real life it is not so simple?<br />Whhhyyyy?!!!<br />
  21. 21. “Uncommitted stuff”<br />Can I start testing this new feature?<br />Yes, it is done!<br />But I can’t even build the product…<br />Ops, I forgot to commit some files...<br />
  22. 22. “Useless build”<br />Well done! Let’s deploy new build on production server.<br />Not so fast. We need to do integration testing, prepare DB migration scripts, etc. I hope it will be finished in a week.<br />???<br />
  23. 23. “Unstable velocity”<br />Well done! Our velocity in the last iteration increased up to 32SP. Let’s use it as base line.<br />Agree, but we have to make some small fixes, finish testing and update documentation.<br />How will it change <br />our velocity?<br />Let’s say 20.<br />
  24. 24. “Unverified tasks”<br />WTF! A new order form is nightmare. It looks like random set of fields and doesn’t accept basic values.<br />Have somebody tried to use it before assign to me?<br />Don’t panic! I just made a quick fix…<br />
  25. 25. “Forgotten requirements”<br />Guys, as we discussed on the planning meeting, we’ve just started pre-orders program for iPad2. And now our site is extremely slow.<br />John, have you made load and performance testing?<br />Well, but …<br />
  26. 26. Why this happens?<br />Whhhyyyy?!!!<br />
  27. 27. Hidden conflicts in goals<br />Developers like always implementing interesting features, but customers want working software<br />Team want to show productivity, but customers want predictability<br />Developers believe they are perfect, but customers want software without defects<br />Management want to deliver in time, but customers want ready to use software<br />Developers see technical side of the project, but customers see it from end users perspective<br />
  28. 28. And the main reason is …<br />Everybody has his own definition of words ‘done’, ‘fast’, ‘low price’, ‘good quality’! <br />
  29. 29. Let’s start from definition<br />“Definition of Done” is<br /><ul><li>a "contract" between all parties on subject when …
  30. 30. a checklist of valuable activities for …
  31. 31. gates your product has to go through before …</li></ul>… you can label the product “Done“<br />
  32. 32. 4<br />mainquestions<br />
  33. 33. How to start?<br />Take from previous project<br />From code quality in mind<br />From business problems and wishes<br />
  34. 34. Start from flow visualization<br />Image from HenrikKniberg book “Scrum and Kanban - making the most of both”<br />
  35. 35. Who should define?<br />Customer<br />Team<br />
  36. 36. When to define?<br />Start<br />
  37. 37. Where to store?<br />Electronic<br />More<br />common<br />More <br />personal<br />Paper<br />
  38. 38. 3<br />main formats<br />
  39. 39. Plain list<br />
  40. 40. Different levels of granularity<br />
  41. 41. List categorized by level<br />
  42. 42. Complex structure<br />
  43. 43. 3<br />main control principles<br />
  44. 44. Automation<br />Use SVN hook for verify comments in commits<br />Add static analyzer to build<br />
  45. 45. Fixed workflow<br />Task tracking system can help<br />Review<br />Fix and document<br />workflow<br />
  46. 46. Responsible persons<br />Manager<br />Team Lead<br />
  47. 47. How does it work<br /> in real world<br />
  48. 48. Binary state<br />Not done<br />Will be done<br />In progress<br />Nearly done<br />Done<br />
  49. 49. Depends on context<br />End of sprint 1<br />End of sprint 2<br />End of sprint 3<br />week 1<br />week 2<br />week 3<br />week 4<br />week 5<br />week 6<br />week 7<br />week 8<br />End of iteration 1<br />Start of stabilization<br />End of project<br />week 1<br />week 2<br />week 3<br />week 4<br />week 5<br />week 6<br />week 7<br />week 8<br />Traditional <br />approaches<br />PM: Are tasks done?<br />Devs: No.<br />PM: OK, go on. But don’t <br /> forget about new features.<br />PM: Done?<br />Devs: We hope so.<br />End of project<br />Scrum<br />PM: Done?<br />Devs: Yes.<br />PM: Done?<br />Devs: No yet.<br />End of project<br />week 1<br />week 2<br />week 3<br />week 4<br />week 5<br />week 6<br />week 7<br />week 8<br />Kanban<br />PM: Done?<br />Devs: Of course!<br />PM: Done?<br />Devs: Of course!<br />
  50. 50. 7<br />main problems<br />
  51. 51. No common understanding<br />
  52. 52. No commitment<br />
  53. 53. Unrealistic<br />
  54. 54. Too ideal<br />
  55. 55. Partially done tasks are accepted<br />Done?<br />
  56. 56. "Broken windows" principle<br />
  57. 57. “Development” only<br />
  58. 58. Let’s try to build Definition of Done!<br />
  59. 59. Conclusions<br />Common vocabulary <br />helps us to avoid hidden <br />conflicts …<br />… and work together as a <br />team to archive our goals! <br />
  60. 60. Introduce “Definition of Done” ASAP to avoid broken expectations<br />All parties must take part in definition process<br />Automate as much as possible<br />Don't lie yourself, DONE means DONE<br />Learn from your mistakes<br />Inspect and adapt continuously<br />
  61. 61. Q&A<br />Email us:<br />mikalai.alimenkou@xpinjection.com<br />aleksey.solntsev@xpinjection.com<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×