SlideShare a Scribd company logo
AGILE SOFTWARE DELIVERY IN THE
UGANDAN CONTEXT
Stephen Senkomago Musoke
Software Engineer
@ssmusoke
WHY ME?
 Self taughtsoftware tinkerer
 Love the craft & growing techies (to replaceme)
 ~2 decades offailed,successful,mind blowingand soulhauntingprojectsacross
finance, education,agriculture, health, genealogy, HR, ERP (time management)
 Served clients inUG,UK, US, Australia,Europe,SA
 12 years experience starting,setting up, growing & running a Ugandancustom
software development shop
 Experiencebothsides – funder, productowner, consultant,clientconsultant,
customer, sales, technology service provider, architect,tech lead, developer, tester
2
CONTEXT SETTING
 What issoftware delivery
 The process of getting a softwareproductto market
 Ideation Requirements  Design  Implementation Deployment 
Support& Maintenance  Evolution
 Includingend user training,productionmonitoring, SecurityManagement, end-user
Security Management, end-user devices, performance management, change
management, change management
 Don’tforget the importantstuff– contracts,pricing/funding, sales/marketing,
pricing/funding,sales/marketing, stakeholder needs, competition,regulatory
competition,regulatory compliance
3
SAMPLE
PROJECTS
 Employee Management solution
 Started 2004 as timesheet
 Added recruitment & employee
onboarding, invoicing & billing, data
exports to external systems, calculators
 2011 – no more changes could be made
 PHP 3  4  5, MySQL 3  4  5
 eHealth Solution – UgandaEMR
 2015 – inherited 350 sites at 1.6.x, 2 forms
 2016 – first upgrades to 1.9.x with 4 forms
 2017/8 – Migrations to 2.0, 8 forms, 20
reports ~850 sites
 2019/20 – 3.0, 10 forms, 30 reports, ~1000
4
If your dreams
do not scare you,
they are too
small
~Richard
Branson
Aim for the stars,
and you will
probably reach
the sky
WHY DO WE
HAVE TO BE
AGILE?
 Increased executive expectations for
impact of technology projects
 Shorter delivery timelines
 Project scope/features are getting more
complex due to integration & need to
respond to more knowledgeable
customers
 Cross cutting stakeholders – no longer
confined to a single department/sector
 Relevant technology skillsets are in
short supply
 Customer behavior is changing at a very
fast rate
5
ag·ile
“abletomovequickly
andeasily”..
”abletothink and
understandquickly”
UGANDA SPECIFIC CHALLENGES?
 Not special but some areas are
compounded
 Convincing stakeholders of your project relevance
 Power & Internet
 Low appreciation of impact of technology
 Internal staff challenges
 Culture – we always have to be right
 Difficult to make pragmatic technology choices that
meet client project needs 6
PROJECT WON! CONTRACT SIGNED
7
YOUR TYPICAL PROJECT
 After a long protracted negotiation
 Fixed cost
 Fixed timeline
 Defined scope
 What happens along the way
 Requirements keep changing along the way
 Stakeholder influencing on scope – we did not think about
that
 Timelines are too short
 No single product owner
 Changing Technology platforms & choices
 Changing business environment and problem 8
HOW DID WE GET HERE
 Waterfall– rigidprocess Requirements  Design  Development  QA 
Production
 RationalUnified Process – Waterfallin the large & small
