Whether we do website design, SEO or application development we employ the same approach. We start by getting to know the clients and their needs and end with launching a solution that satisfies these needs. We do it by following a structured process.
The chart below is an approximation of our process and the distribution of work in a typical project. For example, developing and testing account for only about half the work on the solution.
1. Propose and plan
- Purpose
- Outline the scope of the solution, estimate work duration and effort, and provide the client with a satisfactory idea about the solution and how it will be built.
- Process
- Discuss details with client; gather initial requirements; plan.
- End Product
- Proposal followed by a contract. Development plan and schedule.
2. Gather requirements
- Purpose
- Get to know in detail the requirements for the solution. At this step we learn about: - the client's business and needs; - the users and their goals and tasks; - the competitors and partners in the same industry.
- Process
- Talk to clients and/or their employees; interview current and prospective users; assess and analyze existing solutions.
- End Product
- Project concept: a detailed description of the scope, goals, users, content, navigation, look-and-feel, usage, and technical environment.
3. Build structure and interaction flow
- Purpose
- Create the framework with which the final solution will be delivered.
- Process
- Follow a set of steps: - List the tasks that users will accomplish using the solution and order them in sequences to build scenarios. - Based on the scenarios, build a mental model of how users organize the related information and actions (here we may work with users). - Create a content model and match it to the mental model. - Build the information architecture of the solution.
- End Product
- Interaction flow diagram and scenarios and Information Architecture.
4. Prototype
- Purpose
- Evaluate the solution before moving into development.
- Process
- Prepare a preliminary solution and pass it by users and customers. Conduct a walkthrough of the prototype with the customer and test it for usability with representative users. Prepare a picture (graphical design) of the solution.
- End Product
- Storyboards (also called wireframes) and graphical concept.
5. Develop and test
- Purpose
- Build the solution.
- Process
- Use a programming language that best matches the goals of the solution. Test to verify that each requirement is satisfied as specified. Employ good coding and testing practices. Automate testing as needed. Test with users for usability and acceptance.
- End Product
- Fully functional defect-free solution.
6. Launch and maintain
- Purpose
- Deliver the solution and maintain it after that as needed.
- Process
- Deploy the solution in the specified work environment. Perform final tests in live conditions. Make the necessary registration in search engines. Fix problems if any appear.
- End Product
- Live working solution.
We follow the process as outlined above but we are flexible and may add, remove, or repeat steps as necessary. Each step in the process may require the repetition of a previous step if omissions are found or the results are not satisfactory.