20
Agile Development Problems and Process March 24, 2010 Denise Kadilak Information Architect – Blackbaud, Inc. Agile Development: Problems and Process

Agile development: Problems and Process

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Agile development: Problems and Process

Agile DevelopmentProblems and Process

March 24, 2010

Denise Kadilak

Information Architect – Blackbaud, Inc.

Agile Development: Problems and Process

Page 2: Agile development: Problems and Process

Denise Kadilak| Page #2 © 2010 Blackbaud

Agile Development

Context

Blackbaud is the leading global provider of software and related services designed specifically for nonprofit organizations

Headquartered in Charleston, South Carolina, with operations in Cambridge, Massachusetts; San Diego California; Toronto, Ontario; Glasgow, Scotland; London, England; and Sydney, Australia.

The company employees about 2,000· Documentation team comprised of 18 writers and one manager

• Two writers based in San Diego• Two remote writers: one in Cleveland, OH and one in Richmond, VA

Page 3: Agile development: Problems and Process

Denise Kadilak| Page #3 © 2010 Blackbaud

Agile Development

Overview

Blackbaud implemented an Agile-based development process about 15 months ago

Started slow with just a couple sprint teams Gradually over a several-month period each of the company’s product lines was

added to the new process and new sprint teams created We now have dozens of sprint teams covering six overlapping product lines that

also often include different release dates Not all documentation projects are included in the sprint workflow We still have a few “Scrum but” teams

Page 4: Agile development: Problems and Process

Denise Kadilak| Page #4 © 2010 Blackbaud

Agile Development

Blackbaud’s Agile Method

Sprint teams· Product manager (optional)· Program manager (optional)· Developer(s)· QAA(s)· Designer(s)· Writer· Support representative (optional)

Page 5: Agile development: Problems and Process

Denise Kadilak| Page #5 © 2010 Blackbaud

Agile Development

Blackbaud’s Agile Method

Product owner role· Define features of product, decide release date and content· Responsible for ROI· Prioritize features· Accept or reject work results

Scrum master role· Ensure team is fully functional and productive· Enable cooperation across all roles/remove barriers· Shield team from external interferences· Ensure process is followed

Page 6: Agile development: Problems and Process

Denise Kadilak| Page #6 © 2010 Blackbaud

Agile Development

Blackbaud’s Agile Method

Extreme Programming method· Perform most software development activities simultaneously· Work in two- to six-week sprints · Work planned based on backlog items (work items) identified and prioritized by the

product owner

Page 7: Agile development: Problems and Process

Denise Kadilak| Page #7 © 2010 Blackbaud

Agile Development

Blackbaud’s Agile Method

Each Sprint:· Begins with a planning session

• Determine sprint team capacity• Identify work items to be addressed (from prioritized backlog)• Identify buffer work items

· Sprint team members build tasks based on stories (backlog item) • Each task item lists

• Task to be completed• Owner• Estimated hours necessary to complete the task

» Current status» Work hours remaining

Page 8: Agile development: Problems and Process

Denise Kadilak| Page #8 © 2010 Blackbaud

Agile Development

Blackbaud’s Agile Method

Each Sprint (continued):· Team members regularly update their tasks, tracking the sprint’s progress· Team members meet for daily stand-ups, reporting:

• What they worked on yesterday• What they plan to work on today• Any impediments

· Additional meetings added as necessary

Page 9: Agile development: Problems and Process

Denise Kadilak| Page #9 © 2010 Blackbaud

Agile Development

Blackbaud’s Agile Method

Each Sprint (continued):· Ends with:

• Internal demonstration of completed tasks• Retrospective meeting

• What went right• What went wrong

Page 10: Agile development: Problems and Process

Denise Kadilak| Page #10 © 2010 Blackbaud

Agile Development

Documentation Challenges

No detailed design documentation· We had to find new ways to figure out how the product is supposed to work

Writers are responsible to two or three different sprint teams · Often these teams are not working on the same product or in the same release cycle

Remote writers In addition to sprint-specific work, writers maintain/create documentation for

application features not yet included in the Agile process Short sprint cycles do not allow much time for internal or external review of

