SlideShare una empresa de Scribd logo
1 de 43
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

Más contenido relacionado

La actualidad más candente

My Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOpsMy Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOpsVMware Tanzu
 
Introduction to Agile-Scrum
Introduction to Agile-ScrumIntroduction to Agile-Scrum
Introduction to Agile-ScrumPraveen Nair
 
Developer week: An Engineer’s Essential Tool in Agile: Design Thinking
Developer week: An Engineer’s Essential Tool in Agile:  Design ThinkingDeveloper week: An Engineer’s Essential Tool in Agile:  Design Thinking
Developer week: An Engineer’s Essential Tool in Agile: Design ThinkingAliza Carpio
 
The Art of Agile Documentation
The Art of Agile DocumentationThe Art of Agile Documentation
The Art of Agile DocumentationAgile Montréal
 
Grace Hopper 2019: Better Together, Intuit's Inner Source Journey
Grace Hopper 2019: Better Together, Intuit's Inner Source JourneyGrace Hopper 2019: Better Together, Intuit's Inner Source Journey
Grace Hopper 2019: Better Together, Intuit's Inner Source JourneyAliza Carpio
 
Day projectcon real-world-scrum
Day projectcon real-world-scrumDay projectcon real-world-scrum
Day projectcon real-world-scrumProjectCon
 
Agile & DevOps on top of Jira by Feras El Hajjar
Agile & DevOps on top of Jira by Feras El HajjarAgile & DevOps on top of Jira by Feras El Hajjar
Agile & DevOps on top of Jira by Feras El HajjarAgile ME
 
GDISD, Girl Develop It San Diego, intuit apprentice program
GDISD, Girl Develop It San Diego, intuit apprentice programGDISD, Girl Develop It San Diego, intuit apprentice program
GDISD, Girl Develop It San Diego, intuit apprentice programAliza Carpio
 
Summer-17 Internship at Spreetail
Summer-17 Internship at SpreetailSummer-17 Internship at Spreetail
Summer-17 Internship at SpreetailPadma Channal
 
5 Must-to-Read Books on DevOps
5 Must-to-Read Books on DevOps5 Must-to-Read Books on DevOps
5 Must-to-Read Books on DevOpsGanesh Samarthyam
 
Agile And Documentation
Agile And DocumentationAgile And Documentation
Agile And DocumentationSusan Patch
 
ScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne GrollScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne GrollTaylor Puleri
 
DOES15 - Mike Bland - Pain Is Over, If You Want It
DOES15 - Mike Bland - Pain Is Over, If You Want ItDOES15 - Mike Bland - Pain Is Over, If You Want It
DOES15 - Mike Bland - Pain Is Over, If You Want ItGene Kim
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachIevgenii Katsan
 
Continuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceContinuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceShawn Button
 
DevTalk: Better Together- Adventures in Pair Programming
DevTalk: Better Together- Adventures in Pair ProgrammingDevTalk: Better Together- Adventures in Pair Programming
DevTalk: Better Together- Adventures in Pair ProgrammingPerforce
 

La actualidad más candente (20)

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

Similar a Agile presentation

Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxPerumalPitchandi
 
Chen's second test slides again
Chen's second test slides againChen's second test slides again
Chen's second test slides againHima Challa
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chentechweb08
 
Chen's second test slides
Chen's second test slidesChen's second test slides
Chen's second test slidesHima Challa
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chentechweb08
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chentechweb08
 
Professional project writing
Professional project writingProfessional project writing
Professional project writingjkmaster
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfyedej15330
 
Importance of Documentation for programmers
Importance of Documentation for programmers Importance of Documentation for programmers
Importance of Documentation for programmers NASSCOM
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonTharindu Weerasinghe
 
Collaboration Beyond Code
Collaboration Beyond CodeCollaboration Beyond Code
Collaboration Beyond CodeDavid E. Weekly
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3JoseRadinGarduque2
 
Agile manifesto - Agile - What is it?
Agile manifesto - Agile - What is it?Agile manifesto - Agile - What is it?
Agile manifesto - Agile - What is it?Mediotype .
 
Distributed teams
Distributed teamsDistributed teams
Distributed teamsKush Shah
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open DevelopmentRoss Gardler
 
Prototyping & User Testing
Prototyping & User TestingPrototyping & User Testing
Prototyping & User TestingLaura Levisay
 

Similar a Agile presentation (20)

Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
 
Chen's second test slides again
Chen's second test slides againChen's second test slides again
Chen's second test slides again
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chen
 
Chen's second test slides
Chen's second test slidesChen's second test slides
Chen's second test slides
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chen
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chen
 
Professional project writing
Professional project writingProfessional project writing
Professional project writing
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Importance of Documentation for programmers
Importance of Documentation for programmers Importance of Documentation for programmers
Importance of Documentation for programmers
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & Python
 
Collaboration Beyond Code
Collaboration Beyond CodeCollaboration Beyond Code
Collaboration Beyond Code
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3
 
Agile manifesto - Agile - What is it?
Agile manifesto - Agile - What is it?Agile manifesto - Agile - What is it?
Agile manifesto - Agile - What is it?
 
Distributed teams
Distributed teamsDistributed teams
Distributed teams
 
Distributed_teams
Distributed_teamsDistributed_teams
Distributed_teams
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Prototyping & User Testing
Prototyping & User TestingPrototyping & User Testing
Prototyping & User Testing
 
Agile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdfAgile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdf
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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

Notas del editor

  1. EDD blog : https://www.empathy-driven-development.com/
  2. Get data to show this: