The outline below describes our general phased approach towards application development which is based on industry best practices. However because every project is unique, we'll adapt our approach to best suit your needs. This may mean iterating the phases (deploying working feature subsets until project completion) or breaking the project into separate deliverables executed independently.
The first problem in any design situation is to discover what the problem really is.
- We'll meet with you to discuss your needs and define the general approach we'll take towards solving them.
- We'll help you define the project's goals and clarify your expectations.
- Our proposal including a high level technical architecture, estimated costs and general terms.
Once we've worked out the terms, we're ready to get the project started.
Everything should be made as simple as possible, but not simpler.
— Albert Einstien
Requirements Gathering & Design
- We'll meet with your subject matter experts to gather detailed requirements.
- The business requirements document
- A mock-up of the user interface
- A detailed task list and construction schedule
We'll review the documents with you and amend them as needed. Once you've signed off on the plans construction can begin.
I love software, because if you can imagine something, you can build it.
— Ray Ozzie
- Application development to completion
- Additional requirements gathering as needed
- Status reported periodically and as requested
- Demos and/or screen shots of work in progress whenever possible
Through our status reports and demos we'll keep you involved in the process so we can incorporate your feedback into the project as it's being built.
We don’t have to try all the test cases. Just the ones you want to work.
- Deployment and configuration of the product to a test environment
- We'll perform end to end testing and deploy bug fixes as needed.
- The application tested and ready for your review.
At the end of this phase, if we haven't already, we'll meet and review with you the working application to prepare you for acceptance testing.
It is not a question of how well each process works; the question is how well they all work together.
— Lloyd Dobyns and Clare Crawford-Mason
User Acceptance Testing
- You'll put the system through it's paces to make sure it meets all your business requirements.
- We'll offer support and guidance on how best to test the system.
- We'll address bug fixes and minor changes as needed.
If you do find the system needs a major enhancement because of business changes or to address a need that was missed, we'll work the change through the phases from requirements gathering back to user acceptance testing.
You guys did a helluva job!
Deployment / Turn Over
- The final installation and configuration of the system in the production environment.
- The finished production system
Depending on the terms of our statement of work, we'll either turn the system over to your internal IT resources for their release to production or deploy it your production environment.
After the project has ended, we'll support the system in accordance with our service level agreement. Any changes or enhancements will be handled by working through the same phases described above.