content

Page 11: Agile development: Problems and Process

Denise Kadilak| Page #11 © 2010 Blackbaud

Agile Development

Dealing With The Challenges

Vary based on the sprint team, but in general:· Design works one sprint ahead of sprint team· We found helpful subject matter experts outside of design

• The sprint-team environment resulted in closer relationships with managers, developers, and QA analysts, which in turn resulted in improved feedback on the user assistance and better communication with all divisions in Product Development

• All divisions feel more vested in the product overall, and this includes user documentation

Page 12: Agile development: Problems and Process

Denise Kadilak| Page #12 © 2010 Blackbaud

Agile Development

Dealing With The Challenges

Created a flexible definition of done for Documentation to better reflect the realities of a sprint environment · Developers working on application up until last minute of sprint· New work items added at last minute

• Documentation capacity not always considered· Writers working on projects not included in Agile need some flexibility· Review process must be accommodated· Writers working in several sprints that end at the same time need some freedom to

prioritize projects• Finish tasks for the sprint closes to a real release• Identify tasks they cannot complete and move tasks to next sprint

Page 13: Agile development: Problems and Process

Denise Kadilak| Page #13 © 2010 Blackbaud

Agile Development

Dealing With The Challenges

Process put in place to address remote employees· Online scrum Dashboards allow remotes to track sprint progress· Webcams and Live Meeting used for Sprint planning sessions

• But these are still painful• Last several hours• Difficult to hear with everyone talking

· Remote employee must be proactive• Contact scrum master /product owner in advance of planning sessions for backlog item list • Push designer for any requirement documentation

Page 14: Agile development: Problems and Process

Denise Kadilak| Page #14 © 2010 Blackbaud

Agile Development

Conclusions on Agile – The Bad

Hard on writers· Increased stress level

• Several competing deadlines every few weeks• All sprint team members harried last week of sprint• Some product/program managers think they know more about documentation time estimates

than the writers· Increased workload

• Certain amount of make-busy work• Too many meetings• Maintain scrum dashboard• Manage two or three sprints + non-sprint related work = headache

Page 15: Agile development: Problems and Process

Denise Kadilak| Page #15 © 2010 Blackbaud

Agile Development

Conclusions on Agile – The Bad

Buy-in still an issue Loss of document ownership

· Several writers working in same file· Who is responsible

Page 16: Agile development: Problems and Process

Denise Kadilak| Page #16 © 2010 Blackbaud

Agile Development

Conclusions on Agile – The Good

Documentation is 100% integrated in the product development process· We participate in every development phase· Two members of the documentation team are scrum masters· A documentation team member played a key role in the solution effort

• As scrum master, he identified early in the process problems faced by all team members• Met with leaders of other teams to formulate and implement a fix

Page 17: Agile development: Problems and Process

Denise Kadilak| Page #17 © 2010 Blackbaud

Agile Development

Conclusions on Agile – The Good Improved understanding of documentation process Improved customer focus Improved overall product

· Improved understanding of the user experience = more user empathy when developing and writing

· Team development = a team vested in the final product• Documentation more vocal about the product design and development• QAA and developers more vocal about the documentation

• QA has a formal testing plan for our online help

Page 18: Agile development: Problems and Process

Denise Kadilak| Page #18 © 2010 Blackbaud

Agile Development

Tools

Microsoft Team Foundation Server· Store all content· Houses all work items to be addressed

EPiSERVER Scrum Dashboards· Web-based dashboard for the Scrum process template in TFS

Page 19: Agile development: Problems and Process

Denise Kadilak| Page #19 © 2010 Blackbaud

Agile Development

Resources

http://en.wikipedia.org/wiki/Agile_software_development Manifesto for Agile Software Development Agile Methodology Art of Agile Development by James Shore & Shane Warden (O’Reilly) Writing End-User Documentation in an Agile Development Environment by Anne

Gentle Writing Software Documentation in Agile “Scrum” Team

Page 20: Agile development: Problems and Process

Denise Kadilak| Page #20 © 2010 Blackbaud

Agile Development

Finished!

Q & A

Contact information: [email protected]