- Scrum = agile development approach that emphasizes close communication through daily stand-up meetings.
- Scrum master = team member who facilitates scrum meetings, communicates outside the team, and works to solve blocks.
- Iteration = 1-4 week stretch during which a full software development cycle occurs; begins with planning and ends with a demo.
- Backlog = repository for all requirements and wish list items. (tool to manage tasks = Xplanner)
- Capacity = maximum amount of hours a team member can work during one iteration.
No more specs:
- Moving from specs to short "user story" documents
- Allows for easier refinement and rework upon customer feedback
- Helps floating writers avoid bogging down in lengthy specs when they are brought on to the project
- Lean heavily on paper prototyping with screenshots (click-throughs)
Use 3 doc reviews:
- first draft = technical review of new content specific to that iteration only, before story is closed
- approval draft = stakeholder review of entire doc set, with sign-off, during hardening iteration; reduces burden on individual writers
- quality edit draft = internal proofreading before publishing
Scrum requires detailed communication from all team members
- “I’m working on the installer.” -> “I’m working on the new installer screens that contain user credentials for accessing the database. I need help with text on these new screens, so I’ll be coming to talk to Info Dev later today or tomorrow about this.”
- “I’m running test cases.” -> “I’m running test cases for Feature X. I’m about 75% done with those, but can’t get the modify function to work, so I’m blocked on those test cases.”
- “I’m creating the help for Feature X.” -> “I am about done creating the help structure for the wizard Feature X uses. Developer Sally, I’ll need to show you what I did in the mapping file so we can hook up the help to the wizard page code.”
Planning the Release
- Do resource planning per iteration.
- Have a manager or coordinating lead level resources across projects.
- Ensure approval draft comes after Feature Complete.
- Have documentation sections reviewed during active iterations.
- Ensure quality edit draft occurs during a hardening iteration.
- Work on doc-specific tasks and bugs in early iterations.
User Story = software requirement that defines what is to be built, has a priority in the backlog, and relates to others to make up a larger feature/themeBetter user stories: INVEST
- Independent – Can be worked on without pulling in other stories, can be scheduled in any order
- Negotiable – Allows flexibility with engineering team, implies it is understandable (easy to pick up)
- Valuable – Frames stories from customer perspective
- Estimatable – Allows lead/manager to pull floating writers on to project based on their capacity and estimate of time needed for story
- Sized appropriately – Lets floating writers focus on smaller pieces and move on and off project more smoothly
- Testable – Lets floating writers see what the feature is supposed to do upfront and can write more thorough documentation upfront
- Specific – Helps in understanding and prevents overlap, which is useful when pulling writers on and off projects from iteration to iteration.
- Measurable – Helps floating writers know when to mark the task as complete so they can move on to other projects if needed.
- Achievable – Helps determine if task is realistic.
- Relevant – Helps determine if task relates to fulfilling the user story, thus contributing to the release.
- Time-boxed – Helps floating writers know how much work remains and whether the task will be done within the iteration.
When straddling projects, scrum selectively
- Only attend scrums that pertain to your highest priority project.
- Ask the scrum master to email status for the meetings to keep you in the loop.
- Ensure you have a presence on your team so your team doesn’t forget you when you’re not there.
Scoping effort and scheduling
- Revisit previous iteration estimates.
- Block out 20% for vacation, non-iteration work, meetings, planning, etc.
- Do not include the first or last day of the iteration.
- Ensure Development finishes early so testers and writers can finish up before the iteration ends.
- Apply a standard number of hours per user task, based on the level of source material.
- Compare hours required to complete tasks to total hours of team capacity.