
Clients submit a business requirement for new functionality or a change to a software application. This is a very high-level overview describing what they have, and what they want. The system analysts review the document, and go back to the client with any questions or issues.
The system analysts put together a Functional Design document detailing the software package changes required to accomodate the client. They review all modules of the software that will be changed, modified, or enhanced. We become involved with the project at this point. We attend all meetings and discussions, to ensure a clear understanding of the project requirements.
When the functional design is signed off by all parties, it's time to put together
the technical design. This is a very detailed document of the programming effort
required to complete the project. For every file, we list all fields, added, changed,
or deleted, and any validation. We explain all programming changes for every screen
and report, and provide a snapshot to give the users a visual.
When all parties sign-off on the technical design, the coding begins. We go to great lengths to ensure all possible issues and hurdles are addressed and resolved during the Technical design phase. This makes the programming phase much smoother.
When the programming is complete, it's unit tested. Every file, screen, report, and program affected is tested to verify that it functions as per the technical design. We review the functional and technical design documents to check that we didn't miss anything.
This phase is performed by the systems analysts from a functional standpoint. They perform full system testing to validate that the software works once it's integrated with other systems.
There are always issues that fall-out once a project goes live. We work hand-in-hand with the client to resolve all issues as quickly as possible.