Top Banner
AGILE SOFTWARE DEVELOPMENT IN THE UGANDAN CONTEXT Stephen Senkomago Musoke – Technologist & Problem Solver @ssmusoke and @styxtechgroup
18

Agile Software Development for the Ugandan Context

Feb 14, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile Software Development for the Ugandan Context

AGILE SOFTWARE

DEVELOPMENT IN THE

UGANDAN CONTEXT Stephen Senkomago Musoke – Technologist & Problem Solver

@ssmusoke and @styxtechgroup

Page 2: Agile Software Development for the Ugandan Context

WHY ME?

¨ Lifetime software tinkerer ….

¨ My fair share of failed, successful, mind blowing and soul haunting projects

¨ I love tech & growing techies

¨ Served clients in UK, US, Australia, Europe, South Africa

¨ 12 years experience setting up, growing & running a Ugandan custom software development shop

¨ Worked in and ran a large international custom software service provider in South Africa & Uganda

¨ Now Tech lead for nationwide eHealth software rollout 2

Page 3: Agile Software Development for the Ugandan Context

WHY DO WE HAVE TO BE AGILE?

q Increased executive expectations for impact of technology projects

q Shorter delivery timelines

q Project scope/features are getting more complex due to integration and need to respond to customers

q Cross cutting stakeholders – no longer confined to a single department

q Relevant technology skillsets are in short supply

q Customer behavior is changing at a very fast rate (so moving target)

3

ag·ile

“able to move quickly and

easily”..

”able to think and understand

quickly”

Page 4: Agile Software Development for the Ugandan Context

UGANDA SPECIFIC CHALLENGES?

q Not special but some areas are compounded

q Power & Internet

q Low appreciation of impact of technology

q Internal staff challenges

q Culture – we always have to be right

q Difficult to make Pragmatic technology choices that meet client project needs

4

Page 5: Agile Software Development for the Ugandan Context

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

¨ Timelines are too short

¨ No single product owner

5

Page 6: Agile Software Development for the Ugandan Context

AGILE MANIFESTO

Uncovering better ways of developing

software by doing it and helping others do it

6

Page 7: Agile Software Development for the Ugandan Context

AGILE VALUES q Individuals and interactions over processes and tools

qWorking software over comprehensive documentation

qCustomer collaboration over contract negotiation

qResponding to change over following a plan

7

“While there is value in the items onthe right, the items on the left are valued more…”

So how do I apply these values?

Page 8: Agile Software Development for the Ugandan Context

LET US APPLY SOME AGILE SAUCE

8

Page 9: Agile Software Development for the Ugandan Context

INDIVIDUALS AND INTERACTIONS OVER PROCESS AND TOOLS

• Define what success looks like

• Find your end user & determine how your solution helps them

• Find out why management needs this solution

o Use process and tools for recording your results

o Engage the stakeholders while keeping out of their way

o How does your team work together internally? 9

Page 10: Agile Software Development for the Ugandan Context

WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION

• Give me something to play with NOW!

• Show stakeholders how you are tackling their challenges

• Demonstrate future state

• SHOW PROGRESS

o Document requirements

o Document feedback

o Document your progress, status update and future plans

10

Page 11: Agile Software Development for the Ugandan Context

CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION

• Identify what value is to the customer

• Be creative within your constraints (time/scope/budget)

• Define & work with SMART deliverables

• Be Realistic

o Make sure your contract is airtight

o Keep your contract deliverables in sight – document any changes

o Pareto 80/20 rule

11

Page 12: Agile Software Development for the Ugandan Context

RESPONDING TO CHANGE OVER FOLLOWING A PLAN

• Adapt and validate your plan as you learn more and move forward

• The more things change the more they remain the same

o Have a plan

o A plan is a guide, framework

o Keep the lighthouse (goal) in sight as you change

o If you fail to plan, plan to fail

12

Page 13: Agile Software Development for the Ugandan Context

AIDS TO SUCCESSFUL AGILE – NON TECH

¨Use Prototyping tools to give your users a sense of what the final solution will feel like and work

¨Spend time collaborating with your clients in a manner and language that they understand – remember they have other full-time jobs not just your project

¨Discipline – keep time, promises, manage expectations, pay attention

¨Document, document, document – in a way that makes meaning to your end-users

13

On time is late!!!

Page 14: Agile Software Development for the Ugandan Context

AIDS TO SUCCESSFUL AGILE – TECH

¨Automate & simplify deployment – to dev, staging and demo sites

¨Fanatical, Meticulous version control – use GitFlow

¨Testing – unit, integration, stress, load, Travis CI

¨Security – the price is too high at the end

¨Document, document, document for your development team?

¨Use prebuilt frameworks, and libraries

¨Contribute back to #OpenSource

14

Every problem is a special case of a more general problem and you are not the first one to solve it

Page 15: Agile Software Development for the Ugandan Context

CHALLENGES

¨Draft fatigue – too many back and forth cycles

¨As requirements change, then goals and deliverables are 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

15

If I am given 4 hours to cut down a tree, I will spend 3 hours sharpening my axe

~ Abraham Lincoln

Page 16: Agile Software Development for the Ugandan Context

READING LIST – BUSINESS & TECH

¨ Martin Fowler – Refactoring, Patterns of Enterprise Architecture & http://martinfowler.com

¨ Andy Hunt/Dave Thomas – The Pragmatic Programmer

¨ Basecamp blog - https://m.signalvnoise.com/

¨ Blue Ocean Strategy

¨ Clean Code –

¨ Imposters Handbook by Rob Conery (I am reading it now)

¨ Blogs/Articles in whatever language or problem domain you are working in

16

Page 17: Agile Software Development for the Ugandan Context

IN CLOSING DO NOT BE TOO BUSY

Enjoy your projectKeep learning

Read Stand on the shoulders of Giants

Share your stories with othersDiscipline, Discipline, Discipline

AND MOST OF ALL Deliver and satisfy your clients

17

Page 18: Agile Software Development for the Ugandan Context

THANK YOUFor questions or suggestions

@ssmusoke and @styxtechgroup http://ssmusoke.com

http://styxtechgroup.com