Our development projects go through four phases:
- Initial Consultation - we will provide an initial no-charge/no-obligation consultation to understand the current status and strategic goals of your project, and further explain our capabilities, pricing structure, and high-level recommendations for your specific project.
- Requirements Analysis - as a contractor building a house needs to have architectural blueprints before they can say how much time and money it will take to build that house, it is necessary for a developer to understand the detailed functional requirements of a software system in order to provide an accurate time and cost estimate. Some clients come to us prepared with complete interaction design and wireframe mockup specifications, but most do not. For that majority we will have one or more meetings with the key “stakeholders” of your project to understand their needs and expectations, and how those relate to your strategic goals. The result of this phase is a comprehensive plan for your project - the blueprints, if you will - that identifies the types of users of the system, the “use cases”, or tasks, that they will accomplish with the system, and how those use cases map to individual screens or external integration points within the system.
- Development and Deployment - armed with the blueprints, we will commence construction of your system following an “agile” development process in which prioritized sets of use cases are implemented end-to-end in a test-driven manner and deployed to a live server approximately every one to two weeks. You have the opportunity to review progress and provide feedback at every step along the way, and we approach all projects with an emphasis on security and performance from the beginning.
- Handoff or Ongoing Maintenance - for those clients who will maintain an internal technical staff, we will provide comprehensive technical documentation and training covering architecture and integration, detailed design, operational administration, and other areas as needed to ensure a successful handoff and immediate productivity. For other clients who need an ongoing technology partner, we are available on an ongoing basis to provide support, implement enhancements to the system, and troubleshoot problems.