Our Software Development Process

How does the software development process work? What can I expect? This article answers these questions.

Requirements gathering

We discuss with you to clearly define the problem need solved and how it can be addressed with software. In this phase it is important for us to determine your priorities. Which parts of the software are most critical to have immediately? Which will have the biggest impact for the least development time?

Specification

Next we draw up a document that specifies how the software should function. This document describes the features you want, as well as properties the software should have, eg: security, responsiveness, reliability, etc. This software specification will guide the development process and ensure we implement exactly what you want. Subject to your approval, we move on to the next step.

Implementation

This stage is where the actual software development happens. With the formal specification in hand, we move quickly to churn out your software.

Testing

In this phase we develop tests to enforce the software specification. These tests help us to ensure that the software behaves as it should, and to prevent future changes from breaking what has already been built.

Staging and Deployment

The tested software changes are posted to a staging area where you can review them. If the changes are approved, they are deployed to the live production application. If additional development is required, we update the specification as needed and reiterate the implementation and testing phases.

Maintenance

Most people don't realize that the maintenance phase requires the most time and effort of part of software development. During maintenance we monitor the software for problems and work to keep the servers running properly. Tweaks and upgrades may also be requested.