Building great products starts with a great work process. We’ve broken down the steps we use to work with clients, and included a real example (company called ChatSummit) to help you visualize the process. This playbook covers the workflow of building a new product end-to-end, but we can also help with one specific area of your product, so we encourage any potential clients to read through the playbook.
Let’s start our Proccess!
Once we’ve confirmed that we’re a good fit for your project, the first step will be to start diving deeper into your ideas and overall vision. By fully understanding all the aspects of your product, business and customers, we will be able to translate your vision into a product people will love.
On this step we will answer the following questions:
- Who are the different types of users?
- What are the most common use cases?
- What are the specific user stories for each user persona?
- What are the major features/functionalities of your product?
- What is your competitive value in the market?
- What problem(s) is your product solving?
Answering these questions will give us a baseline for which technologies you need, as well as a general timeline.
Example: When we first spoke with the founder of ChatSummit, we knew his overall vision was to build a community tool that helps people discover the most relevant connections within their professional networks. By answering the above questions, we were able to start bringing this idea to life in the form of a web application, that would include the most valuable features in the first version.
Statement of Work
At this stage, we have a baseline of what we want to build. It is important for us to invest the time to create a detailed statement of work to assure that we are aligned with the client on the specifications, expectations and timeframe. A clear project plan is always easier to follow.
Our statement of work will include the following sections:
- Scope of Work
- Period of Performance
- Break-down of Work Requirements
Once we sign the SOW, we can move on to the UX/UI and development phases.
UX & Wireframes
Once we have a better understanding of the users, user stories, and features, we can start to plan out the customer journey. A customer journey will show how your users will reach their goals in your application. Thinking about the steps they will need to take, our product and design team will aim to make this journey as simple as possible. Upon mapping out the user flow, we can begin creating low-fidelity wireframes, which are black and white sketches of the screens.
We will answer the following questions:
- What will motivate a customer to use your product?
- How will we on-board the user?
- What steps the user needs to take in order to get value from your product?
- What is the purpose and function of each screen?
- What should the call-to-actions be?
The wireframes will be our first taste of what the product can look like. They are not meant to be beautiful, but provide us with a baseline to agree on. Once we agree on the basic flow, the designers and developers can get to work making your product as beautiful as it is functional.
Example: Once we knew the features we would want in the first version of ChatSummit, we could begin to map out the customer journey. The main features included signing up to the platform, live video chat, a matching algorithm, the ability to create an online summit, the ability to invite people to the online summit, the ability to join an online summit and the ability to speak with more than one person during a summit. We then wrote out the steps that the user will need to take in order to get to the value, which was to discover new community members.
We believe that a functional user experience is key to the success of any product. If an application is beautiful, but people don’t know how to use it, then how do we keep them coming back for more? UX is at the forefront of our design process, ensuring that your product looks just as great as it is simple to use.
The design process includes:
- Customer Journey Map - Since we are already familiar with the customer journey, or steps the users will need to take in order to reach your product’s value, we will create a customer journey map. Using black and white wireframe sketches, the map will show the breakdown of all the screens and how they will interact with one another.
- High-fidelity mock-ups - We will then take the black and white wireframe sketches and create colorful mock-ups of each screen, showing exactly what each fully-designed page will look like.
- Interactive Prototype - We will then use a prototype tool, such as invision app, to create a first interactive model of the product. You will be able to play with the product as if it was actually built, in order to get a feel for how it will look and function. The great part about this stage, is we are able to learn quickly and go back to the drawing board if need be, without wasting any costly development time.
Example: Once we had a prototype of the ChatSummit web app, we were able to get a feel for how the product will actually look and work in real life. In playing with the product, we gained a major insight - how will people know what to talk about on the live video chat after they are matched with someone from their professional network? We then decided to add one step to the customer journey to remove this potential friction in the product. By editing the mockups at this stage, we didn’t interfere with the development.
Our team utilizes the agile methodology, which means that we work iteratively, breaking up the development into small tasks. Instead of building an entire product from start to end and then testing to see how it works, we build in short cycles, completing a small portion of the project at a time. This allows us to easily adapt to change, learn as we go and avoid wasting time.
The short cycles are composed of weekly sprints, where each developer is assigned specific tasks. With a team of people and multiple tasks, it is important that we stay organized and in-sync throughout the weekly sprints. In order to work efficiently and keep the team aligned on the same goals, we apply the following methods:
- Daily - Once a day we have a catch-up to discuss our progress, what we plan to work on that day, and any challenges that may be setting us back from achieving our goals. If there are any obstacles, we discuss how we will overcome them directly after the catch-up.
- Weekly Team Stand-up - Once a week our team meets to review the previous week and prepare for the upcoming week, dividing new tasks among team members.
- Weekly Client Stand-up - Once a week or every 2 weeks, depending on what is most comfortable for the client, we have a touch-base meeting to show progress and update on next steps.
- Task Review - Upon the completion of every task, our project manager will review it to assure it was done accurately and is bug-free.
- Trello - We use a project management tool called Trello to manage our time and tasks. Trello allows us to create tasks, assign team members to tasks, and move tasks between phases, such as: To-Do, In-Progress, In-Review and Done.
After features are completed, they are ready to be tested by our quality assurance team. In order to prepare for testing, our developers will move the features from the development environment into a staging environment. The process of transitioning the features from one environment to the next is called deployment.
After the QA team has approved the features, they will then be deployed to a production environment, which is a live environment that is exposed to real users.
In order to prepare for a smooth transition between environments, we automate most of the deployment process, making it both simple and quick.
Once moved to the staging environment, our quality assurance team will be able to review the code and check for any bugs. It is important that we monitor the engineering process and apply common methods used for ensuring high-quality software. We will only continue on to the next phase once the outcome of testing has proven to meet quality standards.
Once the features have passed all quality tests, they will be moved to the production environment, which is the actual live environment that is exposed to real users.
We recommend before launching your product, to do some beta testing internally with coworkers, friends or family. This will be a great way to test out the first version with real people and get quick feedback and insight into how it works. Often, only when playing with the finished version, do you realize something crucial is missing, or something you thought was very important isn’t so significant after all.
Example: When the first version of ChatSummit weny live, their team scheduled a few rounds of testing amongst themselves to see how it worked. They quickly learned that one of their automatic email drips was not clear enough, and left their co-workers confused at one stage of the process. By editing the copy and providing more details in the email, it made the platform much easier to use, and eliminated this friction point. The team was happy to have discovered this before the big launch.
Once features are live, it doesn’t mean our work is complete. Software development is never 100% finished and requires a certain level of maintenance. To ensure that your application operates at peak performance levels, we offer on-going maintenance and technical support.
The types of maintenance include:
- Error monitoring and bug fixing - We will continuously monitor the software and fix any new bugs that are discovered.
- Performance optimization - As your user base grows, performance will be impacted. We will make sure the servers run as they should and optimize when needed.
- Enhancing current features - As users start to share their feedback or requests for new functionalities, we will enhance any features that can improve the user experience.
- Implementing new features - After gathering feedback and requests, you may learn that a new feature is necessary in order to improve the user experience. By first understanding the user’s pain point, we can decide togehter if the solution is an enhancement or a new feature.
Once your product has launched and starts to gain traction, we will want to prepare the servers to respond in a certain way during both the high-volume and low-volume times.
During peak hours we will want to use more resources to assure quality performance, and during non-peak hours we will want to use less resources. In order to make this happen, we set the infrastructure to auto scale and define thresholds.
By automatically adjusting the resources based on usage, we optimize performance, save resources and further save money.
Let’s Get to Work!
Now that you have a better idea of our work methodology and how we build successful products that people love, let’s get started on your project.
Philadelphia, PA 19146 +1 (267) 285-6700