SlideShare a Scribd company logo
Why documentation in
agile processes sucks...
and how to fix it
Brenda Nyokabi
Introduction
Brenda Nyokabi
Technologist
Code for Africa
Github
Twitter
Pan-African
Federation
Code for Africa is a
federation of indigenous
civic tech + civic media
labs in 9 countries, in
Ghana, Kenya, Morocco,
Nigeria, Sierra Leone,
Senegal, South Africa,
Tanzania, and Uganda,
operating alongside a
sister network of
independent
investigative
newsrooms in 22
countries.
Global
Networks
Code for Africa is
underwritten by a
network of global
partners who offer deep
industry know-how,
cutting-edge technology
and substantive
resources.
CfA is an initiative of the
International Center for
Journalists (ICFJ) in the
U.S.
What is Agile development?
Agile software development refers to software development
methodologies centered around the idea of iterative
development, where requirements and solutions evolve
through collaboration between self-organizing cross-
functional teams.
Agile manifesto
We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on
the left more.
Documentation
Working software over comprehensive documentation
“The main goal of effective documentation is to ensure that
developers and stakeholders are headed in the same
direction to accomplish the objectives of the project.”
TYPES OF DOCUMENTATION
Process Documentation
Standards, project plans, reports, schedules
Product Documentation
Requirements, business logic, tech specification
Our focus is on system documentation
GENERAL STRUCTURE OF AGILE DOCUMENTATION
DEVELOPER’S
PERSPECTIVE
Why do developers find it hard to document code?
1. Frequent source
code
change/require
ment changes
Frequently changes
in requirements
and specification
leads to poor
documentation or
none at all
Why document when we the
requirements will change in the
next sprint
2. Pressure to
deliver the
project on time
The developer needs to
deliver the project on
time. The company wants
to deliver the project as
soon as possible because
of the client’s
requirements, and the
first thing that goes down
the drain is
documentation
No time to document , ship ASAP!
3. Developers
are too close to
the projects
Developers are in a
position where
they understand
whats going on in a
codebase and take
for granted the
need to explain
things as clearly as
possible.
Google is your friend
4. Developers don't
need documentation
Developers understand
what they are working
choose to skip
documentation which
sounds reasonable, until
you came back to your
codebase and have no
idea what problem your
code was solving
What do you mean by documentation,
UML diagrams?
Value of documentation in
Agile
Why document?
“Agile methods are not opposed to documentation, only to valueless
documentation. Documents that assist the team itself can have value,
but only if they are kept up to date.
Michael Nygard
Documentation verifies the
accuracy of our assumptions about
what we deem common
understanding, making it easier for
everyone to be on the same page.
Are we on the same page ?
1. Common
understanding
It’s not uncommon for developers
to complain about their product
managers, saying they “don’t
really understand how the
software actually works”.
Documentation can help
developers bridge that gap and
fosters Empathy Driven
development(EDD) by providing
context
2. Create empathy
Could you explain this to
me again ?
Documenting current and
past decisions helps with
future problem solving
3. Aid future self/team in
making better decisions
Why did we choose
technology x over y again ?
What problem were we solving?
Documenting team
processes helps junior hires
get started quicker on your
team. This can apply to any
category of documentation
like wiki’s , readmes or
any other automated tasks.
Example
4. Helps with onboarding
processes
How do you
set up this repo and other xn
questions
Every once in a while we end up
with problems that are not as
trivial as expected. For cases like
this, creating documentation
makes it easier to unpack the
problem analytically.
4. Creative problem
solving:
Why does the svg file not
inherit max height of container?
DOCUMENTATION METRICS
What makes for a good doc?
Can you measure good documentation? What I search for
when making design and software architecture decisions:
1. Easy to navigate
React.js
2. Offers sequential steps to reach specific goal.
Jekyll && Postgresql
3. Offers occasional visual aid, in form of diagram
MATERIAL UI
4. Embeds introductory learning 'back tracks' throughout docs
Redux.JS
5. Provides links that provide more useful insight
VICTORY.JS
MAKING DOCUMENTATION
WORK FOR AGILE TEAMS
SOURCE CODE DOCUMENTATION
1. Write good comments or none at all.
1. Define naming conventions and project structure. Include nice
to have tools for standardizing the your code base, using eslint
tools, maybe typescript if it works for your team.
2. Introducing tracking and documenting tools such as
READMEs, PR and ISSUE TEMPLATES, wikis for your projects.
1. Keep it simple and concise. DRY (Don’t Repeat Yourself)
principle.
Issue Template
Template
PR templates
Template
Tip for better documentation
1. Executable
specification:
Use the Just-In-Time (JIT)
approach to write the detailed
specifications which is a single
source information that is the
test to outline the
requirements/design and
validate your work.
DEMO:
Hurumap-ui/Storybook
2. Document late
Write system overviews
towards end of the
development of a
release. This way you
document what you
have actually built
DEMO:
CFA WIKI
3. Avoid
overlapping
documentation
This requires
building larger
documents from
smaller ones. You
can create Wikis
sort of
documentation to
create different
single pages for
single topics.
DEMO:
CFA WIKI
4. Simplify
documentation:
Write a 5-page
document, rather
than a a document
with 50 pages,
with bullet points
to provide context.
DEMO:
READ ME
5. Purpose oriented
goal
Create a document to
cater to some
immediate goal of your
project.
In the case of
documentation, one size
never fits all.
Each system has its own
unique documentation
needs that also mean
you cannot reuse the
repeatable process to
create documents.
BARE MINIMUM
CONCEPT NOTE
Builds on the work plan and the
reporting document
WORK PLAN
REPORTING DOCUMENT
Helpful tips for organizational teams
1. The documentation effort must be baked into the agile process
Wiki thursdays , ISSUE AND PR TEMPLATES
1. Everyone contributes to the documentation effort, for each
sprint
2. There should be a "point person" who manages the
documentation effort
3. The tech writers need to be engineers
4. No person is a silo => Write to be understood especially when
writing user facing documentation
Resources
https://www.atlassian.com/software/confluen
ce/templates
https://software-documentation-
template.readthedocs.io/en/latest/readme.ht
ml
https://keepachangelog.com/en/1.0.0/
https://opensource.guide/best-
practices/#documenting-your-processes
This presentation: bit.ly/2oMDP6u
Github: https://github.com/CodeForAfrica
Twitter: twitter.com/Code4Africa
Medium: https://medium.com/@CodeForAfrica
Q/A

