Lightweight Documentation: An Agile Approach

Post on 04-Dec-2014

339 views 1 download

Tags:

description

One of the values of the Agile manifesto is working software over comprehensive documentation. However many agile teams think that now we are Agile we don’t need to document. Come to this session to learn about lightweight documentation and how to strike a sensible balance between working software and documentation. Learn which documents are necessary and which documents you can do without as well. Learn about JIT lightweight alternatives to our tradition documentation set. Leave with specific techniques to evaluate the value of each document along with recommended alternatives.

Transcript of Lightweight Documentation: An Agile Approach

Lightweight Documentation:An Agile ApproachDC Scrum User Group (DCSUG) meeting 18-Aug-2014

April 9, 2023

• Excella Consulting for food, refreshments and space

Thanks

Stephen Ritchie

◊ 20+ years of experience in software development

◊ Focused on Agile since 2007

– Commercial software development

– .NET software engineering & Agile principles

– Agile coaching & mentoring

◊ Organizer of the DC Alt.Net User Group

◊ stephen.ritchie@excella.com

◊ @ruthlesshelp

What could possibly go wrong

with detailed specification?

Introduction

“Documentation is not anti-agile. If it were, then there would not be any agile books, articles, or blogs.”

- Robert “Uncle Bob” Martin, 9-Mar-2006

Why do we document?

Valid reasons

Questionable

One principle

Communicate, communicate, communicate

Traditional SDLC Phases

• Definition• Analysis• Design• Construction• Test• Transition and Migration• Production

Traditional SDLC Phases

• Definition => Detailed Project Plan• Analysis => Detailed Specification• Design => System Architecture• Construction => Detailed Design Spec• Test => Test Plans and Test Scripts• Transition and Migration => Installation

Manuals• Production => Operation Manuals

Who, What, and Why?

Exercise

• In your group• List of traditional SDLC documents.• For each document

– Who is the audience(s) for the document?– What is the reader looking for in the

document?– Why does the reader want the document?

• In order to avoid something• In order to have/obtain/achieve something

Who, What, and Why?

Who, What, and Why?

Debrief

Traditional vs. Agile

• Executable Specification (Gherkin)• Document Stable Things (Final Concept)• Generate System Docs (Rev. Engineer)• Just Simple Enough (Not Too Simple)• Display Information Publicly (Wiki)• Purpose, Audience, Sufficiency• Iterate, Iterate, Iterate• Find A Better Communication Medium• Start With Diagrams The Team Already Uses

Agile Docs: Best Practices

• Traditional– Project Plans– Schedules– Costs– Resources

Planning

• Agile– Product Vision– Product Roadmap– Releases– Sprints– Team Charter– Individuals

• Core• Peripheral

• Traditional– The System Shall– Features– Functional Specs– Non-functional– Screen Specs– Rules

Requirements

• Agile– Product Vision– Product Roadmap– User Stories– Wireframes– Style Guidelines– Spec By Example– Definition of Ready

• Traditional– Architecture– System Overview– Detailed Design

Design

• Agile– Working Software– Unit Tests– Diagrams– Repository/Wiki

• ReadMe• Developer

Handbook• Release Notes

• Traditional– Configuration Guide– Installation

Instructions– Administration

Guide– User Manual

Support, Ops, and User

• Agile– Working Software

• Installer• Context Help• User Experience

– Wiki• ReadMe• Release Notes

Build a better document

Exercise

• In your group• Iteration 1: Topic-Oriented Writing

– Using Post-It Notes Write 1 Topic– Limit The Topic To 1 to 3 Words

• Review• Iteration 2: Reader Stories

– As a (reader) … I want (content) … So that …(I avoid something or I have something)

• Review

Build a better document

Build a better document

Debrief

• Agile/Lean Documentation: Strategies for Agile Software Development,Scott W. Amblerhttp://www.agilemodeling.com/essays/agileDocumentation.htm

• Agile Technical Documentation,Jean-Luc Mazethttp://writersua.com/articles/Agile_doc/

• Writing User Documentation in an Agile Development Environment,Anne Gentlehttp://justwriteclick.com/2007/07/02/writing-end-user-documentation-in-an-agile-development-environment/

More Info

• Let’s Go Around The Room• One Idea

– Ways to improve the exercises– Topics I should cover– What could be done better next time

One More Thing

DC Software Craftsman User Group (DCSCUG)

DC Scrum User Group

Alt .NET DC

International Institute of Business Analysis (IIBA)

User Experience Professionals Association (UXPA DC)

Agile Defense Proponents Team (ADAPT)

DC Continuous Delivery Group (DCCD)

Agile Leadership Network (ALN-DC)

django-districtDC Business Intelligentsia(DCBI)

Our CommunityExcella founded or leads local IT organizations and Meetups. Join us for an event!

Need space for your event? Contact Us: info@excella.com

• .Net/C#, Python, Java, Ruby Developers• Ux Designers• ScrumMasters• Agile Coaches• IT Project Manager & Program Analyst• Business Analysts (BA)• Business Intelligence (BI)

Excella is Hiring

• Excella Upcoming Classes/Events– CSM in College Park, MD

• 8/18 – 8/19

– Automated Acceptance Tests for BA• 9/8 – 9/12

– Advance CSPO• 9/15 – 9/16

– CSM • 9/22 – 9/23

– Agile BI Training• 10/7

– DC Business Analyst Development Day• 10/10

User Group discount code, contact organizer

Training/Events

• AgileDC– http://agiledc.org/– 21 OCT 2014

Events

• DC Business Analyst Development Day (DCBADD) on – Friday, October 10, 2014– Westin Arlington Gateway

• Conference will bring together Business Analysts, Project

Managers, and Agile Practitioners to learn valuable skills for succeeding in an Agile environment. Topics will include: – Emotional intelligence – Change management – Agile requirements – Agile techniques in the Federal Government

• Register - http://

www.eventbrite.com/o/excella-consulting-2232953017

Events