9
AGILEMANIFESTO
Uncoveringbetterwaysofdeveloping
softwarebydoingitandhelpingothersdoit
2001
10
11
AGILE VALUES Individualsand interactionsoverprocessesandtools
Working software overcomprehensivedocumentation
Customercollaborationovercontractnegotiation
Respondingto changeoverfollowingaplan
12
“Whilethereisvaluein
theitems on
theright,theitems on
theleftarevalued
more…” So how do I apply these
values?
LET US APPLY SOME
AGILE SAUCE
13
INDIVIDUALS AND INTERACTIONS OVER PROCESS AND
TOOLS
• Define what successlooks like
• Find your enduser &
determinehow your solution
helpsthem
• Find outwhy management
needsthis solution
o Use processand tools for
recordingyour results
o Engage the stakeholderswhile
keepingout oftheirway
o How doesyour team work
togetherinternally?
14
15
WORKING SOFTWARE OVER COMPREHENSIVE
DOCUMENTATION
• Giveme something to play
with NOW!
• Show stakeholdershow you
aretackling theirchallenges
• Demonstratefuture state
• SHOW PROGRESS!!!
o Documentrequirements
o Documentfeedback
o Documentyour progress,
status updateand future plans
16
Documentation isaloveletterthatyouwritetoyourfutureself
-DamianConway
CUSTOMER COLLABORATION OVER CONTRACT
NEGOTIATION
• Identify what valueis tothe
customer
• Be creativewithin your
constraints
(time/scope/budget)
• Define& work with SMART
deliverables
• Be Realistic
o Makesure your contractis
airtight
o Keepyour contract
deliverablesin sight –
documentany changes
o Pareto80/20 rule
o Searchfor win-win-win
outcome
17
RESPONDING TO CHANGE OVER FOLLOWING A PLAN
• Adaptand validateyour plan as
you learnmoreand move
forward
• The morethings changethe
more they remainthe same
o Havea plan
o A planis a guide,framework
o Keepthe lighthouse (goal)in
sight as youchange
o If you failto plan, plan tofail
18
Theonlyconstantthingischange
IN SEARCH OF THE PERFECT MOUSE
19
CEREMONIES AND TOOLS
 Standup– dailycheckin keep collaboratingeven after standup
 Retrospective – if you do not know where you have come from, you willnot
understandwhere you are and where you have to go
 Show case – release early, release often, statuscheck
 Sprintplanning
 Green build– code buildsand runs
 QA – does it do what the customer expects?
20
AIDS TO SUCCESSFUL AGILE – NON TECH
Use Prototypingtoolsto give your users a sense of what thefinalsolutionwillfeel
like and work
Spendtime collaboratingwithyour clients ina manner and languagethat they
understand– remember they have other full-time jobsnotjust your project
Discipline– keep time, promises, manage expectations,pay attention
Document, document,document –in a way thatmakes meaning toyour end-users
21
Ontimeislate!!!
Good developers write excellent code
Great developers write no code
Zen developers delete code
22
AIDS TO SUCCESSFUL AGILE – TECH
Automate & simplify deployment – to dev, staging and
demo sites
Fanatical, Meticulous version control – use GitFlow/Trunk
based development
Testing – unit, integration, stress, load, Travis CI
Security – the price is too high at the end
Document, document, document for your development
team?
Use/Leverage prebuilt frameworks, and libraries
Use an IDE – Jetbrains, VS Code, Sublime
23
Every problem is a special case of a more general
problem and you are not the first one to solve it
AIDS TO SUCCESSFUL AGILE - TECH
 Grit, persistence, perseverance, focus
 The best tool for the job is the one you know how touse
 Stick to the fundamental principles,experiment with implementation– where
necessary & possible
 Frugalinnovation– stay hungry, keep lean
 Kaizen~ SolomonKing – search for improvements, never stay stillwith the status
quo
 Contribute back to #OpenSource – give back to the community you work in
 Look after your health– what you eat, exercise
 Connect withothers outsidetech – perspective
24
AIDS TO SUCCESSFUL AGILE – TECH - PRINCIPLES
 Architecture:
 Use the simplestarchitecturepossible
 12 FactorApp
 OWASP Security Considerations
 API First Development – everything is a client
 PhoenixServers
 Schema.org for datadesigns
 Open Source - give back
 Don’t hesitate tospendmoney on a tool that willsave you time
25
CHALLENGES
Draft fatigue– toomany back and forthcycles
As requirements change, then goalsand deliverablesare forgotten
Team dynamics– changing requirements are stressful
Technology tools & choices – do not try to re-invent the wheel as much as you can,
solve the problem at hand+ know how to use your tools
26
IfIamgiven4hourstocutdownatree,Iwillspend3hourssharpening
myaxe
~AbrahamLincoln
27
READING LIST – BUSINESS & TECH
 MartinFowler – Refactoring, Patterns ofEnterpriseArchitecture &
http://martinfowler.com
 Andy Hunt/Dave Thomas – The Pragmatic Programmer
 Basecamp ShapeUp - https://basecamp.com/shapeup
 Blue Ocean Strategy
 Clean Code
 Imposters Handbookby Rob Conery (I am somewhere)
 It does not have to be crazy at work
 Blogs/Articles inwhatever languageor problem domainyou are working in
28
PARTING QUESTIONS
 Is HighQualitySoftwareWorth the Cost by MartinFowler?
