33
Technical Writing in an Agile Development Environment A Writer’s Perspective

Technical writing in an agile development environment

Embed Size (px)

DESCRIPTION

The presentation helps you apply useful principles from agile methodologies for developing technical documentation. It also highlights the features common to agile development processes and helps you understand user stories and learn to translate user stories into task-oriented topics. You also learn to use various collaboration tools that can facilitate writing.

Citation preview

Page 1: Technical writing in an agile development environment

Technical Writing in an Agile Development Environment

A Writer’s Perspective

Page 2: Technical writing in an agile development environment

2

Objectives

Learn to apply useful principles from agile methodologies

Highlight the features common to agile development processes

Understand user stories and learn to translate user stories into task-oriented topics

Learn to use various collaboration tools that can facilitate writing

Learn to be adaptive

Page 3: Technical writing in an agile development environment

3

The Agile Parable

A pig and a chicken are walking down a road. The chicken looks at the pig and says, "Hey, why don't we open a restaurant?" The pig looks back at the chicken and says, "Good idea, what do you want to call it?"

The chicken thinks about it and says, "Why don't we call it 'Ham and Eggs'?"

"I don't think so," says the pig, "I'd be committed but you'd only be involved.”

Page 4: Technical writing in an agile development environment

4

Who’s Who in Agile

Page 5: Technical writing in an agile development environment

5

Scrum Origins

The new product development game - Tekeuchi and Nonaka

A group of 17 individuals got together in Colorado in 2001 to form the Agile manifesto.

Jeff Sutherland and Ken Schwaber Initial definitions of Scrum at OOPSLA 96 Not just for trivial projects

FDA-approved, life-critical software for x-rays and MRIs

Page 6: Technical writing in an agile development environment

6

The Agile Manifesto

Over

Page 7: Technical writing in an agile development environment

7

Phases of Scrum– From Concept to Execution

Page 8: Technical writing in an agile development environment

8

The Scrum Development Process

Daily Scrum•Hosted by ScrumMaster•Attended by all, but Stakeholders don’t speak•Same time every day•Answer: 1) What did you do yesterday? 2) What will you do today? 3) What’s in your way?•Team updates Sprint Backlog; Scrum Master updates Blocks List

POPO

Product Owner: Sets priorities

SMSM

ScrumMaster: Manages process,

removes blocks

TT

Team (Pigs): Develops product

SHSH

Stakeholders (Chickens):

observe & advise

Key Artifacts

Product Backlog•List of requirements & issues•Owned by Product Owner•Anybody can add to it•Only Product Owner prioritizes

Product Backlog•List of requirements & issues•Owned by Product Owner•Anybody can add to it•Only Product Owner prioritizes

Sprint Goal•One-sentence summary•Declared by Product Owner•Accepted by team

Sprint Goal•One-sentence summary•Declared by Product Owner•Accepted by team

Sprint Backlog•List of tasks•Owned by team•Only team modifies it

Sprint Backlog•List of tasks•Owned by team•Only team modifies it

Blocks List•List of blocks & unmade decisions•Owned by ScrumMaster•Updated daily

Blocks List•List of blocks & unmade decisions•Owned by ScrumMaster•Updated daily

Increment•Version of the product•Shippable functionality (tested, documented, etc.)

Increment•Version of the product•Shippable functionality (tested, documented, etc.)

Key MeetingsSprint Planning Meeting•Hosted by ScrumMaster; ½-1 day•In: Product Backlog, existing product, business & technology conditions1. Select highest priority items in Product Backlog; declare Sprint Goal2. Team turns selected items into Sprint BacklogOut:: Sprint Goal, Sprint Backlog

Sprint Review Meeting•Hosted by ScrumMaster•Attended by all•Informal, 4-hour, informational•Team demos Increment•All discuss•Hold retrospective•Announce next Sprint Planning Meeting

Product BacklogProduct Backlog

Development Process

IncrementIncrement

Sprint Planning Meeting

Daily Scrum

Daily Work

Sprint Goal

Sprint Goal

Sprint BacklogSprint

Backlog

Blocks List

Blocks List

Product Product

Sprint Review Meeting

Sprint: 15-30 days

each

Product Backlog’Product Backlog’

Increment’Increment’

Copyright 2004, William C. Wake, [email protected], www.xp123.com

Page 9: Technical writing in an agile development environment

9

Agile System Development Lifecycle

Page 10: Technical writing in an agile development environment

10

Overlapping Development in Scrum

Page 11: Technical writing in an agile development environment

11

Waterfall vs. Agile

