eSaude Software Development Process 🇲🇿

Overview

Making software is a complex process that involves many stakeholders. It therefore takes a lot of time to produce a high quality system. For example, it took almost 1000 developers ($100 million/year) almost a decade to make Windows 7. Microsoft Word has been in development for over 25 years. Some highly respected software development experts say it takes 10 years to build good software.

It is often assumed that software can be completely bug free, but this is not the case. All software contains bugs and requires continued maintenance. For example, the Ubuntu operating system has 123389 bugs logged against it.

There has been much research done into the best way to develop software, and there are some well known best practices that should be followed to produce high quality software on a reliable timeline. This document describes that process in the context of the eSaude community.

Software Development Life Cycle

The image below summaries the software development life cycle process followed by the eSaude community. Each step in the process is described in detail below. 



In order to improve the quality of code delivered by the eSaude community and improve knowledge sharing and code re-use across the partners, the following development process should be used.

Since eSaude is a community, each step of the software development process should have a community engagement step. The main reason for this is to make sure all

There are a number of reasons for this
  • harmonizing/deduplication of work


Project Initiation



Requirements Elicitation

After a project is initiated, this is the first step of the software development lifecycle. Requirements elicitation/gathering is important because it ensure that everyone is on the same page about what needs to be built.

Community Engagement Step


risk mitigation - scope creep. Requirements need to be agreed on and signed off by all stake holders
before de

Technical Design & Specification

There are many developers in the network of partners with experience developing 


risk mitigation - scope creep 😱. Requirements need to be agreed on and signed off by all stake holders before coding start in order to prevent scope creep, and to protect time lines and produce predictable releases.

Coding & Documentation

A well defined 

Internal Testing

User Acceptance Testing



Deployment & Continuous Delivery


Completion of Handover