https://martinfowler.com/articles/is-quality-worth-cost.html
 Yes it is, but ensure thatthis cost can be linkedto businessgoals& value such
higher revenue, market share growth/maintenance, new market entry etc
 What aboutScrum, Kanban, SAFe, etc etc
 The best tool for the job is the one you know how touse andwhichhas quick
support
 Remember the prinicples
29
IN CLOSING
DONOTBETOOBUSY
Enjoyyourproject
Keeplearning
Read,Read,Read
StandontheshouldersofGiants
Shareyourstories/experiences withothers
Discipline,Discipline,Discipline
ANDMOSTOFALL
Deliverandsatisfyyourclients
3
0
THANK YOU FOR LISTENING
For questions or suggestions
@ssmusoke
http://ssmusoke.com

More Related Content

PPT
Handling User Requirements in Technology Projects
PDF
My OpenSource Journey
PPTX
Life in the Tech Lane
PPTX
Application and Data Security in the Software Development Lifecycle
PDF
Agile Software Development for the Ugandan Context
PPTX
141125 10 lessons learned being a startup cto
PDF
Software Project management
PPTX
Bird view on projects
Handling User Requirements in Technology Projects
My OpenSource Journey
Life in the Tech Lane
Application and Data Security in the Software Development Lifecycle
Agile Software Development for the Ugandan Context
141125 10 lessons learned being a startup cto
Software Project management
Bird view on projects

What's hot (18)

PDF
Lean/Agile/DevOps 2016 part 1
PPTX
Startup CTO Role v3
PDF
Scrum Fails?
 
PDF
Open Source Software Development Practices that Works
PPTX
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
PDF
Software engineering for small product companies
PDF
CTO in a Small Startup Bryan Helmig - Zapier
PPTX
Agile for startups
PPTX
Dos and Don'ts for Developing Your App
DOC
Five tools to professional coding
PDF
Get into bed with qa and keep testing agile
PPTX
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
PPT
Career path in IT
PPTX
Preparing for a Tech Interview
PPTX
Failing With Agile
PPTX
12 Tips to Become a more Professional Tester
PDF
A Rapid Introduction to Rapid Software Testing
PPT
Herman- Pieter Nijhof - Where Do Old Testers Go?
Lean/Agile/DevOps 2016 part 1
Startup CTO Role v3
Scrum Fails?
 
Open Source Software Development Practices that Works
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
Software engineering for small product companies
CTO in a Small Startup Bryan Helmig - Zapier
Agile for startups
Dos and Don'ts for Developing Your App
Five tools to professional coding
Get into bed with qa and keep testing agile
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Career path in IT
Preparing for a Tech Interview
Failing With Agile
12 Tips to Become a more Professional Tester
A Rapid Introduction to Rapid Software Testing
Herman- Pieter Nijhof - Where Do Old Testers Go?
Ad

Similar to Agile Software Delivery for the Ugandan Context - 2019 Edition (20)

