Build, Test, Adapt, Repeat…

Photo by Kelly Sikkema on Unsplash

As humans, we love to plan, it helps to build our confidence in an upcoming project implementation. It helps minimise resource wastage and reduce the chance of poor product design. But the needs and wants of our product audiences are notoriously hard to predict. And this can make lingering in the planning phase for too long detrimental to the project.

In recent times a new approach has gained widespread adaptation, one that factors in an adequate amount of experimentation time and allows room for product pivot. It allows us to validate assumptions about our audience early and often, with the goal of stopping us going down a rabbit whole and depleting our precious resources.

The Iterative product release method has become the go-to for startups, corporates and all businesses in between. Today we’re going to look at how you and your venture can leverage the benefits of an iterative development approach.

The old-school way

Traditionally, application development projects were mapped out in their entirety from start to finish. A small set of project stakeholders would define the project requirements through various requirement analysis means.

Although the requirements were sourced thoroughly and from often appropriate methods, this process happened only once, at the beginning of the project. Following the requirements gathering phase, the design phase would commence, followed by development, testing and then finally release and support. This is called the Waterfall approach to software development.

The Waterfall approach had its merits and held up well for a long time. However, it’s shortcomings eventually became apparent with the rise of startups and fast-moving technology driven businesses.

Ultimately, the ability to test elements of the product early and often, and against a real customer-base, drove businesses to a new method. One which was more reactive and fluid, one which let the project mould itself round the audience’s real needs and wants.

In with the new

The Iterative approach to software development stemmed from the release of the Manifesto for Agile Software Development, in 2001. Although various methods along the same vein were in use prior to this publication.

Iterative development breaks down a behemoth project such as those implemented using the Waterfall approach, into smaller individual features. Each feature is tackled on its own, in a highly prioritised manner.

The general key structure of feature implementation is as follows:

  1. Planning — at this point a prioritised feature has been identified with an underlying set of assumptions i.e., the audience wants this, or needs that.
  2. Design — the design phase is where an appropriate first implementation of the feature is mapped out using process flows, database schema designs UI designs and more.
  3. Implementation — the designs are implemented by the technical team into a fully-fledged, and often fully functional first version of the feature.
  4. Testing — a dedicated group of testers verifies that the feature is implemented to specification and with no bugs or flaws.
  5. Evaluation — this is a critical stage. The feature is released for use by the audience and feedback is gathered to ultimately confirm the assumptions made in the planning stage. This knowledge will then help to drive subsequent iterations to success.

As indicated above, the Evaluation phase if highly important, as feedback from the audience essentially dictates the future course of the iterations.

It isn’t a bad thing if an assumption turns out to be false. The reason being is that given the overarching project was broken up into smaller components, one iteration which proves an assumption wrong is far better than implementing an entire project only to learn it was based on false assumptions at the end.

This highlights the benefits of the Iterative development approach. When you test early and often, you significantly decrease the risk of veering off course and wasting valuable resources building features that your audience doesn’t care for.

Doing “Iterative”, effectively…

The Waterfall approach is expensive, but Iterative development can be also. It pays to do your planning well and ensure it’s based on truthful sources of knowledge.

Although the feedback of a large group of customers is something to be listened to, the feedback of only a few should be treated cautiously. Hard data is often a greater and more truthful source of knowledge than opinions.

When you reach the Evaluation phase, it is prudent to source the majority of the information that you’ll be using the validate assumptions from metrics set up round use of your new feature (or features). These metric sources must be in place before the feature is released.

Some example metric platforms are; Google Analytics, Open Web Analytics, Clicky and more. And the type of metrics you’ll want to capture are:

  • Button click events
  • Page views
  • App downloads or signups
  • Other general conversion events (e.g., feature subscriptions or requests)

Direct feedback, particularly from your long-term customers, should still play a significant role in validating assumptions. On top of this, ensuring you have a reliable feature request process in place is important also.

Final words

The realm of software and application development has grown exponentially. With this, the speed at which products must keep up with their customers demands has led to a change in the way we release and enhance our products.

The Iterative approach provides the degree of flexibility we need to offer customers what they truly want. The time-tested phases of Planning, Design, Implementation, Testing and Evaluation provide product owners with the structure they need to validate assumptions early and often. Ultimately reducing wasted resources and keeping the project alive.

Make note, that it’s critical to ensure appropriate usage metric gathering mechanisms are in place. Attempting to validate assumptions off poorly sourced information could cause you to lead yourself astray.

So, in your next project, try and follow the process of Iterative development. Its goal is to ultimately help you understand your customers better. And in turn, help you deliver a product they truly love.

Originally published at https://denimdev.com.au on July 8, 2021.

PWA & Hybrid App Developer | Founder @ Denim.Dev — Greater Value / Less Code

PWA & Hybrid App Developer | Founder @ Denim.Dev — Greater Value / Less Code