More Related Content

PDF
Advice on how to get started — and ahead — in a career in DevOps
PDF
Checklist for Agile Technical Writer
PDF
Producing Quality Documentation In An Agile Development Environment
PDF
Establishing documentation delivery as a practice in Agile
PDF
Guided Path to DevOps Career.
PPT
In Search Of An Agile Documentation Process
PDF
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
PDF
Today’s Agile Documentation
Advice on how to get started — and ahead — in a career in DevOps
Checklist for Agile Technical Writer
Producing Quality Documentation In An Agile Development Environment
Establishing documentation delivery as a practice in Agile
Guided Path to DevOps Career.
In Search Of An Agile Documentation Process
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Today’s Agile Documentation

What's hot (20)

PDF
My Career Journey: An Unconventional Path into DevOps
PPTX
Introduction to Agile-Scrum
PPTX
DDD In Agile
PPTX
What is-not-devops!
PPTX
Developer week: An Engineer’s Essential Tool in Agile: Design Thinking
PPTX
The Art of Agile Documentation
PPTX
Grace Hopper 2019: Better Together, Intuit's Inner Source Journey
PPTX
Grandma's recipe for DevOps adoption
PPTX
Day projectcon real-world-scrum
PDF
Agile & DevOps on top of Jira by Feras El Hajjar
PPTX
GDISD, Girl Develop It San Diego, intuit apprentice program
PDF
Summer-17 Internship at Spreetail
PDF
5 Must-to-Read Books on DevOps
PPT
Agile And Documentation
PPTX
ScrumOps - Featuring Dave West & Jayne Groll
PPTX
DOES15 - Mike Bland - Pain Is Over, If You Want It
PDF
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
PDF
Continuous Deployment Through Technical Excellence
PPTX
ROOTS2011 Continuous Delivery
PPTX
DevTalk: Better Together- Adventures in Pair Programming
My Career Journey: An Unconventional Path into DevOps
Introduction to Agile-Scrum
DDD In Agile
What is-not-devops!
Developer week: An Engineer’s Essential Tool in Agile: Design Thinking
The Art of Agile Documentation
Grace Hopper 2019: Better Together, Intuit's Inner Source Journey
Grandma's recipe for DevOps adoption
Day projectcon real-world-scrum
Agile & DevOps on top of Jira by Feras El Hajjar
GDISD, Girl Develop It San Diego, intuit apprentice program
Summer-17 Internship at Spreetail
5 Must-to-Read Books on DevOps
Agile And Documentation
ScrumOps - Featuring Dave West & Jayne Groll
DOES15 - Mike Bland - Pain Is Over, If You Want It
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
Continuous Deployment Through Technical Excellence
ROOTS2011 Continuous Delivery
DevTalk: Better Together- Adventures in Pair Programming
Ad

