First things first, we understand your business and ensure we know how to build what you need. During this phase, we ask a lot of questions and understand what technical challenges you are trying to solve. Key things we strive at obtaining during this phase include:
The key point of the discovery phase is to find out how we can help you best achieve your technology goals. Although our process always start with Discovery, it is something that never ends, as there is always more to learn as your business and goals change. By being in the same page with your business needs, we can help solve the challenges that you face today, while also keeping you prepared for the opportunities you will encounter tomorrow.
Once we know where we are going, it is time to plan how we get there. We use an Agile method to software engineering and organize ambitious development goals into smaller units of work best for tactical planning. Things we do during the Strategy phase include:
The Strategy phase lets is find out what we need to do in order to make your project a success. Once we have your goals codified as tactical units of work, we can then prioritize what needs to be done based on business need. As always, if your goals change due to changing business needs or customer feedback, we can codify new work and re-prioritize quickly and effectively.
After having a plan of attack, we work together to write out the specifics of what needs to be done. Everything from wireframes to interactive use cases created so that estimates and acceptance can be made effectively. During this phase we ensuring the following:
Great Specifications make the difference between engineering teams that are able to build out great software and those that instead always run in circles. As we make specifications as they are needed, we can work on building software quickly instead of waiting for the entire application to be defined top to bottom. This process allows features to be well thought out while also being agile enough get key parts of your project out to your customers faster then the our competitors.
When two weeks worth of work are specified, we start building software in a fast-paced two week development cycle called a "Sprint". Afterwards, you will have a new peice of your application ready for production. This phase focuses on the following:
Engineering sprints are where the action happens, and lets us stay nimble while also relentlessly focusing on quality. Sprints are a very collaborative processes, which require engineers and product owners to work together in ensuring features get built the right way the first time. At the end of each and every Sprint, engineers will have a new iteration of production quality software ready for acceptance and subsequent deploy.
Concluding a Sprint, we deploy your new features to a testing tier, allowing you to make any final checks. Once everything is accepted, we then deploy your latest revision of software to your customers, ready to use. Throughout this phase we provide the following:
After we finish an integration of software, it is time to perform final acceptance. This ensures that the software developed meets all the needs of the Specification while also hitting the mark for your business goals. Once everything is checked and ready to go, we then deploy the latest version of your software up to production and in front of your customers. Once deployed, we immediately start the next iteration and continue building out your next great thing.