Lightweight Documentation: An Agile Approach

29
Lightweight Documentation: An Agile Approach DC Scrum User Group (DCSUG) meeting 18-Aug-2014 6/6/22

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

Page 1: Lightweight Documentation: An Agile Approach

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

April 9, 2023

Page 2: Lightweight Documentation: An Agile Approach

• Excella Consulting for food, refreshments and space

Thanks

Page 3: Lightweight Documentation: An Agile Approach

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

[email protected]

◊ @ruthlesshelp

Page 4: Lightweight Documentation: An Agile Approach

What could possibly go wrong

with detailed specification?

Introduction

Page 5: Lightweight Documentation: An Agile Approach

“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

Page 6: Lightweight Documentation: An Agile Approach

Why do we document?

Page 7: Lightweight Documentation: An Agile Approach

Valid reasons

Questionable

One principle

Page 8: Lightweight Documentation: An Agile Approach

Communicate, communicate, communicate

Page 9: Lightweight Documentation: An Agile Approach

Traditional SDLC Phases

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

Page 10: Lightweight Documentation: An Agile Approach

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

Page 11: Lightweight Documentation: An Agile Approach

Who, What, and Why?

Exercise

Page 12: Lightweight Documentation: An Agile Approach

• 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?

Page 13: Lightweight Documentation: An Agile Approach

Who, What, and Why?

Debrief

Page 14: Lightweight Documentation: An Agile Approach

Traditional vs. Agile

Page 15: Lightweight Documentation: An Agile Approach

• 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

Page 16: Lightweight Documentation: An Agile Approach

• Traditional– Project Plans– Schedules– Costs– Resources

Planning

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

• Core• Peripheral

Page 17: Lightweight Documentation: An Agile Approach

• 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

Page 18: Lightweight Documentation: An Agile Approach

• Traditional– Architecture– System Overview– Detailed Design

Design

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

• ReadMe• Developer

Handbook• Release Notes

Page 19: Lightweight Documentation: An Agile Approach

• 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

Page 20: Lightweight Documentation: An Agile Approach

Build a better document

Exercise

Page 21: Lightweight Documentation: An Agile Approach

• 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

Page 22: Lightweight Documentation: An Agile Approach

Build a better document

Debrief

Page 23: Lightweight Documentation: An Agile Approach

• 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

Page 24: Lightweight Documentation: An Agile Approach

• 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

Page 25: Lightweight Documentation: An Agile Approach

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: [email protected]

Page 26: Lightweight Documentation: An Agile Approach

• .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

Page 27: Lightweight Documentation: An Agile Approach

• 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

Page 28: Lightweight Documentation: An Agile Approach

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

Events

Page 29: Lightweight Documentation: An Agile Approach

• 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