Similar to Agile presentation (20)

PPTX
Agile and its impact to Project Management 022218.pptx
PPT
Chen's second test slides again
PPT
A simple test paper from Chen
PPT
Chen's second test slides
PPT
A simple test paper from Chen
PPT
A simple test paper from Chen
PDF
Professional project writing
PDF
Agile Software Development
PDF
ch2-Agile-Software-Development-engineerning.pdf
PDF
Importance of Documentation for programmers
PPT
Introduction to Agile Software Development & Python
PPT
Collaboration Beyond Code
PPT
Agile intro resources
PPTX
Documenting Good Practices in School: Part 3
PPTX
Agile manifesto - Agile - What is it?
PPTX
fuzzy search using spring boot and ibmi db2.pptx
PDF
Distributed_teams
PPTX
Distributed teams
PPT
Agile And Open Development
PDF
Prototyping & User Testing
Agile and its impact to Project Management 022218.pptx
Chen's second test slides again
A simple test paper from Chen
Chen's second test slides
A simple test paper from Chen
A simple test paper from Chen
Professional project writing
Agile Software Development
ch2-Agile-Software-Development-engineerning.pdf
Importance of Documentation for programmers
Introduction to Agile Software Development & Python
Collaboration Beyond Code
Agile intro resources
Documenting Good Practices in School: Part 3
Agile manifesto - Agile - What is it?
fuzzy search using spring boot and ibmi db2.pptx
Distributed_teams
Distributed teams
Agile And Open Development
Prototyping & User Testing
Ad

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
cuic standard and advanced reporting.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectral efficient network and resource selection model in 5G networks
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
GamePlan Trading System Review: Professional Trader's Honest Take
Chapter 3 Spatial Domain Image Processing.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Advanced Soft Computing BINUS July 2025.pdf
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
“AI and Expert System Decision Support & Business Intelligence Systems”
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Weekly Chronicles - August'25 Week I
NewMind AI Monthly Chronicles - July 2025
cuic standard and advanced reporting.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?

