STC2008 notes: Surviving agile as a floating writer

This STC 2008 session shared the processes and tips used by NetIQ writers, who straddle multiple sprints and products.

Terms:

  • 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:

  1. first draft = technical review of new content specific to that iteration only, before story is closed
  2. approval draft = stakeholder review of entire doc set, with sign-off, during hardening iteration; reduces burden on individual writers
  3. 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/theme

  • Better user stories: INVEST
  1. Independent – Can be worked on without pulling in other stories, can be scheduled in any order
  2. Negotiable – Allows flexibility with engineering team, implies it is understandable (easy to pick up)
  3. Valuable – Frames stories from customer perspective
  4. Estimatable – Allows lead/manager to pull floating writers on to project based on their capacity and estimate of time needed for story
  5. Sized appropriately – Lets floating writers focus on smaller pieces and move on and off project more smoothly
  6. Testable – Lets floating writers see what the feature is supposed to do upfront and can write more thorough documentation upfront
  • Better user stories: SMART
  1. Specific – Helps in understanding and prevents overlap, which is useful when pulling writers on and off projects from iteration to iteration.
  2. Measurable – Helps floating writers know when to mark the task as complete so they can move on to other projects if needed.
  3. Achievable – Helps determine if task is realistic.
  4. Relevant – Helps determine if task relates to fulfilling the user story, thus contributing to the release.
  5. 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.