Planning, Estimating, Managing Documentation in Agile Environments Bombosch

20
© 2010 Tim Bombosch, PhD Tim Bombosch, PMP [email protected] September 30, 2010 Planning, Estimating, and Managing Documentation Projects in an Agile Environment LavaCon 2010 San Diego, CA

description

This presentation introduces core concepts of Agile development and applies them to product documentation development.

Transcript of Planning, Estimating, Managing Documentation in Agile Environments Bombosch

Page 1: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 2010 Tim Bombosch, PhD

Tim Bombosch, [email protected]

September 30, 2010

Planning, Estimating, and ManagingDocumentation Projects in an Agile Environment

LavaCon 2010San Diego, CA

Page 2: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 3: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 4: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 5: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 6: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 7: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 8: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 2010 Tim Bombosch, PhD

Challenges for Technical Communicators

Roles Writers Managers Project managers

Processes Project planning Information development Editing Tools Training

Page 9: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 10: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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!

Page 11: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 12: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 13: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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!

Page 14: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 15: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 16: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 17: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 18: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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

Page 19: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 2010 Tim Bombosch, PhD

Agile Structured Writing

Pro’s Topic oriented Quick production Quick localization

Cons Inflexible May not fit the organizational culture

Page 20: Planning, Estimating, Managing Documentation in Agile Environments Bombosch

© 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