© 2010 Tim Bombosch, PhD
Tim Bombosch, [email protected]
September 30, 2010
Planning, Estimating, and ManagingDocumentation Projects in an Agile Environment
LavaCon 2010San Diego, CA
© 2010 Tim Bombosch, PhD
Agenda What is Agile development?
Principles Methodologies Practices
Challenges and opportunities for technical communicators
Agile information development Planning Estimating Tracking
Discussion
© 2010 Tim Bombosch, PhD
What is Agile Development?
Agile Manifesto’s four core values Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
12 Agile values (my short summary) Collaborate with the customer Accept and welcome change, even late in projects Recognize that it is difficult to define requirements and
recognize obstacles in advance Promote teamwork, collaboration, and agility
throughout the project life cycle
© 2010 Tim Bombosch, PhD
What are Agile Development Methodologies?
Scrum Iterative development cycles called sprints Daily standup meetings Complete development process in each sprint
Extreme programming Similar to Scrum Coding in pairs Strong emphasis on debugging for each release
Feature driven development Develop feature by feature, not in sprints
© 2010 Tim Bombosch, PhD
Key Scrum Terms
Planning terms Roles and Responsibilities
Sprints Product owner
Scrum Scrum master
Velocity Customer
Points Developer
Poker Information developer?
Artifacts Requirements
Burndown chart Stories
Product backlog Themes
Sprint backlog Epics
© 2010 Tim Bombosch, PhD
Initial Planning with Scrum
Define and prioritize broad list of "user stories" with entire team
Estimate effort for each story in terms of “points”
Prioritize requirements Develop rough schedule
© 2010 Tim Bombosch, PhD
Sprints Sprint kickoff
Determine last iteration's velocity Update the burndown rate Start with high priority requirements first Respond to changes to stories, schedules, estimates Assign stories to team and individual in terms of points
Daily scrum All team members 10-15 minutes Each member gives status update Update activity on project board Schedule time to resolve issues
Each sprint is a complete release cycle
© 2010 Tim Bombosch, PhD
Challenges for Technical Communicators
Roles Writers Managers Project managers
Processes Project planning Information development Editing Tools Training
© 2010 Tim Bombosch, PhD
Opportunities for Technical Communicators
Writers Expand skills Integrate and collaborate better with development team Focus on user
Managers Hire different writers Expand scope of influence Experiment
Project managers New skills Changing role--not necessarily confined to tech pubs role Collaborate and facilitate
© 2010 Tim Bombosch, PhD
Initial Conclusions
Embrace Agile! Adopt Agile methodologies for info
development! Focus on the user! Expand sphere of influence! Advocate for your area of expertise! Make it hard to outsource technical writing!
© 2010 Tim Bombosch, PhD
Planning Fundamentals
Planning is everything, plans are nothing! As projects progress, so does project
knowledge grow Better understanding of user stories Better estimates of effort Able to correct early schedule estimates
Express the schedule as a range of iterations, not a firm date
Example: 14-20 iterations Reset expectations as project knowledge grows Reset when stories are added or subtracted
© 2010 Tim Bombosch, PhD
Early Iteration Planning Documentation is a user story too! Agile information plan
Content matrix Titles Audiences Delivery method
Packaging and localization requirements User analysis/information architecture
Map information stories to project stories Personas Use cases Scenarios
Release as early user documentation
© 2010 Tim Bombosch, PhD
Mid-Project Iteration Planning
Develop feature documentation Update user analysis Update earlier feature documentation Start
Installation Reference Conceptual information
Produce documentation prototypes for each sprint
Act as QA for user expectations!
© 2010 Tim Bombosch, PhD
Late-Project Iteration Planning
Polish, review, complete information development
Start prototyping production output Stay agile! Prepare for launch:
Edit Production Localization Packaging
© 2010 Tim Bombosch, PhD
Estimating
What is an appropriate level of estimating? Point of diminishing return Too much analysis may even be more inaccurate!
What are sources of estimates Expert opinion Analogy Disaggregation
We are most accurate when we estimate size relative to other items, not in absolute sizes
© 2010 Tim Bombosch, PhD
Planning Poker
How big is the story in terms of points? Each member must estimate
Write down number of points Show answer at same time “Reasonable time limit” Defend estimates Repeat until a general consensus emerges
Suggested point spreads: 1, 2, 4, 8 1, 2, 3, 5, 8
Sand buckets, not water buckets
© 2010 Tim Bombosch, PhD
Tracking Progress
Velocity = number of story points completed in an iteration
How to give credit for work complete Only if 100% complete and accepted Velocity will suffer for one iteration Velocity will increase in the next Over time, the trend will smooth out
© 2010 Tim Bombosch, PhD
Velocity, Re-planning, and Re-estimating
What if something takes longer or shorter than expected?
Don’t change the estimates, use the velocity to re-plan the delivery dates
Re-estimating Not necessary if stories sizes relative to each other has
not changed Necessary if you recognize that the size of a story was
not sized properly relative to other stories
© 2010 Tim Bombosch, PhD
Agile Structured Writing
Pro’s Topic oriented Quick production Quick localization
Cons Inflexible May not fit the organizational culture
© 2010 Tim Bombosch, PhD
Presentation Inputs
Experience Discussions on STC management SIG Survey Literature review
Mike Cohn James Highsmith Internet
Draft of ISO standard for managing documentation in agile environments
I’m happy to share sources
Top Related