SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
Is "agile documentation" an oxymoron?
     Understanding the role of documentation in an agile
     development environment

     Skill Level: Intermediate


     Kurt Solarte (kurt.solarte@au1.ibm.com)
     Sr. Certified Managing Consultant
     IBM



     23 Jan 2012


     Does the term "documentation" have any place in an agile environment? The goal on
     agile projects is to keep documentation as simple as possible, relying on roadmaps,
     overviews and concepts rather than enterprise-focused details. But what happens
     when using an agile approach on more complex projects? For example, what if the
     team that writes the software is different from the team that must maintain it? Or what
     if auditors come calling? In these instances, basic agile documentation based on
     user stories alone may come up short. This article provides insights into how teams
     can take an agile approach to documentation in more complex environments.


     Is "agile documentation" an oxymoron?
     For many agile development teams, "documentation" is considered a dirty word.
     After all, agile teams work under the premise that uncertainty is so common and
     change so rapid that spending a lot of time on upfront architecture or design will be
     largely incorrect or irrelevant further down the line. Instead, agile developers opt for
     short, frequent iterations, and take a refactoring approach to architecture and
     design.

     In a nutshell, agile development teams start with an idea, break it down into features
     and functions, write high-level requirements and then get started. The objectives are
     to document just enough to proceed with construction, complete a select set of the
     highest-priority requirements in each iteration, collect requirements in a work item list


Is "agile documentation" an oxymoron?                                                       Trademarks
© Copyright IBM Corporation 2012                                                            Page 1 of 4
developerWorksÂź                                                                    ibm.com/developerWorks



     and produce documentation that anyone can use when they are working with the
     software.

     Having documents that anyone can use is a laudable goal; however, in some cases,
     a document that is supposed to be fit for everyone ends up being fit for no one. As
     agile teams scale and fit into larger enterprise environments, the agilest must devise
     more mature, but equally agile, documentation strategies.


     The maintenance documentation gap
     Many business-critical projects, such as commerce applications or portals, are now
     adopting agile practices on their projects. In these projects, it's common to have an
     outside agile development shop creating the application that will be handed over in
     12-18 months either to the hiring company itself or to another third party vendor for
     ongoing maintenance.

     Although lightweight stories and requirement artifacts work really well for
     construction, they may not be sufficient for ongoing maintenance. These stories and
     artifacts do not have the information needed to maintain the application for a number
     of reasons.

     Often, when a team gets in the middle of a big project, things change and those
     changes might not make it back into the documents. The attitude is that the software
     has already been delivered, and it's time to move on to the next iteration. So,
     maintenance ends up with out-of-date documentation. In addition, agile documents
     are often very minimalist without the overview often needed by a maintenance team.


     The audit documentation gap
     In some industries such as financial services and healthcare, there are outside rules
     and regulations that applications must comply with. Because traceability is important
     in large projects, large agile teams often use tools to link artifacts for traceability, but
     at times, these are not sufficient.

     For example, I worked on a big portal implementation for a pharmaceutical
     company. It was an internal portal that involved data from drug studies. In that
     situation, not only was the data access subject to audit, but also the construction of
     the data access portal itself. Although we linked artifacts, we were very focused on
     developing the application and website, and there was a scramble for documents
     and required traceability when the auditors showed up.

     Like maintenance documentation, the information auditors need is not necessarily
     found in "one-size-fits-all" requirements documentation. Attaching traceability to the
     project is also not sufficient. Auditors need documentation that demonstrates


