An overview on how we develop software
We routinely use a collaborative, iterative approach to the design and development of software. This approach is well known to produce quality results and be more cost effective than traditional methods that rigidly define the end result at the beginning of the project. The development process becomes a journey that the developer and client travel as the application moves through a set of working prototypes to the finished product.
We use the following steps to develop software:
We commence our projects with a short discovery phase to frame the project and access its needs. Discovery results in a high level description of the functionality, research and resolution of the project’s unknowns and where appropriate, a search of suitable commercial software that may already satisfy the requirements of the project, or act as reference points to help visualize the design phase.
The design phase is a collaborative process where we work with our client to understand the needs of the project and articulate them as choices of features and functionality. We will clearly describe the choices available and help our client decide on the best solutions.
At the end of this phase there will be a deep understanding of the client’s needs and how this translates into a software program.
This phase is complete when the design plan receives our client’s approval. When completed, the design plan also yields an accurate cost to build, test, and implement the application.
As the system is constructed, we will demonstrate tangible user interfaces and concepts to allow our client to provide us feedback. We will communicate the impact, if any, that a proposed change makes to the time and cost of the project and our client then guides the direction we travel to the end solution through these minor course corrections.
Software is not complete until it has been fully tested using an engineering approach. This includes internal unit testing at each stage of the development process, functional testing throughout the development and final validation of the application using test cases prior to its release.
After our client has approved the release candidate, we manage the release of the application to the Host site. In some cases it is appropriate to stage the release of a product to a trusted subset of the user community in order to further validate the application before it is exposed to a wider audience.
Support & Maintenance
After the completion of the project, SageKey provides ongoing support and software maintenance of the application to ensure its upkeep and availability. We have a long history of supporting our client’s core web applications and providing real time monitoring to ensure they remain online and available.
Updating the application will be conducted using a defined procedure that documents the testing and release steps required to publish an update of the program.