“Agile development is like the repetition of a beautiful musical phrase, each repeat with subtle variations. Listen to ‘Bach’s Chaconne, Partita no. 2 in D minor’ to stir Agile in your soul.

Waterfall development is like a musical form, it provides the underlying structure that allows the whole band to play together.“


Agile or Waterfall?

We like to approach development in a way that offers the best from ‘agile’ and ‘waterfall’ inspired development strategies. If you do not know what this means - don’t worry, we can talk you through it over a call. Essentially these are ways of governing, managing and developing a software project.

We believe in iterative development, agile (’scrum’) management ceremonies, and a semi-waterfall style well-thought through discovery and design phase at the beginning of a project. Once the project is ‘sufficiently’ defined in the design phase, we move onto iterative development and testing, until the first set of milestones are ready to ship.

The other advantage of this mixed style of development, means that we can be upfront about costs after the discovery and design phase is complete. (If we went with a pure agile workflow, it becomes almost impossible to give much upfront clarity on fees and deliverables, beyond the cost of a 2 week ‘sprint’ engagement.)

Although this mixed approach is our preferred style and recommended approach for most custom development projects, we are also flexible and can cater to pure agile or pure waterfall workflows and sometimes recommend this approach instead for certain set ups.

Development Life-Cycle

Our software development process, has these broad stages of development.

image.png

Most complex custom development projects, require a flexible and iterative development approach, and the phases described above are not necessarily conducted linearly. Several stages may be merged together and repeated iteratively until the desired result is obtained. In practice, our development process is more like this:

Screenshot 2024-05-21 at 00.51.23.png

At each stage, we involve the customer and ensure that they have the opportunity to be involved in the planning and creation of acceptance criteria; and actively request our customers for feedback on the quality of our work and communication. We make much efforts to create understanding and take on any feedback given, in every 2-week ‘sprint’, and at each development stage.