Information Development Projects Managing Agile Information Development Projects STC-East Bay February, 2011
Agenda What is Agile development? Principles Methodologies Practices Challenges and opportunities for technical communicators Agile information development Planning Estimating Tracking Discussion
What is Agile Development? Brief History 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
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
Key Scrum Terms Planning terms Roles and Responsibilities Artifacts Sprints Product owner Scrum Scrum master Velocity Customer Points Developer Poker Information developer? Artifacts Requirements Burndown chart Stories Product backlog Themes Sprint backlog Epics
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 Communicate best and worst case schedule
Sprints Each sprint is a complete release cycle 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 individuals 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
Challenges for Information Developers Writers Collocation and collaboration No specs to write from Managers Resource management Need different types of writers Project managers Much different planning and execution processes
Challenges to Information Development Project planning Different planning documents Planning and reconfiguring throughout the project Hard to size efforts Information development Iterative development and high level of change Review processes change Editing Teams are more autonomous Timing and frequency of edits may change
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
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.
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
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
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!
Late-Project Iteration Planning Polish, review, complete information development Start prototyping production output Stay agile! Prepare for launch: Edit Production Localization Packaging
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
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
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
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
Agile and Structured Writing Pro’s Topic oriented Quick production Quick localization Cons Inflexible May not fit the organizational culture
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