Is "agile documentation" an oxymoron?                                                          Trademarks
© Copyright IBM Corporation 2012                                                               Page 2 of 4
ibm.com/developerWorks                                                                 developerWorksÂź



     compliance.


     Agile documentation
     When agile teams are faced with these two scaling factors, separate maintenance
     teams and external audit requirements, the Disciplined Agile Delivery framework and
     a practice such as Document Continuously are good places to start. Closing the gap
     between the documentation produced for agile projects and the needs of
     maintenance teams and auditors can be achieved by taking the same approach to
     delivering documentation as that taken for delivering code. Instead of producing
     documentation that everyone should be able to use but can't, think about providing
     maintenance and audit documentation as separate deliverables produced as part of
     the iterations.

     In the projects I work on, we detach requirements, stories and artifacts from one
     another and create other deliverables that are part of the iterations. For
     maintenance, we build some frameworks based on what maintenance wants. We
     harvest things out of agile requirements and then look at what gaps exist. Part of the
     work for each iteration involves filling in the gaps.

     For audit documentation, we get the full requirements and make them part of the
     story. In fact, the story is not complete until we have run the report and compliance
     matrices and connected them to the story. We recognize that we might have to add
     more traceability, that compliance and audit regulations are continually evolving and
     emerging, and that we need to keep up.


     A plan for coexistence
     Requirements, artifacts, maintenance documentation and audit documents can all
     coexist, not necessarily in the same location, but as part of different iterations. And
     when you take the just-in-time and fit-for-purpose approaches, all of which include
     taking advantage of reusable parts when possible, generating documentation is
     easier.

     After all, when you look at maintenance manuals or administration guides, you can
     see that they contain some elements found in design documents. Some of the
     traceability required by auditors is similar to what agile project teams want, such as
     links between business need, development work item and acceptance tests.

     In the agile projects I work on, we identify these similarities, publish out a shell and
     build a template with an outline that includes an extract from the business process
     flow or architectural diagram. Some of the objects we create in other tools can be
     inserted in the manual. The result of this approach is the creation of
     "mini-documents." Our mini-documents for maintenance have been more popular


Is "agile documentation" an oxymoron?                                                       Trademarks
© Copyright IBM Corporation 2012                                                            Page 3 of 4
developerWorksÂź                                                                   ibm.com/developerWorks



     than even the older large design documents because maintenance teams can move
     right to the space where a defect is detected. They no longer have to deal with huge
     documents that are difficult to navigate.


     Conclusion
     Documentation for applications built by agile development teams that are based on
     requirements, artifacts and stories can come up short when faced with the scaling
     factors of separate maintenance teams or regulatory audits. Providing
     documentation that suits different purposes is possible if you take an agile approach
     to how you scale. Determine documentation needs as you progress and include the
     different documentation builds in your iterations and you will provide the right
     documentation solution for all stakeholders, including maintenance and audits.




     About the author
     Kurt Solarte
                      Kurt is a Sr. Certified Managing Consultant and the Agile Practice Lead
                      with IBM Rational Software in Sydney focusing on agile development
                      and Collaborative Application Lifecycle Management. Kurt recently
                      spent seven years with IBM Global Business Services in the US as a
                      Certified Managing Consultant and Sr. Business Analyst where he
                      specialized in keeping business analysis alive and relevant in the agile
                      delivery of e-commerce, web portal, and business analytics projects.
                      Kurt frequently presents at software development conferences in the
                      US, Australia, and New Zealand and also regularly publishes for both
                      IBM and industry publications on topics of agile/lean development,
                      Disciplined Agile Delivery and agility@scale. He invites you to visit his
                      LinkedIn profile.




Is "agile documentation" an oxymoron?                                                        Trademarks
© Copyright IBM Corporation 2012                                                              Page 4 of 4

Weitere Àhnliche Inhalte

Was ist angesagt?

DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...Rauno De Pasquale
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certificationsAdams Firdaus
 
FMW 11g Keynote: Foundation For Innovation
FMW 11g Keynote: Foundation For InnovationFMW 11g Keynote: Foundation For Innovation
FMW 11g Keynote: Foundation For InnovationLuĂ­s GanhĂŁo
 
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...DevOps.com
 
Digital Agility: The Key to Innovation in the Digital Age (eBook)
Digital Agility: The Key to Innovation in the Digital Age (eBook)Digital Agility: The Key to Innovation in the Digital Age (eBook)
Digital Agility: The Key to Innovation in the Digital Age (eBook)Todd Erskine
 
Introducing agilealm
Introducing agilealmIntroducing agilealm
Introducing agilealmMatt Holitza
 
Agile Methods Experience Report by Andrew Rendell, Valtech
Agile Methods Experience Report by Andrew Rendell, ValtechAgile Methods Experience Report by Andrew Rendell, Valtech
Agile Methods Experience Report by Andrew Rendell, ValtechValtech UK
 
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams
 
Software architecture in an agile environment
Software architecture in an agile environmentSoftware architecture in an agile environment
Software architecture in an agile environmentRaffaele Garofalo
 
Agile Overview As V1.2
Agile Overview As V1.2Agile Overview As V1.2
Agile Overview As V1.2Anjan Roy
 
SCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesSCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesBrad Appleton
 
White paper dita for everyone
White paper  dita for everyoneWhite paper  dita for everyone
White paper dita for everyonesheila leahy
 
Pulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and RoadmapPulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and RoadmapDaniel Berg
 