Agile presentation

  • 1. Why documentation in agile processes sucks... and how to fix it Brenda Nyokabi
  • 3. Brenda Nyokabi Technologist Code for Africa Github Twitter
  • 4. Pan-African Federation Code for Africa is a federation of indigenous civic tech + civic media labs in 9 countries, in Ghana, Kenya, Morocco, Nigeria, Sierra Leone, Senegal, South Africa, Tanzania, and Uganda, operating alongside a sister network of independent investigative newsrooms in 22 countries.
  • 5. Global Networks Code for Africa is underwritten by a network of global partners who offer deep industry know-how, cutting-edge technology and substantive resources. CfA is an initiative of the International Center for Journalists (ICFJ) in the U.S.
  • 6. What is Agile development? Agile software development refers to software development methodologies centered around the idea of iterative development, where requirements and solutions evolve through collaboration between self-organizing cross- functional teams.
  • 7. Agile manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 8. Documentation Working software over comprehensive documentation “The main goal of effective documentation is to ensure that developers and stakeholders are headed in the same direction to accomplish the objectives of the project.”
  • 9. TYPES OF DOCUMENTATION Process Documentation Standards, project plans, reports, schedules Product Documentation Requirements, business logic, tech specification
  • 10. Our focus is on system documentation GENERAL STRUCTURE OF AGILE DOCUMENTATION
  • 11. DEVELOPER’S PERSPECTIVE Why do developers find it hard to document code?
  • 12. 1. Frequent source code change/require ment changes Frequently changes in requirements and specification leads to poor documentation or none at all Why document when we the requirements will change in the next sprint
  • 13. 2. Pressure to deliver the project on time The developer needs to deliver the project on time. The company wants to deliver the project as soon as possible because of the client’s requirements, and the first thing that goes down the drain is documentation No time to document , ship ASAP!
  • 14. 3. Developers are too close to the projects Developers are in a position where they understand whats going on in a codebase and take for granted the need to explain things as clearly as possible. Google is your friend
  • 15. 4. Developers don't need documentation Developers understand what they are working choose to skip documentation which sounds reasonable, until you came back to your codebase and have no idea what problem your code was solving What do you mean by documentation, UML diagrams?
  • 16. Value of documentation in Agile Why document?
  • 17. “Agile methods are not opposed to documentation, only to valueless documentation. Documents that assist the team itself can have value, but only if they are kept up to date. Michael Nygard
  • 18. Documentation verifies the accuracy of our assumptions about what we deem common understanding, making it easier for everyone to be on the same page. Are we on the same page ? 1. Common understanding
  • 19. It’s not uncommon for developers to complain about their product managers, saying they “don’t really understand how the software actually works”. Documentation can help developers bridge that gap and fosters Empathy Driven development(EDD) by providing context 2. Create empathy Could you explain this to me again ?
  • 20. Documenting current and past decisions helps with future problem solving 3. Aid future self/team in making better decisions Why did we choose technology x over y again ? What problem were we solving?
  • 21. Documenting team processes helps junior hires get started quicker on your team. This can apply to any category of documentation like wiki’s , readmes or any other automated tasks. Example 4. Helps with onboarding processes How do you set up this repo and other xn questions
  • 22. Every once in a while we end up with problems that are not as trivial as expected. For cases like this, creating documentation makes it easier to unpack the problem analytically. 4. Creative problem solving: Why does the svg file not inherit max height of container?
  • 24. What makes for a good doc? Can you measure good documentation? What I search for when making design and software architecture decisions:
  • 25. 1. Easy to navigate React.js
  • 26. 2. Offers sequential steps to reach specific goal. Jekyll && Postgresql
  • 27. 3. Offers occasional visual aid, in form of diagram MATERIAL UI
  • 28. 4. Embeds introductory learning 'back tracks' throughout docs Redux.JS
  • 29. 5. Provides links that provide more useful insight VICTORY.JS
  • 31. SOURCE CODE DOCUMENTATION 1. Write good comments or none at all. 1. Define naming conventions and project structure. Include nice to have tools for standardizing the your code base, using eslint tools, maybe typescript if it works for your team. 2. Introducing tracking and documenting tools such as READMEs, PR and ISSUE TEMPLATES, wikis for your projects. 1. Keep it simple and concise. DRY (Don’t Repeat Yourself) principle.
  • 34. Tip for better documentation
  • 35. 1. Executable specification: Use the Just-In-Time (JIT) approach to write the detailed specifications which is a single source information that is the test to outline the requirements/design and validate your work. DEMO: Hurumap-ui/Storybook
  • 36. 2. Document late Write system overviews towards end of the development of a release. This way you document what you have actually built DEMO: CFA WIKI
  • 37. 3. Avoid overlapping documentation This requires building larger documents from smaller ones. You can create Wikis sort of documentation to create different single pages for single topics. DEMO: CFA WIKI
  • 38. 4. Simplify documentation: Write a 5-page document, rather than a a document with 50 pages, with bullet points to provide context. DEMO: READ ME
  • 39. 5. Purpose oriented goal Create a document to cater to some immediate goal of your project. In the case of documentation, one size never fits all. Each system has its own unique documentation needs that also mean you cannot reuse the repeatable process to create documents. BARE MINIMUM CONCEPT NOTE Builds on the work plan and the reporting document WORK PLAN REPORTING DOCUMENT
  • 40. Helpful tips for organizational teams 1. The documentation effort must be baked into the agile process Wiki thursdays , ISSUE AND PR TEMPLATES 1. Everyone contributes to the documentation effort, for each sprint 2. There should be a "point person" who manages the documentation effort 3. The tech writers need to be engineers 4. No person is a silo => Write to be understood especially when writing user facing documentation
  • 42. This presentation: bit.ly/2oMDP6u Github: https://github.com/CodeForAfrica Twitter: twitter.com/Code4Africa Medium: https://medium.com/@CodeForAfrica
  • 43. Q/A

Editor's Notes

  • #20: EDD blog : https://www.empathy-driven-development.com/
  • #22: Get data to show this: