Top Banner
Lightweight Documentation: An Agile Approach DC Agile User Group meeting 11-Mar-2015 March 11, 2015
24

Lightweight Documentation

Jul 16, 2015

Download

Stephen Ritchie
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lightweight Documentation

Lightweight Documentation:An Agile ApproachDC Agile User Group meeting 11-Mar-2015

March 11, 2015

Page 2: Lightweight Documentation

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

Page 3: Lightweight Documentation

Lightweight Docs

How can you help Agile teams get

better at delivering documentation?

As a ScrumMaster …

As an analyst …

As a coder …

As a tester …

As a product owner …

Page 4: Lightweight Documentation

What could

possibly go wrong

with detailed

specification?

Introduction

Page 5: Lightweight Documentation

“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

Why do we

document?

Page 7: Lightweight Documentation

Valid reasons

Questionable

One principle

Page 8: Lightweight Documentation

Communicate, communicate, communicate

Page 9: Lightweight Documentation

Traditional SDLC Phases

• Definition

• Analysis

• Design

• Construction

• Test

• Transition and Migration

• Production

Page 10: Lightweight Documentation

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

Who, What,

and Why?

Exercise

Page 12: Lightweight Documentation

• In your group

• Given a traditional SDLC 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

Who, What, and Why?

Debrief

Page 14: Lightweight Documentation

Traditional vs. Agile

Page 15: Lightweight Documentation

• 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

• Traditional

– Project Plans

– Schedules

– Costs

– Resources

Planning

• Agile

– Product Vision

– Product Roadmap

– Releases

– Sprints

– Team Charter

– Individuals

• Core

• Peripheral

Page 17: Lightweight Documentation

• 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

• Traditional

– Architecture

– System Overview

– Detailed Design

Design

• Agile

– Working Software

– Unit Tests

– Diagrams

– Repository/Wiki

• ReadMe

• Developer

Handbook

• Release Notes

Page 19: Lightweight Documentation

• 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

Build a better

document

Exercise

Page 21: Lightweight Documentation

• 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

Build a better document

Debrief

Page 23: Lightweight Documentation

• 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

• 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