How to get started with Agile BI
How to get started with Agile BIHow to get started with Agile BI
How to get started with Agile BIExcella
 
Operational Costs of Technical Debt
Operational Costs of Technical DebtOperational Costs of Technical Debt
Operational Costs of Technical DebtKurt Andersen
 
Innovate2010 jazz keynote
Innovate2010 jazz keynoteInnovate2010 jazz keynote
Innovate2010 jazz keynoteoslc
 
Obsidian Agile DevOps
Obsidian Agile DevOpsObsidian Agile DevOps
Obsidian Agile DevOpsDavid A. Callner
 

Was ist angesagt? (19)

DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certifications
 
FMW 11g Keynote: Foundation For Innovation
FMW 11g Keynote: Foundation For InnovationFMW 11g Keynote: Foundation For Innovation
FMW 11g Keynote: Foundation For Innovation
 
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
 
Digital Agility: The Key to Innovation in the Digital Age (eBook)
Digital Agility: The Key to Innovation in the Digital Age (eBook)Digital Agility: The Key to Innovation in the Digital Age (eBook)
Digital Agility: The Key to Innovation in the Digital Age (eBook)
 
Introducing agilealm
Introducing agilealmIntroducing agilealm
Introducing agilealm
 
Agile Methods Experience Report by Andrew Rendell, Valtech
Agile Methods Experience Report by Andrew Rendell, ValtechAgile Methods Experience Report by Andrew Rendell, Valtech
Agile Methods Experience Report by Andrew Rendell, Valtech
 
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
 
Software architecture in an agile environment
Software architecture in an agile environmentSoftware architecture in an agile environment
Software architecture in an agile environment
 
What is Agile Development?
What is Agile Development?What is Agile Development?
What is Agile Development?
 
Agile Overview As V1.2
Agile Overview As V1.2Agile Overview As V1.2
Agile Overview As V1.2
 
SCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesSCM Patterns for Agile Architectures
SCM Patterns for Agile Architectures
 
White paper dita for everyone
White paper  dita for everyoneWhite paper  dita for everyone
White paper dita for everyone
 
Pulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and RoadmapPulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and Roadmap
 
How to get started with Agile BI
How to get started with Agile BIHow to get started with Agile BI
How to get started with Agile BI
 
Agile Architecture
Agile ArchitectureAgile Architecture
Agile Architecture
 
Operational Costs of Technical Debt
Operational Costs of Technical DebtOperational Costs of Technical Debt
Operational Costs of Technical Debt
 
Innovate2010 jazz keynote
Innovate2010 jazz keynoteInnovate2010 jazz keynote
Innovate2010 jazz keynote
 
Obsidian Agile DevOps
Obsidian Agile DevOpsObsidian Agile DevOps
Obsidian Agile DevOps
 

Andere mochten auch

Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerKurt Solarte
 
IBM Studios: The Journey Home (Telstra Design Conference 2015)
IBM Studios: The Journey Home (Telstra Design Conference 2015)IBM Studios: The Journey Home (Telstra Design Conference 2015)
IBM Studios: The Journey Home (Telstra Design Conference 2015)Kurt Solarte
 
Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?Kurt Solarte
 
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...Kurt Solarte
 
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)Kurt Solarte
 
Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)
Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)
Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)Kurt Solarte
 
Disruptive Incumbents (Daze of Disruption 2015)
Disruptive Incumbents (Daze of Disruption 2015)Disruptive Incumbents (Daze of Disruption 2015)
Disruptive Incumbents (Daze of Disruption 2015)Kurt Solarte
 

Andere mochten auch (7)

Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements Composer
 
IBM Studios: The Journey Home (Telstra Design Conference 2015)
IBM Studios: The Journey Home (Telstra Design Conference 2015)IBM Studios: The Journey Home (Telstra Design Conference 2015)
IBM Studios: The Journey Home (Telstra Design Conference 2015)
 
Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?
 
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
Lean Business Intelligence: Achieve Better, Faster, Cheaper Business Intellig...
 
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
 
Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)
Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)
Disruption isn't Digital (Digital strategy Summit Sydney 2015 Keynote)
 
Disruptive Incumbents (Daze of Disruption 2015)
Disruptive Incumbents (Daze of Disruption 2015)Disruptive Incumbents (Daze of Disruption 2015)
Disruptive Incumbents (Daze of Disruption 2015)
 

Ähnlich wie Is Agile Documentation An Oxymoron?

Agile Corporation for MIT
Agile Corporation for MITAgile Corporation for MIT
Agile Corporation for MITCaio Candido
 
