SlideShare a Scribd company logo
1 of 31
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

What's hot

The Role and Challenges of a PM in a New Industry by Elliptic PM
The Role and Challenges of a PM in a New Industry by Elliptic PMThe Role and Challenges of a PM in a New Industry by Elliptic PM
The Role and Challenges of a PM in a New Industry by Elliptic PMProduct School
 
Lean/Agile/DevOps 2016 part 1
Lean/Agile/DevOps 2016  part 1Lean/Agile/DevOps 2016  part 1
Lean/Agile/DevOps 2016 part 1Diego Pacheco
 
Scrum Fails?
Scrum Fails?Scrum Fails?
Scrum Fails?ACM
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that WorksChoong Ping Teo
 
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...Lviv Startup Club
 
Software engineering for small product companies
Software engineering for small product companiesSoftware engineering for small product companies
Software engineering for small product companiesRaman Kannan
 
What Is Global Product Development by RING Product Manager
What Is Global Product Development by RING Product ManagerWhat Is Global Product Development by RING Product Manager
What Is Global Product Development by RING Product ManagerProduct School
 
CTO in a Small Startup Bryan Helmig - Zapier
CTO in a Small Startup  Bryan Helmig - ZapierCTO in a Small Startup  Bryan Helmig - Zapier
CTO in a Small Startup Bryan Helmig - ZapierWebrazzi
 
Five tools to professional coding
Five tools to professional codingFive tools to professional coding
Five tools to professional codingSuneel Dogra
 
Get into bed with qa and keep testing agile
Get into bed with qa and keep testing agileGet into bed with qa and keep testing agile
Get into bed with qa and keep testing agileAgileCymru
 
What's the Product Manager Role Like by PlayStation former PM
What's the Product Manager Role Like by PlayStation former PMWhat's the Product Manager Role Like by PlayStation former PM
What's the Product Manager Role Like by PlayStation former PMProduct School
 
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)Tal Ben-Simon
 
Preparing for a Tech Interview
Preparing for a Tech InterviewPreparing for a Tech Interview
Preparing for a Tech Interviewprojekt202
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agilelazygolfer
 
12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional TesterPractiTest
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 

What's hot (20)

The Role and Challenges of a PM in a New Industry by Elliptic PM
The Role and Challenges of a PM in a New Industry by Elliptic PMThe Role and Challenges of a PM in a New Industry by Elliptic PM
The Role and Challenges of a PM in a New Industry by Elliptic PM
 
Lean/Agile/DevOps 2016 part 1
Lean/Agile/DevOps 2016  part 1Lean/Agile/DevOps 2016  part 1
Lean/Agile/DevOps 2016 part 1
 
Startup CTO Role v3
Startup CTO Role v3Startup CTO Role v3
Startup CTO Role v3
 
Scrum Fails?
Scrum Fails?Scrum Fails?
Scrum Fails?
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that Works
 
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
Anastasya Razryadova - Difficulties in building Pre-sale as a Service and why...
 
Software engineering for small product companies
Software engineering for small product companiesSoftware engineering for small product companies
Software engineering for small product companies
 
What Is Global Product Development by RING Product Manager
What Is Global Product Development by RING Product ManagerWhat Is Global Product Development by RING Product Manager
What Is Global Product Development by RING Product Manager
 
CTO in a Small Startup Bryan Helmig - Zapier
CTO in a Small Startup  Bryan Helmig - ZapierCTO in a Small Startup  Bryan Helmig - Zapier
CTO in a Small Startup Bryan Helmig - Zapier
 
Agile for startups
Agile for startupsAgile for startups
Agile for startups
 
Dos and Don'ts for Developing Your App
Dos and Don'ts for Developing Your AppDos and Don'ts for Developing Your App
Dos and Don'ts for Developing Your App
 
Five tools to professional coding
Five tools to professional codingFive tools to professional coding
Five tools to professional coding
 
Get into bed with qa and keep testing agile
Get into bed with qa and keep testing agileGet into bed with qa and keep testing agile
Get into bed with qa and keep testing agile
 
What's the Product Manager Role Like by PlayStation former PM
What's the Product Manager Role Like by PlayStation former PMWhat's the Product Manager Role Like by PlayStation former PM
What's the Product Manager Role Like by PlayStation former PM
 
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
 
Career path in IT
Career path in IT  Career path in IT
Career path in IT
 
Preparing for a Tech Interview
Preparing for a Tech InterviewPreparing for a Tech Interview
Preparing for a Tech Interview
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agile
 
12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 

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

Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileNitor
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training Anat (Alon) Salhov
 
Product Development Demystified: Launching Faster with Confidence through Hum...
Product Development Demystified: Launching Faster with Confidence through Hum...Product Development Demystified: Launching Faster with Confidence through Hum...
Product Development Demystified: Launching Faster with Confidence through Hum...Aggregage
 
