1 - Project Definition
The first step in any project is to get a clear understanding of your goals. For new builds this includes having a detailed discussion about your business model and the specifics of what you want to build. For existing applications this discussion covers the current functionality and ways that it can be expanded or improved upon. Our goal as your technology partner is to have a deep understanding of your project so that we can keep the development scope focused and clearly defined.
2 - Requirements Gathering
Some projects start with a clearly defined set of requirements, others start with a great idea but then need some help distilling that idea into concrete requirements. Our mantra is "do not overbuild". With a flexible application and Agile development practices it is always possible to add new features in the future as they are needed. Our engineers will work with you to define the focused set of features that are required to get your product live and transactional.
3 - Iterative Development
Once the requirements are defined a software architect will determine the set of tools and technologies that best meet your project's needs, taking into account any specific technologies that you require. We focus on modern, high performance, open-source technologies so that you are paying for the custom development and not the base frameworks. In most cases the software architect working on your project will have been deeply involved since the project definition phase and will continue working on your project during development as the team lead.
After the architecture is defined the team will start to build the application using an iterative development process. We follow a tight build/deliver/test cycle so that you see results early and often during the build, which allows us to easily adjust to incorporate new requirements or changes based on information learned during development or evolving business goals.
4 - Deployment
Congratulations! The fist build of your application is now ready for deployment to a production environment. We can help set up and manage an environment in the cloud, or we can install your application on our own hardware in our collocation.
5 - Support and Maintenance
Our involvement doesn't end once your application is up and running. We can help monitor and maintain your hosting environment to make sure that your application is available 24x7x365. And as your technology team we are there to work with you to define and build new features based on your customer's needs.