Agile resources e-book
Agile resources e-bookAgile resources e-book
Agile resources e-bookKnowledge Train
 
UiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash CourseUiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash CourseUiPathCommunity
 
Innovation Agile Methodology towards DevOps
Innovation Agile Methodology towards DevOpsInnovation Agile Methodology towards DevOps
Innovation Agile Methodology towards DevOpsIRJET Journal
 
Agile presentation adriana feb 2012
Agile presentation adriana feb 2012Agile presentation adriana feb 2012
Agile presentation adriana feb 2012Adriana Beal
 
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenairesLe cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenairesClub Alliances
 
Agile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative ApproachAgile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative ApproachAlberto Ferreira
 
Taking the first step to agile digital services
Taking the first step to agile digital servicesTaking the first step to agile digital services
Taking the first step to agile digital servicesindeuppal
 
Visual paradigm-leaflet
Visual paradigm-leafletVisual paradigm-leaflet
Visual paradigm-leafletCurtis Tsang
 
Software Development Frameworks Overview, Benefits, Key Considerations.pdf
Software Development Frameworks Overview, Benefits, Key Considerations.pdfSoftware Development Frameworks Overview, Benefits, Key Considerations.pdf
Software Development Frameworks Overview, Benefits, Key Considerations.pdfPolyxer Systems
 
An Enhanced Wiki For Requirements Engineering
An Enhanced Wiki For Requirements EngineeringAn Enhanced Wiki For Requirements Engineering
An Enhanced Wiki For Requirements EngineeringJim Jimenez
 
Top 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdfTop 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdfIntegrated IT Solutions
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
DaleboMalcolmCV_160326
DaleboMalcolmCV_160326DaleboMalcolmCV_160326
DaleboMalcolmCV_160326Malcolm Dalebo
 
Agile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileAgile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileParaic Hegarty
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationArtemisa Yescas Engler
 

Ähnlich wie Is Agile Documentation An Oxymoron? (20)

7 Myths of Agile Development
7 Myths of Agile Development7 Myths of Agile Development
7 Myths of Agile Development
 
Agile Corporation for MIT
Agile Corporation for MITAgile Corporation for MIT
Agile Corporation for MIT
 
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
Agile resources e-book
Agile resources e-bookAgile resources e-book
Agile resources e-book
 
UiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash CourseUiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash Course
 
Innovation Agile Methodology towards DevOps
Innovation Agile Methodology towards DevOpsInnovation Agile Methodology towards DevOps
Innovation Agile Methodology towards DevOps
 
Agile presentation adriana feb 2012
Agile presentation adriana feb 2012Agile presentation adriana feb 2012
Agile presentation adriana feb 2012
 
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenairesLe cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
 
Agile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative ApproachAgile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative Approach
 
Taking the first step to agile digital services
Taking the first step to agile digital servicesTaking the first step to agile digital services
Taking the first step to agile digital services
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 
Visual paradigm-leaflet
Visual paradigm-leafletVisual paradigm-leaflet
Visual paradigm-leaflet
 
Leaflet14 1
Leaflet14 1Leaflet14 1
Leaflet14 1
 
Software Development Frameworks Overview, Benefits, Key Considerations.pdf
Software Development Frameworks Overview, Benefits, Key Considerations.pdfSoftware Development Frameworks Overview, Benefits, Key Considerations.pdf
Software Development Frameworks Overview, Benefits, Key Considerations.pdf
 
An Enhanced Wiki For Requirements Engineering
An Enhanced Wiki For Requirements EngineeringAn Enhanced Wiki For Requirements Engineering
An Enhanced Wiki For Requirements Engineering
 
Top 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdfTop 10 Must-Have Software Development Tools for 2024.pdf
Top 10 Must-Have Software Development Tools for 2024.pdf
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
DaleboMalcolmCV_160326
DaleboMalcolmCV_160326DaleboMalcolmCV_160326
DaleboMalcolmCV_160326
 
Agile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileAgile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and Agile
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous Integration
 

Mehr von Kurt Solarte