Page 12: Technical writing in an agile development environment

12

Making the Transition How can I adapt myself to Scrum?

Page 13: Technical writing in an agile development environment

13

Design Documents

Moving from specs to user story documents Shorter, more fluid documents Allows for easier refinement and rework upon

customer feedback Helps the writers to not get bogged down in lengthy

specs

Page 14: Technical writing in an agile development environment

14

User Stories- What is it?

A software system requirement

Defines what is to be built

Prioritized, make up the backlog

Stories may be related together as “features” or “themes”

Page 15: Technical writing in an agile development environment

15

User Stories

As a … < role> …

I want … <short description of feature> …

So that … <value or why need functionality> …

Examples: As a sales manager I want to view the sales report so that I

can know the sales for this quarter.

As a regular traveler I want my cell-phone to wake me up at a set time so that I do not need to pack an alarm clock.

Page 16: Technical writing in an agile development environment

16

Acceptance Criteria

A common acceptance criteria template:

Given … <some initial context > …

When … <an event occurs> …

Then … <ensure some outcomes> …

Given my cell-phone is switched off when the time for my alarm is reached then turn the cell-phone on and sound the alarm.

Page 17: Technical writing in an agile development environment

17

Topic-Oriented Writing

Page 18: Technical writing in an agile development environment

18

Topic-Oriented Writing

Authoring concise, self-contained units of information about a specific topic

Concept

Task

Reference

Page 19: Technical writing in an agile development environment

19

Using Minimalism

Choose an action-oriented approach to your documentation

Promote learning by doing rather than by reading

Evaluate what to trim and why (‘Just enough’ documentation)

Focus on troubleshooting advice

Identify opportunities to replace text with graphics

Page 20: Technical writing in an agile development environment

20

Benefits of Using Minimalism

Pushes us to be more user-focused

Makes us look out for redundant information

Drives us to cut costs while delivering better information

Portrays us like we understood our role better

Page 21: Technical writing in an agile development environment

21

Collaborate

Use a collaboration tool (e.g. wiki)

Attend daily scrum meetings

Be detailed and specific when you are seeking information

Page 22: Technical writing in an agile development environment

22

Using Wikis

Image Copyright @ Atlassian

Page 23: Technical writing in an agile development environment

23

Best Practices for Wiki Implementation

Page 24: Technical writing in an agile development environment

24

Using Wikis as an Input for Docs

Page 25: Technical writing in an agile development environment

25

Backlog is Your Friend

The Backlog in Scrum is the Technical Writer’s best friend.

Work with the dev team to understand the tasks

You can re-plan a Sprint in the mid-Sprint

Allocate some time in the Sprint for maintenance and patches.

Backlog is NOT DONE if the end-user documentation is not complete

Page 26: Technical writing in an agile development environment

26

Document Reviews in Scrum

Use drafts

Write doc for a feature that is developed and tested in the Sprint

Have Dev/QA review the doc for technical accuracy before closing the user story

Make the required edits

Publish IT

Present the doc to the PO in the exit meeting

Page 27: Technical writing in an agile development environment

27

Before the Release

Have a stabilization sprint for the document cleanups, versioning, and help integration.

Page 28: Technical writing in an agile development environment

28

Vertical Doc Team Structure – Writer Aligned to the Scrum Teams

Writer

Product ABC Product XYZ Released products Legacy Products

Feature A Feature B

Feature A

Feature B

Feature A

Feature B Bugs/Minor Fixes

Patches

Life Support

Steve

Maria

Marc

Page 29: Technical writing in an agile development environment

29

Scrum in Action

Page 30: Technical writing in an agile development environment

30

The Benefits of Writing in an Agile Environment

Page 31: Technical writing in an agile development environment

Questions?

Page 32: Technical writing in an agile development environment

32

Sources and Bibliography

Agile Estimating and Planning, Mike Cohn, Prentice Hall, 2006.

Agile Project Management with Scrum, Ken Schwaber, Microsoft Press, 2004.

Writing Effective Use Cases, Alistair Cockburn, Addison Wesley, 2001.

Agile Development: Challenges in Transforming Technical Communications Departments, Mike Wethington.

“An Overview of Scrum”, Mike Cohn, http://www.mountaingoatsoftware.com/presentation/30-an-overview-of-scrum , 2008

“Writing End-User Documentation in an Agile Development Environment,” Anne Gentle & Tana Berry, http://justwriteclick.com/2007/07/02/writing-end-user-documentation-in-an-agile-development-environment/ , 2007.

Page 33: Technical writing in an agile development environment

Thank You