|
I have received permission from the publisher to begin posting the draft chapters. Please find the working table of contents below. It is in flux and some items I expect to fall off when new ones get added. Enjoy!
The book will be divided into six parts, each one containing tips targeted to a specific audience: everyone, management, program and project managers, the team, the product owner, and customers and stakeholders. Each part will have its own introduction, with a brief overview of the role that audience plays (and should not play) in the overall agile process. Each tip will range between two and five pages. Many tips will contain graphics. Given that there will be approximately 101 tips, the page count will be approximately 300-400 printed pages.
Part 1: Tips for Everyone Part Introduction (1-2 pages) Agile 1. What is the “Agile” methodology? 2. Is Agile just a collection of practices? 3. Can I call myself Agile if I do not do the practices? 4. Can I call myself Agile if I only do the practices? 5. How can I modify Agile to fit my unique business? 6. When is Agile right for me? The Stress of it All 7. Is it always going to be this hard? 8. Am I going to see performance right out of the gate? 9. How in the world can we possibly deliver a working piece of software in a month, or less? 10. I don’t like what I’m finding in this; can we quit and go back to waterfall?
Part 2: Tips for Management Part Introduction (1-2 pages) Focus on Career Path and Rewards 11. What does the career path look like in Agile? 12. What does an individual performance review look like for an Agile team? 13. I used to be a team lead but now my team owns all the decisions what do I do? 14. How do we judge the individual performers on the team when the emphasis is on team accountability? 15. How should I financially reward teams? 16. What are alternative reward methods for teams? 17. What are some ways to address the fear of failure (reward for failing early)? 18. I’m an architect, what’s my role on an agile team? Company Structure & Potential Reorganization 19. How do we address company cultural issues – building a learning organization, is it possible? 20. How do I mandate that everyone uses agile throughout my organization? 21. Do we need to restructure our organization to adopt Agile methods?
Part 3: Tips for Program and Project Managers Part Introduction (1-2 pages) General Tips 22. What are some ways to structure contracts in an Agile environment? 23. Our customer is not as involved as we would like, what do we do? 24. What is my role in working with the Product Owner? 25. How do I manage documentation in Agile projects? 26. What does a good first Agile project look like? 27. We are going to use Scrum; who should be the ScrumMaster? Managing Requirements & Planning 28. I like requirements. What is all this story stuff? 29. What is velocity and why do I care? 30. How many ideal hours should we get done each day? 31. How long should an iteration (or Sprint) be? 32. We’ve not completed anything this iteration (or Sprint) should we extend it? 33. What happens if the Product Owner stops maintaining the Product Backlog? 34. How do I prioritize and list non functional requirements? 35. Is it OK for the architect, or development leads, to build the iteration backlogs? 36. Do I have to do release planning in Agile? 37. What are the benefits of release planning? 38. How often should we revise the release plan? 39. Who maintains the release plan? 40. Is it OK to have the release plan change every iteration? 41. I’ve heard that, if for no other meeting, we should get everyone together for release planning face-to-face. We are in different countries, is there another way? Working with the Team 42. How do I know if my team is ready for Agile? 43. What is a high performing team and how can I build one? 44. I do not have a dedicated team, what can I do? 45. My organization has a lot of overhead that takes time away from the team, what do I do? 46. My team is in different time zones / offices. What can I do to get them to work together? 47. How do I run an iteration planning meeting if the team is not in the same room? 48. What is sustainable pace? 49. How do I manage against team burnout? 50. What are some ways to share information between different Agile teams? 51. People keep showing up late to the daily standup, what do we do? 52. Do we need to have a daily standup meeting every day? 53. I have a disruptive team member who is crucial to the company, what should I do? 54. How do I get people off the team if management won’t support me? 55. Half the people on the team do not support Agile; the other half do. What can I do?
Part 4: Tips for the Team Part Introduction (1-2 pages) On Being a Team 56. We are a new team and all we do is nag, nag, nag. Will this ever end? 57. I’m a developer, I don’t write tests. That work is for testers. I write code. 58. Who owns the iteration (or Sprint) backlog? 59. What is collective ownership? 60. Is a daily meeting required and do we really need to stand up? 61. How do we know when we are done? 62. Our meetings last forever because we can’t decide; what are some techniques to come to a decision quickly? 63. People keep talking about “trust” why do I need trust to be on an agile team? Shared Workspace 64. We do not have a collocated team space, what do we do? 65. People want to work alone in their offices and cubes, is that OK? 66. What is a bullpen and why do we want one? 67. Ack! Working in the team space is stressful! What do we do? 68. What if I like loud music, garlic and onions and don’t plan to change? 69. How do we deal with lighting? 70. My team all wears headphones in the team space and there is no communication, what do we do? Working in Pairs 71. What are some ways to set up pairing workstations? 72. What are some considerations to think about when we start pairing? 73. What if my head hurts at the end of the day and I don’t want to pair? 74. I arrive to work at 7 a.m. and the team shows up at 11 a.m., what can we do to get on the same page? 75. What are some techniques for pairing when the pair is not in the same room? 76. How do I prevent my pairing partner from “checking out?” 77. Promiscuous Pairing? I thought this was a book about Agile. Estimation and Iteration Planning 78. When does the team estimate the Product Backlog? 79. What do we do if we have stories that are not estimated in the iteration planning meeting? 80. I’ve read the rules, but tell me, how much time should we really spend on iteration planning? 81. What do we do with new work discovered during the iteration? 82. How much of the product backlog should we estimate, and when do we do it? 83. What do we do if we need to carry task items and stories over from the previous iteration? 84. How do we plan for sustained engineering problems (live service outages) in our backlogs? Coding and Automation 85. What happens if I’m going to write my unit tests after I’m done coding (and that’s that)? 86. Do we need to automate our tests? 87. Who automates our tests? 88. Who runs all these automated tests and when? 89. What is TDD and why do I care? 90. What is refactoring and why do I care? 91. How can we reduce the amount of time spent refactoring? 92. What is continuous integration? How do I do it? 93. How do I start coding if I don’t have a design? 94. Should I have a design (sprint) iteration first? 95. What about architecture? Working with Product Owners 96. We cannot get the Product Owner to commit to the role, what do we do? 97. Our estimates are continually turned into commitments that we did not make. What are some techniques to help prevent this? 98. We are afraid to say “no to more work” when the addition will cause us to work beyond a sustainable pace. Managing Bugs 99. How do we manage bugs in an Agile project? 100. How do we prioritize bugs? 101. How do bugs get addressed, especially since we have to deliver new functionality every iteration? 102. Is it OK to put off our bugs until the end of the project? 103. When should we set up our “bug fixing” iteration?
Part 5: Tips for the Product Owner Part Introduction (1-2 pages) On being the Product Owner 104. Am I the one driving the project? 105. Do I always need to be available to the team? 106. I’m worried about the progress of the team. What are the warning signs I should be looking for? Dealing with Customers 107. What role does the customer play? 108. When do I meet with customers to gather stories? 109. Should I gather all stories up front or just what is needed by the team? 110. How do I communicate what the team has committed to for a Sprint or iteration? 111. Is it my role to decide for the customer or do I bring them to <gasp> consensus? 112. What are some techniques for gathering stories? 113. How do I get my customers to write acceptance tests? 114. My product has thousands of customers. Do I just pick one? 115. What do I do with a customer who dictates technical architecture?
|