Designing for the Experience of Augmented Intelligence (Internet Economy Summ...
Designing for the Experience of Augmented Intelligence (Internet Economy Summ...Designing for the Experience of Augmented Intelligence (Internet Economy Summ...
Designing for the Experience of Augmented Intelligence (Internet Economy Summ...Kurt Solarte
 
Building an Agile framework that fits your organisation
Building an Agile framework that fits your organisationBuilding an Agile framework that fits your organisation
Building an Agile framework that fits your organisationKurt Solarte
 
Agile Sales! Is that a Thing?
Agile Sales! Is that a Thing?Agile Sales! Is that a Thing?
Agile Sales! Is that a Thing?Kurt Solarte
 
IBM Next Gen ALM 2012
IBM Next Gen ALM 2012IBM Next Gen ALM 2012
IBM Next Gen ALM 2012Kurt Solarte
 
Agile - Transforming Small Team Thinking Into Big Business Results
Agile - Transforming Small Team Thinking Into Big Business ResultsAgile - Transforming Small Team Thinking Into Big Business Results
Agile - Transforming Small Team Thinking Into Big Business ResultsKurt Solarte
 
Agile Requirements by Agile Analysts
Agile Requirements by Agile AnalystsAgile Requirements by Agile Analysts
Agile Requirements by Agile AnalystsKurt Solarte
 
Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?Kurt Solarte
 
Optimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligenceOptimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligenceKurt Solarte
 

Mehr von Kurt Solarte (8)

Designing for the Experience of Augmented Intelligence (Internet Economy Summ...
Designing for the Experience of Augmented Intelligence (Internet Economy Summ...Designing for the Experience of Augmented Intelligence (Internet Economy Summ...
Designing for the Experience of Augmented Intelligence (Internet Economy Summ...
 
Building an Agile framework that fits your organisation
Building an Agile framework that fits your organisationBuilding an Agile framework that fits your organisation
Building an Agile framework that fits your organisation
 
Agile Sales! Is that a Thing?
Agile Sales! Is that a Thing?Agile Sales! Is that a Thing?
Agile Sales! Is that a Thing?
 
IBM Next Gen ALM 2012
IBM Next Gen ALM 2012IBM Next Gen ALM 2012
IBM Next Gen ALM 2012
 
Agile - Transforming Small Team Thinking Into Big Business Results
Agile - Transforming Small Team Thinking Into Big Business ResultsAgile - Transforming Small Team Thinking Into Big Business Results
Agile - Transforming Small Team Thinking Into Big Business Results
 
Agile Requirements by Agile Analysts
Agile Requirements by Agile AnalystsAgile Requirements by Agile Analysts
Agile Requirements by Agile Analysts
 
Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?Does Agile Analysis Require a Business Analyst?
Does Agile Analysis Require a Business Analyst?
 
Optimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligenceOptimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligence
 

Is Agile Documentation An Oxymoron?

  • 1. Is "agile documentation" an oxymoron? Understanding the role of documentation in an agile development environment Skill Level: Intermediate Kurt Solarte (kurt.solarte@au1.ibm.com) Sr. Certified Managing Consultant IBM 23 Jan 2012 Does the term "documentation" have any place in an agile environment? The goal on agile projects is to keep documentation as simple as possible, relying on roadmaps, overviews and concepts rather than enterprise-focused details. But what happens when using an agile approach on more complex projects? For example, what if the team that writes the software is different from the team that must maintain it? Or what if auditors come calling? In these instances, basic agile documentation based on user stories alone may come up short. This article provides insights into how teams can take an agile approach to documentation in more complex environments. Is "agile documentation" an oxymoron? For many agile development teams, "documentation" is considered a dirty word. After all, agile teams work under the premise that uncertainty is so common and change so rapid that spending a lot of time on upfront architecture or design will be largely incorrect or irrelevant further down the line. Instead, agile developers opt for short, frequent iterations, and take a refactoring approach to architecture and design. In a nutshell, agile development teams start with an idea, break it down into features and functions, write high-level requirements and then get started. The objectives are to document just enough to proceed with construction, complete a select set of the highest-priority requirements in each iteration, collect requirements in a work item list Is "agile documentation" an oxymoron? Trademarks © Copyright IBM Corporation 2012 Page 1 of 4
  • 2. developerWorksÂź ibm.com/developerWorks and produce documentation that anyone can use when they are working with the software. Having documents that anyone can use is a laudable goal; however, in some cases, a document that is supposed to be fit for everyone ends up being fit for no one. As agile teams scale and fit into larger enterprise environments, the agilest must devise more mature, but equally agile, documentation strategies. The maintenance documentation gap Many business-critical projects, such as commerce applications or portals, are now adopting agile practices on their projects. In these projects, it's common to have an outside agile development shop creating the application that will be handed over in 12-18 months either to the hiring company itself or to another third party vendor for ongoing maintenance. Although lightweight stories and requirement artifacts work really well for construction, they may not be sufficient for ongoing maintenance. These stories and artifacts do not have the information needed to maintain the application for a number of reasons. Often, when a team gets in the middle of a big project, things change and those changes might not make it back into the documents. The attitude is that the software has already been delivered, and it's time to move on to the next iteration. So, maintenance ends up with out-of-date documentation. In addition, agile documents are often very minimalist without the overview often needed by a maintenance team. The audit documentation gap In some industries such as financial services and healthcare, there are outside rules and regulations that applications must comply with. Because traceability is important in large projects, large agile teams often use tools to link artifacts for traceability, but at times, these are not sufficient. For example, I worked on a big portal implementation for a pharmaceutical company. It was an internal portal that involved data from drug studies. In that situation, not only was the data access subject to audit, but also the construction of the data access portal itself. Although we linked artifacts, we were very focused on developing the application and website, and there was a scramble for documents and required traceability when the auditors showed up. Like maintenance documentation, the information auditors need is not necessarily found in "one-size-fits-all" requirements documentation. Attaching traceability to the project is also not sufficient. Auditors need documentation that demonstrates Is "agile documentation" an oxymoron? Trademarks © Copyright IBM Corporation 2012 Page 2 of 4
  • 3. ibm.com/developerWorks developerWorksÂź compliance. Agile documentation When agile teams are faced with these two scaling factors, separate maintenance teams and external audit requirements, the Disciplined Agile Delivery framework and a practice such as Document Continuously are good places to start. Closing the gap between the documentation produced for agile projects and the needs of maintenance teams and auditors can be achieved by taking the same approach to delivering documentation as that taken for delivering code. Instead of producing documentation that everyone should be able to use but can't, think about providing maintenance and audit documentation as separate deliverables produced as part of the iterations. In the projects I work on, we detach requirements, stories and artifacts from one another and create other deliverables that are part of the iterations. For maintenance, we build some frameworks based on what maintenance wants. We harvest things out of agile requirements and then look at what gaps exist. Part of the work for each iteration involves filling in the gaps. For audit documentation, we get the full requirements and make them part of the story. In fact, the story is not complete until we have run the report and compliance matrices and connected them to the story. We recognize that we might have to add more traceability, that compliance and audit regulations are continually evolving and emerging, and that we need to keep up. A plan for coexistence Requirements, artifacts, maintenance documentation and audit documents can all coexist, not necessarily in the same location, but as part of different iterations. And when you take the just-in-time and fit-for-purpose approaches, all of which include taking advantage of reusable parts when possible, generating documentation is easier. After all, when you look at maintenance manuals or administration guides, you can see that they contain some elements found in design documents. Some of the traceability required by auditors is similar to what agile project teams want, such as links between business need, development work item and acceptance tests. In the agile projects I work on, we identify these similarities, publish out a shell and build a template with an outline that includes an extract from the business process flow or architectural diagram. Some of the objects we create in other tools can be inserted in the manual. The result of this approach is the creation of "mini-documents." Our mini-documents for maintenance have been more popular Is "agile documentation" an oxymoron? Trademarks © Copyright IBM Corporation 2012 Page 3 of 4
  • 4. developerWorksÂź ibm.com/developerWorks than even the older large design documents because maintenance teams can move right to the space where a defect is detected. They no longer have to deal with huge documents that are difficult to navigate. Conclusion Documentation for applications built by agile development teams that are based on requirements, artifacts and stories can come up short when faced with the scaling factors of separate maintenance teams or regulatory audits. Providing documentation that suits different purposes is possible if you take an agile approach to how you scale. Determine documentation needs as you progress and include the different documentation builds in your iterations and you will provide the right documentation solution for all stakeholders, including maintenance and audits. About the author Kurt Solarte Kurt is a Sr. Certified Managing Consultant and the Agile Practice Lead with IBM Rational Software in Sydney focusing on agile development and Collaborative Application Lifecycle Management. Kurt recently spent seven years with IBM Global Business Services in the US as a Certified Managing Consultant and Sr. Business Analyst where he specialized in keeping business analysis alive and relevant in the agile delivery of e-commerce, web portal, and business analytics projects. Kurt frequently presents at software development conferences in the US, Australia, and New Zealand and also regularly publishes for both IBM and industry publications on topics of agile/lean development, Disciplined Agile Delivery and agility@scale. He invites you to visit his LinkedIn profile. Is "agile documentation" an oxymoron? Trademarks © Copyright IBM Corporation 2012 Page 4 of 4