A dive into DESIGN THINKING – Making products and services that people want
A dive into DESIGN THINKING – Making products and services that people wantA dive into DESIGN THINKING – Making products and services that people want
A dive into DESIGN THINKING – Making products and services that people wantAndy McBride
 
Will Everitt, Pacific Magazines
Will Everitt, Pacific Magazines Will Everitt, Pacific Magazines
Will Everitt, Pacific Magazines Hilary Ip
 
AO, the future of agile organisations the sap case #3
AO, the future of agile organisations   the sap case #3AO, the future of agile organisations   the sap case #3
AO, the future of agile organisations the sap case #3Pierre E. NEIS
 
#speakgeek - Agile development in iconnect360
#speakgeek - Agile development in iconnect360#speakgeek - Agile development in iconnect360
#speakgeek - Agile development in iconnect360Derek Chan
 
Agile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john colemanAgile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john colemanOrderly Disruption
 
Agile development in iconnect360
Agile development in iconnect360Agile development in iconnect360
Agile development in iconnect360William Lim
 
Agile Comes to You (Mironov, Bellevue)
Agile Comes to You (Mironov, Bellevue)Agile Comes to You (Mironov, Bellevue)
Agile Comes to You (Mironov, Bellevue)Enthiosys Inc
 
Introduction to Agile Project Management
Introduction to Agile Project ManagementIntroduction to Agile Project Management
Introduction to Agile Project ManagementSemen Arslan
 
2009 Flow Impacting Private Equity
2009 Flow   Impacting Private Equity2009 Flow   Impacting Private Equity
2009 Flow Impacting Private Equityreesebourgeois
 
Salesforce Agile Methodology and Tools
Salesforce Agile Methodology and ToolsSalesforce Agile Methodology and Tools
Salesforce Agile Methodology and Toolssonumanoj
 
Introduction to agile
Introduction to agileIntroduction to agile
Introduction to agileunruliness
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017AgileNZ Conference
 
The app trail how ideas move out of the drawing board onto the app store
The app trail how ideas move out of the drawing board onto the app storeThe app trail how ideas move out of the drawing board onto the app store
The app trail how ideas move out of the drawing board onto the app storeBitMin Infosystems Pvt. Ltd
 

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

Agility primer
Agility primerAgility primer
Agility primer
 
Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in Agile
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training
 
Product Development Demystified: Launching Faster with Confidence through Hum...
Product Development Demystified: Launching Faster with Confidence through Hum...Product Development Demystified: Launching Faster with Confidence through Hum...
Product Development Demystified: Launching Faster with Confidence through Hum...
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
A dive into DESIGN THINKING – Making products and services that people want
A dive into DESIGN THINKING – Making products and services that people wantA dive into DESIGN THINKING – Making products and services that people want
A dive into DESIGN THINKING – Making products and services that people want
 
Will Everitt, Pacific Magazines
Will Everitt, Pacific Magazines Will Everitt, Pacific Magazines
Will Everitt, Pacific Magazines
 
AgilePgM® - Agile Programme Management - Foundation
AgilePgM® - Agile Programme Management - FoundationAgilePgM® - Agile Programme Management - Foundation
AgilePgM® - Agile Programme Management - Foundation
 
AO, the future of agile organisations the sap case #3
AO, the future of agile organisations   the sap case #3AO, the future of agile organisations   the sap case #3
AO, the future of agile organisations the sap case #3
 
#speakgeek - Agile development in iconnect360
#speakgeek - Agile development in iconnect360#speakgeek - Agile development in iconnect360
#speakgeek - Agile development in iconnect360
 
Agile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john colemanAgile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john coleman
 
Agile development in iconnect360
Agile development in iconnect360Agile development in iconnect360
Agile development in iconnect360
 
Agile Comes to You (Mironov, Bellevue)
Agile Comes to You (Mironov, Bellevue)Agile Comes to You (Mironov, Bellevue)
Agile Comes to You (Mironov, Bellevue)
 
Introduction to Agile Project Management
Introduction to Agile Project ManagementIntroduction to Agile Project Management
Introduction to Agile Project Management
 
2009 Flow Impacting Private Equity
2009 Flow   Impacting Private Equity2009 Flow   Impacting Private Equity
2009 Flow Impacting Private Equity
 
Salesforce Agile Methodology and Tools
Salesforce Agile Methodology and ToolsSalesforce Agile Methodology and Tools
Salesforce Agile Methodology and Tools
 
Introduction to agile
Introduction to agileIntroduction to agile
Introduction to agile
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
 
The app trail how ideas move out of the drawing board onto the app store
The app trail how ideas move out of the drawing board onto the app storeThe app trail how ideas move out of the drawing board onto the app store
The app trail how ideas move out of the drawing board onto the app store
 
Agile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdfAgile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdf
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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