How does the software development process work? What can I expect? This article answers these questions.
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?
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.
This stage is where the actual software development happens. With the formal specification in hand, we move quickly to churn out your software.
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.
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.
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.