Stage I: Requirements Gathering
Step 1 – Initial Request for Estimate
Before we do anything, we must understand your business needs just as well as you do. Requirements gathering is the process of gaining an intimate understanding of your needs. The initial request for an estimate starts the requirements gathering process by providing us with detailed information, including artifacts such as images and copy, that describes your business ideas. The more details and artifacts you provide, the more accurate our estimation of cost and time and the more realistic our expectations.
Step 2 – Requirements Analysis
Once we receive your request for estimate, we’ll analyze your requirements and either request further clarification or draw up cost and time estimations.
Step 3 – Sign-Off
Once you feel comfortable that we clearly understand your needs, we will help to determine the best way to proceed and a mutually agreed upon requirements document will be drawn up and signed off prior to moving to the next step.
Stage II: Defining Architecture
A good architecture facilitates efficiency of development, enables future enhancements, and allows for pre-established entry points to add in new features. A well thought out architecture will drastically cut production & implementation costs.
The primary benefits of good architecture are:
- Reliability: It is established once and used many times, being tested frequently under a wide array of scenarios.
- Re-usability: It can grow over time and therefore achieve a high level of reuse.
- Scalability: It evolves and improves to handle worse case scenarios across an ever-changing set of conditions.
- Maintainability: The true test of a good architecture is how easily it can be enhanced.
- Security: Small errors can introduce large security holes. Security is designed into good architecture.
Object oriented (OO) design is the pattern that we use to define the architecture. We use standards-based community design patterns which allow for all developers to communicate under a predefined common language.
Stage III: Development
Adopting elements of both Waterfall and Agile development methodologies, electric café implements a unique development process to deliver a product that meets expectations without sacrificing quality or performance.
One side of our methodology is founded on completing critical work early in the process to save time and effort later in the process. Ensuring requirements are completely understood up front results in a more stable and predictable development process later on. Thorough documentation is used to record requirements, design, and source code to preserve knowledge for new team members, or to prevent knowledge loss in case team members leave. In addition, with a fixed set of requirements that do not change, budget and timelines are easier to predict.
The other side of our methodology is credited with easily adapting to changes in product requirements. Iterations warrant ongoing demonstrations of the product during the project life cycle, permitting continuous feedback from stakeholders. Software testing is embedded in each iteration, reducing the risk of significant issues discovered late in the process. Agile development methods focus on rapid deployment of software products.
Stage IV: Quality Assurance
Testing is not only completed by the developer who wrote the code, but by the entire project team. Our development methodology lends itself more easily to integration testing and testing the communications between developers’ work when multiple developers are involved. Our development practices include things like building test harnesses and writing test scenarios and test scripts which also improve the quality of the work along the way. Throughout the project and again as a final check after testing is completed, the team lead will walk through the requirements documentation to ensure that functionality was not missed or misinterpreted.
We also employ continuous integration, iterative testing, cross Web browser testing, setting up test environments and version control, code reviews, performance testing, deployment scripts and others.
We value quality assurance and take great care to create the right balance of testing in the scope of the project budget.
Stage V: Deployment and Beyond
The final stage of your project is the deployment of the final product into the production environment or “going live.” This may be on-site at our hosting facility or at yours. In either case, we will work with you to perform final testing to ensure that all functionality is working in the production environment.
The moment you first engage electric café, you are treated as a long term client, not just for the initial project, but for life. To us, this means that the conclusion of the initial development project does not mark the end of our relationship. We will be there to support you long after the development is completed. We have a variety of support and post warranty options available, and we will work with you to ensure that you are adequately prepared.
In addition to anticipating your post development needs, we will continually manage the documentation of potential future phases and what is sometimes considered a wish list. While it may not be on the forefront of your mind, it is comforting knowing that someone is watching the industry, technologies, and tools that can impact the solutions that will help you to achieve your long term business goals