Product Development Phases

A Reference Guide for our Clients

Although every product is unique and every project is different, there are some general steps that can be applied as a guiding framework. The following steps overlap and the order may change for certain projects. However, it should give you a good idea of what to expect.

1. Project Strategy and Setup

We create a private GitHub repository and project with initial milestones and grant access to team members from our organizations. We create project-appropriate labels to manage workflow and set preliminary deliverable dates on the milestones.

We schedule and conduct a GitHub project management conference call to provide necessary training on how project details will be discussed going forward. Register a free GitHub account if you don't already have one.

2. Competitor and Market Analysis

We conduct an in-depth competitor analysis using our premium research and analytics software such as BuiltWith.

For certain competitors, we enable change monitoring to keep a close eye on new developments and changes that may affect our venture.

If you have not already, prepare a list of direct and indirect competitors you are aware of.

Conduct a study of the target market to determine user personas we will refer to going forward.Try to provide us with as much information as possible on what the perceived audience is. If you have specific people you know that you believe are ideal users, we can use them as a baseline to extrapolate various preferences of others in demographics.

We try to establish technological familiarity and preferences to help guide the UX going forward. This information will be especially useful for interface design as well as marketing pages.

3. Technology Selection

We identify which technologies and services this application will need and select any third-party service providers. We provision a bootstrapped application to the first staging container. Then we create development branches and define merging policy. If applicable, define the unit and functional testing policy.
Later on, as the application takes shape, we will start preparing the infrastructure for a production launch. Based on the application, this could mean several things. As an example, for most client-facing web applications we will provision CloudFront distributions, configure the caching policy and run stress tests to emulate real-world traffic. Meanwhile, for mobile applications, this will include procuring live certificates for push notifications.

4. Copywriting and Aesthetics

If applicable, procure necessary resources to create any marketing copy and designs for marketing pages.

Although we have designers and copywriters on staff, in some cases bringing on a contractor will make more sense, especially for niche industries we are not familiar with.

For designs, we utilize which allows us to review them and iterate over concepts, much like GitHub is used for the codebase.

5. Development Sprints

The actual programming part of the project starts here. We work in an agile manner with very short release cycles - typically daily. This is an intense phase during which a senior developer, or a team of senior developers, will dive into delivering the features we have defined this far.
At this point, our engineers are armed with significant background information, designs, and content. Weekly team alignment meetings are conducted and we ask you to be available as much as possible in our Slack channel to review and input.

6. Staging & Testing

This is when we run a closed beta. Identify and engage early adopters of the system. These are specific people that will use the application and provide critical initial feedback.

We will provide them with dedicated access to staging containers and login credentials if necessary.

We will also establish standard communication channels between our teams and these people to get their feedback quickly.

7. Launch

After we have analyzed feedback from our early adopters and the closed beta phase has wrapped up, it is time to open our project up to the world. We will create the marketing campaign for our target audiences and get the word out.

8. Monitor & Scale

With live traffic to the application, we will closely monitor new user behavior and on-boarding trends. Engineers will keep a close eye on resource usage and logs, analyzing them periodically. Meanwhile, the project managers will review user idea suggestions and bug reports.

Any actionable items will be brought up and discussed on GitHub as new issues, with a standard bi-weekly meeting to address any big-picture items. In most cases, we will provide a bi-weekly health report detailing visitors, conversions and other pertinent user interaction events to help us quantify growth and adoption.