Our process for creating innovative, useful software products.

Here at Add Jam, we use a variety of tools and process to blaze our path through the product development journey.

Every project is unique.

There's no set process to follow when creating new products - each project presents it’s individual unknown challenges and requires a bespoke approach. However, there are core values, tools and processes Add Jam use that we believe lead to the best outcome from our product development journey. We’ve collated our trusted ways of working into this handy reference guide to share our approach to tackling product development.

We’re great at making useful software products because we’re always learning. This page acts as a living guide to our process, and we’ll continually update our process as we hone our techniques and adopt new tools.

The Start.

All products start the same - with words. Initially, we have to discuss all of the ideas we have one the table and define what the product will be. It’s a delicate point in the process, as it’s all too easy for loud voices and blocked ears to shutter an idea before it reaches its full potential.

At this stage, we forget the rules - anything is possible. Only by doing this can you come up with something truly innovative.

Then reality kicks in. We need to make the product viable, and to do this we need to find a customer. Add Jam excel here - we work with you to form a concept and sketch out an ideal product vision then scale that back. We believe the key to a successful product development process is to take the path of least risk - not of least speed or effort. Our aim is always to make sure the risk is as low as possible and we want to create a 'Minimum Viable Product'.

At this stage, we have a concept that consists of two things - facts and assumptions. Facts are immovable, but assumptions, on the other hand, are our best-educated guess - the customer needs x, or the customer is willing to spend y. These assumptions must be tested so we can turn them into facts and make better decisions along the product development journey.

With this in mind, we create the core of a product as efficiently as possible so we can test for product and market fit. There's no point building a product that nobody will buy, so this process helps us define the ideal customers, how much and how frequently they will pay for the product, how we should communicate with them and assists in discovering their core needs.

Speak

Listen

Test Assumptions

Getting Visual.

When it comes to taking a concept forward, it's useful to get a mockup. The easiest way to do this is pretty low-tech, in the form of good old pen and paper. It's so fast to sketch out ideas and iterate on your design. This process refines thinking, and acts as a good exercise to go through before creating high fidelity mockups.

We use drawing tools like Sketch App and prototyping tools like Invision to rapidly prototype a representative user interface and gain insight into the user experience through animations and static user flows. It's always exciting to see a product come together through digital mockups, and it’s at this point it all starts to feel real.

Our drawing tool of choice at Add Jam is the brilliant Sketch App. It's easy to use, has useful export maps, powerful symbols and shared styles alongside a great ecosystem of plugins and the very useful Sketch Mirror iOS app when designing for mobile.

Static images are just one part of creating a visual mockup. Tools like Invision and Marvel allow us to create dense walkthroughs and give a representative example of how the product will behave when finished.

Producing these high fidelity mockups is an extremely useful part of our product development process. It helps us converge on an agreed look and feel - as well as a final feature set before commencing development. At this stage, it's quick to make changes and easy to switch around elements. The further we get into development, the more time it can take to make those changes.

Build Fast. Ship Faster.

We have a concept. We have a target UI. Let's build.

Here, our goal is to get a working version of the product into the hands of users and other stakeholders as quickly as we can - without compromising on quality. The timeframe depends entirely on the product at hand, but we usually measure this in weeks.

At this point, instead of spending time on market research, we focus on building out the minimum viable product to sell. Why? It’s simple. We’d rather collect real information from real customers, instead of building up a collection of false information from potential customers. What people say in focus groups, surveys and questionnaires tend to not accurately represent what they’ll actually do. Typically, we can build this minimum viable product in the same amount of time, or less, that it would take to carry out research into potential user engagement, and your product is on the market quicker as a result.

Our development takes place at a breakneck speed - but we do it in a responsible manner. We use tools like test-driven development, continuous integration and frequent backups to mitigate the risk of launching a broken product. Even if that were ever the case, we can roll back to a stable version very quickly through our infrastructure.

Measure - real data is king.

By this stage, we have our minimum viable product, and we're getting real paying customers to use your product. At this point, data collection is essential. The information we collect here through our analytics allows us to turn our earlier assumptions into cold hard facts.

We can easily identify problems customers have when using the product and use this information to streamline and improve the overall experience. Likewise, this data and real-world usage can highlight new opportunities and steer the product in ways we could never have imagined at the start of the product development journey.

Iterate.

After assessing our real-world usage data, and learning from our minimum valuable product, we iterate. Now, with fewer assumptions, we've deescalated the risks at this stage of product development.

Each iteration is unique and can focus on anything relating to the product - from tweaking the interface, to performance improvements for scale.

Don't be afraid to start over.

Sometime's we don't iterate - and that's ok.

When a product isn't working or proves not to be viable, we need to either call it a day or we go back to the start over from the top. There’s no point in pouring more resource into a sinking ship, let’s patch up the holes and start again.

Coming up with a strategy for growth.

Product growth starts with the product itself. For example, it's often useful to bake a referral loop into the product, which encourages users to bring peers into the product and increase the user base.

To achieve growth, we recommend following the Strategy for Pirates: AARRR. This breaks down into Acquisition, Activation, Retention, Referral and Revenue. Follow these steps and watch your growth skyrocket.

Ensuring your product scales.

Our aim is to make a product used by millions; this aim throws up some interesting (although nice to have) problems.

Everything we’ve produced up until now has been with the purpose of getting us to this point with as little risk as possible. That means not to prematurely optimise, so here we need to take time to ensure the product can operate at massive scale.

To do this we use cloud platforms such as Amazon Web Services, Google Cloud Platform and Microsoft Azure. The platform we choose to use is entirely up to the requirements outlined by the project and the product we're creating.

The nitty gritty - our stack.

Let's get technical. The languages and frameworks we use to make products are wide-ranging. From native mobile development with Objective-C, Swift and Java, to back-ends with Ruby on Rails Framework, or a functional language like Elixir using the Phoenix framework.

Sound Good? Let's get started.

Add Jam work closely with our partners throughout and pride ourselves on our ability to work in a way that suits your needs. Unlike other digital agencies, we embed ourselves into your team and work directly with you to achieve your goals. We're fully invested in making your product a success.

So let's kick off a project together! Get in touch with us through the website or email the founding team directly at michael@addjam.com or chris@addjam.com.