Scrum And The Enterprise


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Scrum And The Enterprise

  1. 1. Scaling Scrum Adapted from The Enterprise And Scrum by Ken Schwaber
  2. 2. James Peckham <ul><li>In IT since 2003 </li></ul><ul><li>Support, Infrastructure, Networking, Development, Testing. </li></ul><ul><li>C#, Web services, WCF, WPF, ASP.NET, C++, Java, LPC, Lua, DirectX, XNA </li></ul>
  3. 3. Organizational Practices <ul><li>Strategy </li></ul><ul><li>Operations </li></ul><ul><li>Projects </li></ul><ul><li>Lean </li></ul>
  4. 4. Strategic Plans <ul><li>Existing organization product owner voice only considers 10,000 foot view items </li></ul><ul><li>Work items all become priority #1! </li></ul><ul><li>Incremental spans quarters instead of rapid feedback loops needed for true agility and to expose real roadblocks. </li></ul>
  5. 5. Operations work <ul><li>Operations work is done by development departments inside of the project work loop </li></ul>
  6. 6. The meeting madness <ul><li>A meeting to communicate some ideas to a manager </li></ul><ul><li>Who meets with the worker to communicate the ideas to worker </li></ul><ul><li>Who meets with vendor to communicate ideas with vendor </li></ul><ul><li>Who meets with… </li></ul>
  7. 7. Lean <ul><li>Cutting back on waste </li></ul><ul><li>Closer communication with requestor to the worker creating the product. </li></ul><ul><li>Closer communication with Ops those doing the work. </li></ul><ul><li>Functional managers see their roles change </li></ul><ul><ul><li>Less command </li></ul></ul><ul><ul><li>More removing organizational roadblocks </li></ul></ul><ul><ul><li>Making sure the worker is in contact with the source of work. </li></ul></ul><ul><li>Some functional managers may find themselves “bored” but given opportunity to monitor and improve their team. </li></ul>
  8. 8. Operational Work <ul><li>Driven By network operations </li></ul><ul><li>Driven by support ticketing </li></ul><ul><li>Driven by work orders </li></ul><ul><ul><li>Work orders better communicated to workers who own them. </li></ul></ul><ul><li>Driven by Configuration Management System </li></ul>
  9. 9. Project work <ul><li>Baseline hours set by scrum team velocities and backlog item sizes </li></ul><ul><li>Enterprise wide ‘ideal day’ = story point </li></ul><ul><li>Enterprise wide ‘done’ </li></ul><ul><ul><li>Unit test </li></ul></ul><ul><ul><li>Security scan </li></ul></ul><ul><ul><li>Code review </li></ul></ul><ul><ul><li>Documentation level/template </li></ul></ul><ul><li>Managed by enterprise backlog </li></ul>
  10. 10. Enterprise Backlog <ul><li>Arranging work </li></ul><ul><ul><li>Enterprise </li></ul></ul><ul><ul><li>Line of business </li></ul></ul><ul><ul><li>Operation </li></ul></ul><ul><ul><li>Product </li></ul></ul><ul><ul><li>Activity </li></ul></ul><ul><ul><li>System </li></ul></ul><ul><ul><li>Component </li></ul></ul><ul><ul><li>Requirement </li></ul></ul>
  11. 11. Enterprise Product backlog
  12. 12. Engineering practices <ul><ul><li>Integrating often </li></ul></ul><ul><ul><ul><li>Integrate at least once per sprint (30 days) </li></ul></ul></ul><ul><ul><ul><li>Difficult for engineering organizations especially those who have long running regression tests. </li></ul></ul></ul><ul><ul><li>Multi layer system work organized by functionality </li></ul></ul><ul><ul><ul><li>Create a local version utilizing existing infrastructure </li></ul></ul></ul><ul><ul><ul><li>Refactor to use new infrastructure development </li></ul></ul></ul>
  13. 13. Integration of Multiple-layer systems <ul><li>Layer vs tier </li></ul><ul><li>Interface changes need communicated at scrum meeting(standup) in scrum of scrums </li></ul>
  14. 14. <ul><li>A team focused around each area of the system </li></ul><ul><li>Or each tier </li></ul><ul><li>An integration layer team (if not the UI team) </li></ul>
  15. 15. Integrating with non-scrum work <ul><li>Stubbed/simulated systems </li></ul><ul><li>Simulated interfaces act as ongoing update to the Statement of work with the provider. </li></ul>
  16. 16. People practices <ul><li>Organizing people to do enterprise work </li></ul><ul><li>Team creation </li></ul><ul><li>Team work </li></ul><ul><li>How people are managed </li></ul><ul><li>Functional expertise </li></ul><ul><li>Compensation </li></ul><ul><li>Extra managers </li></ul><ul><li>Teams with distributed members </li></ul><ul><li>Scarce skills needed by many teams </li></ul>
  17. 17. 30 years in the making <ul><li>Functional managers </li></ul><ul><li>Departmentalized </li></ul><ul><li>Matrix organizations </li></ul><ul><li>Consider this on your own merit </li></ul><ul><li>Then consider steps needed to adopt </li></ul>
  18. 18. Organizing people to do the work
  19. 19. Organizing the people <ul><li>The integration team is developing integration tests to verify all of the functionality integrates properly. </li></ul><ul><li>They’re the final say in whether the software is Demo-able or not. Generally a group of team leads from the different functional areas. </li></ul>
  20. 20. Team creation <ul><li>Scrum master and product owner first </li></ul><ul><li>People who have succesfully worked together previously </li></ul><ul><li>People who understand the product or business domain </li></ul><ul><li>People who know the selected technology </li></ul><ul><li>People who can fulfill the ‘done’ requirement. For example a tech writer for documentation. </li></ul>
  21. 21. Self directed <ul><li>45 crossfunctional ‘developers’ at Woodgrove bank </li></ul><ul><ul><li>They were all thrown in a room with no managers </li></ul></ul><ul><ul><li>Told follow scrum rules to organize into teams </li></ul></ul><ul><li>Trust from team that management wasn’t ‘selling them down the river’ </li></ul><ul><li>Trust from management </li></ul><ul><li>Self organizing will flourish </li></ul>
  22. 22. Team Work <ul><li>Forming </li></ul><ul><li>Storming </li></ul><ul><li>Norming </li></ul><ul><li>Performing </li></ul>
  23. 23. forming <ul><li>Decide how they’ll get requirements </li></ul><ul><li>Decide how they’ll test </li></ul><ul><li>Formed rules of etiquette (Working agreements/values) </li></ul><ul><li>Formed rules on engineering practices </li></ul><ul><li>Tentatively formalize sprint process for turning backlog items into something “Done” </li></ul>
  24. 24. storming <ul><li>Team needs trained on resolving conflicts. </li></ul><ul><li>Conflicts about how things are done </li></ul><ul><li>Conflicts about who does things </li></ul><ul><li>They also need to be able to identify the source of their conflicts and not blame </li></ul><ul><ul><li>No ‘You’ language, try “It” or “we” </li></ul></ul><ul><ul><li>No “But” language, try “and” </li></ul></ul>
  25. 25. Norming and performing <ul><li>Performing is not permanent. </li></ul><ul><li>Storming will arise from time to time. </li></ul><ul><li>When it does they will need the skills to identify the cause and resolve it. </li></ul>
  26. 26. How people are managed <ul><li>The team manages it self </li></ul><ul><li>The product owner sets goals </li></ul><ul><li>The team commits </li></ul><ul><li>The scrum master ensures the ‘framework’ of scrum is followed </li></ul><ul><li>The rules of the organization cannot be ignored. </li></ul><ul><ul><li>Enterprise “Done” </li></ul></ul>
  27. 27. The product owner <ul><li>Responsible for node one of the tree and setting goals. Responsible for ROI </li></ul>
  28. 28. The scrum master <ul><li>At node 1 the scrum master should be educating the product owner on how to maximize ROI utilizing the scrum framework </li></ul><ul><li>Scrum master should be making sure all scrum masters in below nodes are encouraging self direction. </li></ul>
  29. 29. Functional expertise <ul><li>How do I keep functional skills sharp now that functional managers are scrum masters? </li></ul><ul><li>You could let ‘the team decide’ or… </li></ul>
  30. 30. 20% to ‘self research’ <ul><li>Or allow them to dedicate 20% to self research and improving themselves. </li></ul><ul><ul><li>Don’t just say “Seek training” </li></ul></ul><ul><ul><li>Remember your teacher: “Write me a paper” and you said “How long does it have to be?” </li></ul></ul><ul><li>Be surprised like 3m and Google were! </li></ul><ul><ul><li>Gmail… PostIts…. </li></ul></ul>
  31. 31. compensation <ul><li>Total incentive amount pooled and sent down through the teams via the product owner. </li></ul><ul><li>Meeting commitments </li></ul><ul><li>Teamwork </li></ul><ul><li>Collaboration </li></ul><ul><li>Communication </li></ul>
  32. 32. Extra managers <ul><li>Some managers left over after all were assigned as scrum masters </li></ul><ul><li>Idle hands are the devil’s workshop </li></ul><ul><li>Managers attending sprint planning </li></ul><ul><ul><li>Committing for team members </li></ul></ul><ul><li>Managers assigning work </li></ul><ul><li>Managers making sure there was no slack time </li></ul>
  33. 33. Teams with distributed members <ul><li>We can’t collocate our team  </li></ul><ul><ul><li>Can you simulate it? Yes! </li></ul></ul><ul><ul><ul><li>Intercom/immediate chat </li></ul></ul></ul><ul><ul><ul><ul><li>Teamspeak </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Ventrilo </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Voip systems </li></ul></ul></ul></ul><ul><ul><li>Sync up with representatives from each office. </li></ul></ul><ul><ul><li>Let the team brainstorm! </li></ul></ul>
  34. 34. Scarce skills needed by many teams <ul><li>Cross-training </li></ul><ul><li>Share time </li></ul><ul><li>Let the team decide </li></ul><ul><li>Don’t let the shared resource work in isolation. </li></ul><ul><ul><li>Their knowledge won’t get shared </li></ul></ul><ul><ul><li>No accountability to a team </li></ul></ul>
  35. 35. Relationship between Product manager and the dev team <ul><li>Shortening the time to release through managing value </li></ul><ul><li>Just do it </li></ul><ul><li>The infrastructure </li></ul><ul><li>Accelerators to recovery </li></ul><ul><li>The mother of all problems </li></ul>
  36. 36. Delivering value <ul><li>Backlog items can be measured in ROI </li></ul><ul><li>Product owners can determine what value they are delivering and deliver highest value first </li></ul><ul><li>Projects ending before the unused features even get delivered… move on to other projects. </li></ul>
  37. 37. Relative valuation <ul><li>1000 ping pong balls </li></ul><ul><li>Place them into all the backlog items of the project. </li></ul>21 32 item 33 12 50 item 32 … … … 13 60 item 9 22 60 item 8 20 65 item 7 13 70 item 6 34 70 item 5 13 74 item 4 21 75 item 3 34 75 item 2 13 80 item 1 effort value backlog
  38. 38. Earned business value
  39. 39. Just do it <ul><li>Time honored tradition </li></ul><ul><li>Tells managers, devs aren’t on board! </li></ul><ul><li>Devs cut quality! </li></ul><ul><li>Speed is improved up to 3x! </li></ul><ul><li>Maintenance cost can go upwards of 4x more. </li></ul><ul><li>Decrease value of enterprise asset </li></ul>
  40. 40. The core <ul><li>The core constraint </li></ul><ul><li>How did this happen? </li></ul><ul><li>The product owner meeting! </li></ul><ul><ul><li>All the core engineers and product owners in the room </li></ul></ul>
  41. 41. Accelerators <ul><li>How do I move this beast faster! </li></ul><ul><li>Remediate the core </li></ul><ul><ul><li>Develop automation </li></ul></ul><ul><ul><li>Form teams and refactor it aggressively </li></ul></ul><ul><li>Strangle the core </li></ul><ul><ul><li>As bugs are fixed refactor, clean, and heavily comment code </li></ul></ul><ul><li>Rewrite the core </li></ul><ul><ul><li>Wee! </li></ul></ul><ul><li>Prop up the core </li></ul><ul><ul><li>Live with it longer but put automation around it to tell when it breaks. </li></ul></ul><ul><li>Drain the pond </li></ul><ul><ul><li>Rebuild with new tech and good design with test harnesses. </li></ul></ul>
  42. 42. How did this happen? <ul><li>“just do it” </li></ul><ul><li>Bad engineering practices </li></ul><ul><li>Choice to hit market fast </li></ul>
  43. 43. How can we see when this is happening? <ul><li>Trending of slower velocities over time. </li></ul>
  44. 44. google <ul><li> </li></ul><ul><li>I don’t know steve but let’s talk about what he points out as ‘signs’ of good agility. </li></ul>
  45. 45. Signs of good agility in play <ul><li>No true managers, just team leads </li></ul><ul><li>Peer reviews influence the team </li></ul><ul><li>Goals are communicated through an incentive system (I would imagine an enterprise product backlog with highest value giving highest incentive for completing) </li></ul><ul><li>Meetings are reduced to 1-3/week </li></ul><ul><li>Meetings only happen in the middle of the day so people can do what they need to do early or late. </li></ul><ul><ul><li>It also ensures that late or early comers always get ‘meetings’ that are needed </li></ul></ul><ul><ul><li>Note they have free meals for everyone so that would help the meeting during mid-day situations. </li></ul></ul>