How We Do It

Custom software solutions… our way.

Our Development Methodology

Developed over years, our methodology has become something that works for us and for our clients.

Software development methodology cycle

People are visual, and we understand this — requirements and design are done in tandem. Clients know more about their requirements when they can visualise how those requirements will manifest on screen. Each loop below repeats until the outcome is right, which is what keeps surprises out of the final delivery.

1

Requirements & Design

Requirements are explained by way of wireframe screen layouts which facilitate discussion and creativity. Doing requirements and design together means the client can see the shape of the solution before development begins.

2

Design / Development Loop

The wireframe screen layouts are used by the developers to build working screens with limited initial functionality. The client can then provide feedback and changes can be quickly integrated. This process keeps repeating until the desired functionality is attained.

3

Testing / Development Loop

With the functionality in place, we work with the client to integrate and test the application so that it meets the requirements without bugs. We also use automated test scripts to facilitate the process. This repeats until the application is acceptable to the client.

4

Deployment

With the application deemed bug-free, it is deployed to a production server — whether hosted by us, internally, or in the cloud. We work to ensure the process seamlessly integrates with the existing workflow.

5

Maintenance & Support

After the application has been implemented, changes may occur and we are there to help with any changes or enhancements as they come up.

Development Tools

A merging synergy of our own tooling with the latest in development technologies.

Software development tools and technologies

We have been developing software for and have picked up a few tricks along the way. Our core library holds common functionality that we reuse — tested for performance and reliability.

We needed a way to communicate bugs and feature requests with our clients, but email, spreadsheets and other offerings were not doing the trick. We wanted it to be simple and easy to use for us and our clients, so we built an intuitive application to help the development process.

The foundation of any good application is the database. We work with several leading databases, each of which has a particular niche, and we employ the right one for the specific needs of the client.

We believe that good software cannot be built in a vacuum. We are constantly looking for new open source projects and frameworks that will enhance our applications and improve overall performance and functionality.

For the look and feel of the application, we built a tool that allows the client to interact with different colours, fonts, grids and other UI elements in real time, so the client knows exactly what the final appearance will be.

Building Blocks

Our core library of pre-built components, tested in the field and proven to perform.

When we build an application, we start out with a foundation of solid technologies. These provide the backbone of the application and are a great way to begin.

We then add our Building Blocks — ready-made pieces of code and UI that work seamlessly with the foundation to provide an excellent framework that the custom application can build upon.

The custom code is the heart of the application and integrates with the Building Blocks and the foundational technologies to provide an overall system that is performant, robust, easy to maintain — and exactly made to order.

Layered software development building blocks