Agile development: Problems and Process

191 views
151 views

Published on

An overview of how my company implemented an Agile-based process.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
191
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Agile development: Problems and Process

  1. 1. Agile Development Problems and Process March 24, 2010 Denise Kadilak Information Architect – Blackbaud, Inc. Agile Development: Problems and Process
  2. 2. 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
  3. 3. 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
  4. 4. 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)
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. Denise Kadilak| Page #20 © 2010 Blackbaud Agile Development Finished! Q & A Contact information: denise.kadilak@blackbaud.com

×