Our process

With over a decade of expertise in custom software development, our development approach has been meticulously refined, prioritising adaptability, customer collaboration, and iterative progress. Our methodology is a sophisticated blend, incorporating the structured rigour of traditional waterfall models with the dynamic responsiveness of agile methodologies. This hybrid strategy is designed to ensure that we consistently meet our clients’ requirements, delivering custom software within the agreed parameters of cost and quality.

4 distinct phases

Successful software projects




Development Iterations


Testing and Deployment


Support and Maintenance

Phase 1 - Discovery

The discovery phase is crucial for setting a solid foundation for software development. It helps in aligning the development objectives with client goals, ensures that all requirements are understood by both parties, and lays the groundwork for successful project planning and execution.

Included are:

to understand client needs, expectations, priorities, and any concerns.

to collect detailed requirements for the software development in the form of functional requirements, technical requirements, user stories, process flows etc.

to assess the technical, operational, and financial viability of the software development. The development needs to be aligned to budget, feature set and quality expectations.

to define a high-level scope including outlining major deliverables, project objectives, and key milestones.

to identify potential risks that could impact the project’s timeline, budget, or quality.

to assess software, hardware, and network requirements, as well as any integration needs with existing systems.

to identify the personnel (developers, designers, project managers, etc.), technology, and materials.

Phase 2 - Development Iterations

Develop the software through repeated cycles (iterations) and in smaller portions at a time. This allows for incremental building, testing, and refinement.

Included are:

at the start of each iteration with a planning workshop to gather and assess requirements and goals for the development iteration.

based on the requirements create or update the software architecture and design decisions for the iteration.

the features and functionalities defined for the current iteration.

to identify and fix bugs or issues and to ensure that the new features work as intended and that existing functionalities are not adversely affected.

gather feedback at the end of the iteration from stakeholders, end-users to understand their perspective on the new features

update project documentation to reflect any changes or additions made during the iteration.

features, changes and enhancements

the results of the iteration against the goals set.


The process repeats, starting from the planning phase for the subsequent iteration, taking into account lessons learned and feedback from previous iterations.

Phase 3 - Testing and Final Deployment

Once all iterations are completed, perform system and user acceptance testing. Once the software meets the desired criteria a final deployment of the software . This includes final testing, bug fixing, and preparing deployment and support documentation.

Phase 4 - Support and Maintenance

A separate contract is entered into to ensure that the software is kept operational, and any necessary updates and fixes are made.