PPT
6a.Agile Software Development.ppt
PPT
6a.Agile Software Development.ppt
PPT
Agile adoption julen c. mohanty
PPTX
Agile Model for Beginner’s
PDF
How to Adopt Agile at Your Organization
PPTX
When agility meets software quality
PPTX
Agile marries itil
PPTX
WinSmart Technologies
PDF
Agile sdlc
PDF
Fundamentals of Agile
PDF
Managing international software projects interactively using scrum
PDF
Agility primer
PPTX
Adhitia Putra - Herawan My Agile, My Adventure
PDF
Agile Development Methodologies for Highly Regulated Organizations
PDF
Mqug2015 july richard whyte
PDF
Whole Agile
PPTX
Agile?! Are You Crazy???
PPT
Agile
PDF
2019 Agile ^ Scrum
6a.Agile Software Development.ppt
6a.Agile Software Development.ppt
Agile adoption julen c. mohanty
Agile Model for Beginner’s
How to Adopt Agile at Your Organization
When agility meets software quality
Agile marries itil
WinSmart Technologies
Agile sdlc
Fundamentals of Agile
Managing international software projects interactively using scrum
Agility primer
Adhitia Putra - Herawan My Agile, My Adventure
Agile Development Methodologies for Highly Regulated Organizations
Mqug2015 july richard whyte
Whole Agile
Agile?! Are You Crazy???
Agile
2019 Agile ^ Scrum
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Monthly Chronicles - July 2025
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
Mobile App Security Testing_ A Comprehensive Guide.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
“AI and Expert System Decision Support & Business Intelligence Systems”
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Agile Software Delivery for the Ugandan Context - 2019 Edition

  • 1. AGILE SOFTWARE DELIVERY IN THE UGANDAN CONTEXT Stephen Senkomago Musoke Software Engineer @ssmusoke
  • 2. WHY ME?  Self taughtsoftware tinkerer  Love the craft & growing techies (to replaceme)  ~2 decades offailed,successful,mind blowingand soulhauntingprojectsacross finance, education,agriculture, health, genealogy, HR, ERP (time management)  Served clients inUG,UK, US, Australia,Europe,SA  12 years experience starting,setting up, growing & running a Ugandancustom software development shop  Experiencebothsides – funder, productowner, consultant,clientconsultant, customer, sales, technology service provider, architect,tech lead, developer, tester 2
  • 3. CONTEXT SETTING  What issoftware delivery  The process of getting a softwareproductto market  Ideation Requirements  Design  Implementation Deployment  Support& Maintenance  Evolution  Includingend user training,productionmonitoring, SecurityManagement, end-user Security Management, end-user devices, performance management, change management, change management  Don’tforget the importantstuff– contracts,pricing/funding, sales/marketing, pricing/funding,sales/marketing, stakeholder needs, competition,regulatory competition,regulatory compliance 3
  • 4. SAMPLE PROJECTS  Employee Management solution  Started 2004 as timesheet  Added recruitment & employee onboarding, invoicing & billing, data exports to external systems, calculators  2011 – no more changes could be made  PHP 3  4  5, MySQL 3  4  5  eHealth Solution – UgandaEMR  2015 – inherited 350 sites at 1.6.x, 2 forms  2016 – first upgrades to 1.9.x with 4 forms  2017/8 – Migrations to 2.0, 8 forms, 20 reports ~850 sites  2019/20 – 3.0, 10 forms, 30 reports, ~1000 4 If your dreams do not scare you, they are too small ~Richard Branson Aim for the stars, and you will probably reach the sky
  • 5. WHY DO WE HAVE TO BE AGILE?  Increased executive expectations for impact of technology projects  Shorter delivery timelines  Project scope/features are getting more complex due to integration & need to respond to more knowledgeable customers  Cross cutting stakeholders – no longer confined to a single department/sector  Relevant technology skillsets are in short supply  Customer behavior is changing at a very fast rate 5 ag·ile “abletomovequickly andeasily”.. ”abletothink and understandquickly”
  • 6. UGANDA SPECIFIC CHALLENGES?  Not special but some areas are compounded  Convincing stakeholders of your project relevance  Power & Internet  Low appreciation of impact of technology  Internal staff challenges  Culture – we always have to be right  Difficult to make pragmatic technology choices that meet client project needs 6
  • 8. YOUR TYPICAL PROJECT  After a long protracted negotiation  Fixed cost  Fixed timeline  Defined scope  What happens along the way  Requirements keep changing along the way  Stakeholder influencing on scope – we did not think about that  Timelines are too short  No single product owner  Changing Technology platforms & choices  Changing business environment and problem 8
  • 9. HOW DID WE GET HERE  Waterfall– rigidprocess Requirements  Design  Development  QA  Production  RationalUnified Process – Waterfallin the large & small 9
  • 11. 11
  • 12. AGILE VALUES Individualsand interactionsoverprocessesandtools Working software overcomprehensivedocumentation Customercollaborationovercontractnegotiation Respondingto changeoverfollowingaplan 12 “Whilethereisvaluein theitems on theright,theitems on theleftarevalued more…” So how do I apply these values?
  • 13. LET US APPLY SOME AGILE SAUCE 13
  • 14. INDIVIDUALS AND INTERACTIONS OVER PROCESS AND TOOLS • Define what successlooks like • Find your enduser & determinehow your solution helpsthem • Find outwhy management needsthis solution o Use processand tools for recordingyour results o Engage the stakeholderswhile keepingout oftheirway o How doesyour team work togetherinternally? 14
  • 15. 15
  • 16. WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION • Giveme something to play with NOW! • Show stakeholdershow you aretackling theirchallenges • Demonstratefuture state • SHOW PROGRESS!!! o Documentrequirements o Documentfeedback o Documentyour progress, status updateand future plans 16 Documentation isaloveletterthatyouwritetoyourfutureself -DamianConway
  • 17. CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION • Identify what valueis tothe customer • Be creativewithin your constraints (time/scope/budget) • Define& work with SMART deliverables • Be Realistic o Makesure your contractis airtight o Keepyour contract deliverablesin sight – documentany changes o Pareto80/20 rule o Searchfor win-win-win outcome 17
  • 18. RESPONDING TO CHANGE OVER FOLLOWING A PLAN • Adaptand validateyour plan as you learnmoreand move forward • The morethings changethe more they remainthe same o Havea plan o A planis a guide,framework o Keepthe lighthouse (goal)in sight as youchange o If you failto plan, plan tofail 18 Theonlyconstantthingischange
  • 19. IN SEARCH OF THE PERFECT MOUSE 19
  • 20. CEREMONIES AND TOOLS  Standup– dailycheckin keep collaboratingeven after standup  Retrospective – if you do not know where you have come from, you willnot understandwhere you are and where you have to go  Show case – release early, release often, statuscheck  Sprintplanning  Green build– code buildsand runs  QA – does it do what the customer expects? 20
  • 21. AIDS TO SUCCESSFUL AGILE – NON TECH Use Prototypingtoolsto give your users a sense of what thefinalsolutionwillfeel like and work Spendtime collaboratingwithyour clients ina manner and languagethat they understand– remember they have other full-time jobsnotjust your project Discipline– keep time, promises, manage expectations,pay attention Document, document,document –in a way thatmakes meaning toyour end-users 21 Ontimeislate!!!
  • 22. Good developers write excellent code Great developers write no code Zen developers delete code 22
  • 23. AIDS TO SUCCESSFUL AGILE – TECH Automate & simplify deployment – to dev, staging and demo sites Fanatical, Meticulous version control – use GitFlow/Trunk based development Testing – unit, integration, stress, load, Travis CI Security – the price is too high at the end Document, document, document for your development team? Use/Leverage prebuilt frameworks, and libraries Use an IDE – Jetbrains, VS Code, Sublime 23 Every problem is a special case of a more general problem and you are not the first one to solve it
  • 24. AIDS TO SUCCESSFUL AGILE - TECH  Grit, persistence, perseverance, focus  The best tool for the job is the one you know how touse  Stick to the fundamental principles,experiment with implementation– where necessary & possible  Frugalinnovation– stay hungry, keep lean  Kaizen~ SolomonKing – search for improvements, never stay stillwith the status quo  Contribute back to #OpenSource – give back to the community you work in  Look after your health– what you eat, exercise  Connect withothers outsidetech – perspective 24
  • 25. AIDS TO SUCCESSFUL AGILE – TECH - PRINCIPLES  Architecture:  Use the simplestarchitecturepossible  12 FactorApp  OWASP Security Considerations  API First Development – everything is a client  PhoenixServers  Schema.org for datadesigns  Open Source - give back  Don’t hesitate tospendmoney on a tool that willsave you time 25
  • 26. CHALLENGES Draft fatigue– toomany back and forthcycles As requirements change, then goalsand deliverablesare forgotten Team dynamics– changing requirements are stressful Technology tools & choices – do not try to re-invent the wheel as much as you can, solve the problem at hand+ know how to use your tools 26 IfIamgiven4hourstocutdownatree,Iwillspend3hourssharpening myaxe ~AbrahamLincoln
  • 27. 27
  • 28. READING LIST – BUSINESS & TECH  MartinFowler – Refactoring, Patterns ofEnterpriseArchitecture & http://martinfowler.com  Andy Hunt/Dave Thomas – The Pragmatic Programmer  Basecamp ShapeUp - https://basecamp.com/shapeup  Blue Ocean Strategy  Clean Code  Imposters Handbookby Rob Conery (I am somewhere)  It does not have to be crazy at work  Blogs/Articles inwhatever languageor problem domainyou are working in 28
  • 29. PARTING QUESTIONS  Is HighQualitySoftwareWorth the Cost by MartinFowler? https://martinfowler.com/articles/is-quality-worth-cost.html  Yes it is, but ensure thatthis cost can be linkedto businessgoals& value such higher revenue, market share growth/maintenance, new market entry etc  What aboutScrum, Kanban, SAFe, etc etc  The best tool for the job is the one you know how touse andwhichhas quick support  Remember the prinicples 29
  • 31. THANK YOU FOR LISTENING For questions or suggestions @ssmusoke http://ssmusoke.com