Building great digital products through iteration


It has been said that you can only make it once, but you can make it better as many times as you need. The concept of “iteration,” when done right, leads to simple, easy-to-use products that are widely adopted by target end-users and is successful in the marketplace. When not managed correctly, however, iteration can lead to complexity, user frustration, and even product obsolescence.

So what actually is iteration in the context of building digital products? Iteration is the technique of designing, developing and delivering incremental components of product functionality or features at regular or planned intervals. Compare this to other methods of product design and development where new products or product features and usability must be entirely completed and are launched or swapped out all at once. The “waterfall” method of product development, where a product is planned end-to-end and launched once completely tested, is common among these other methods.

At Deseret Digital Media (DDM), we are working hard to launch new products and new features via an iterative approach. We launch simple, minimal viable products (MVPs) and then iterate with simple enhancements and additions — as well as subtractions — on a regular basis. For instance, last year our Deseret News National Edition team launched a clean and easy-to-use version of the National site as soon as we had an MVP that the public could use. We did not have all of the bells and whistles that would make some areas of the site, such as our content pages, as rich as we would eventually want. However, we got a product to the market early; and, through an iterative process we now have a great user experience (UX) and a site that thousands of new users are adopting each month.

Does iteration always work? The answer is no. Let me illustrate a couple of examples where iteration may fail and then I will share a model that works well.

Failure Number 1: Iterating to Complexity

Just because a company decides to take an iterative approach does not mean it will have simple, easy-to-use products. There are many examples where iterations lead to more and more features (with nothing being removed in exchange), which then leads to more and more complexity. Finally, the original “job to be done” — or original intent — of the product is lost and the product fails.

I believe a classic case example is the story of Yahoo and its early dominance as a search engine and Web directory. In the mid-1990s, most Internet users began their daily web experience at Yahoo.com. Initially it was very simple to use. However, through the course of time, the company gradually added more and more features to its home page. Stock market information, weather forecasts, news headlines, sports scores, and custom user features eventually cluttered the entire page, yielding a very complex user experience. What did this do? It left the door wide open for Google, a simple, single entry-field page and nothing else, to come in and dominate the search industry. (Did you know: Larry Page and Sergey Brin, inventors of the “Backrub” search engine that would eventually become known as Google, approached Yahoo about using their Backrub engine to power Yahoo search. But Yahoo wasn’t interested. Focusing on better search must have been too simple.)

Failure Number 2: Iterating to Obsolescence

There are at least two scenarios where even simple, undirected iterations can lead to obsolescence.

First, if you never start out on the right path and you never iterate toward the right path, iteration upon iteration will be in vain. As mentioned briefly above, great products start out with a premise of a simple “job to be done.” This notion and framework comes from Clayton Christensen and his research into disruptive innovation at the Harvard Business School. Every product ought to be defined by the job it does and the need it should fulfill. As professor Christensen explains, customers “want a quarter inch hole, not a quarter inch drill bit.”

At DDM, we strive to follow a model where we know the job to be done first, build an MVP, and then iterate to ensure that we are getting that job done. For example, we did significant research to understand what people were searching for on the Internet regarding their families and the kinds of help they were seeking for their families. This led us to launching FamilyShare.com, Familias.com, Familia.com.br, and other family sites across the world aimed at helping families solve common everyday challenges. We are constantly iterating with those products, hoping to never lose sight of the original “job to be done.”

The second scenario where companies may “iterate to obsolescence” is where they start out on a correct path, even launching an initial product that gets the job done for end-users and their needs. But as time goes one, the company may lose the vision of its original intention. Exciting distractions and tangent paths take it away from its goal. It may even follow an iterative process of launching new features. However, it gradually loses what the customer really wanted and eventually finds its product obsolete.

Success: Iterating Toward Product Simplicity and Adoption

The model that I suggest optimizes the chance of success is where those launching and building products (1.) start with a defined job to be done, (2.) build and launch a simple MVP and (3.) then iterate on a regular basis, continually trying to nail that job down by (4.) using some best practices that will be described below. I believe consumers will adopt simple, easy-to-use products that are continually improving to meet their needs. In fact, they will even become fans of such products. The late Steve Jobs was notorious for this. While Jobs would never win a congeniality award, he knew how to build incredible products that were simple, clean and fun to use. Apple is great at launching version after version of products that gradually get better and better. As we all know, Apple users are generally Apple fans.

While this all sounds simple, there is both an art and science to getting it right and executing on such a model. However, there are some practices that help make this easier and improve the odds of success.

Six Practices to Help the Iterative Process

1. Test. Test. Test. Consider a variety of different types of tests for simple versions of new features before completely adding to or subtracting from a current product. This includes carefully measuring the results of A/B test models or rolling out new features to a small segment of the current audience and seeking feedback. Tests, along with the corresponding feedback, will help ensure that the “job to be done” is being fulfilled and ensure that unnecessary features are not added to the product.

2. Be Data Driven. At DDM we have numerous decorative patterns of binary “1s” and “0s” on our doors and walls to help us remember the importance of watching the data and understanding patterns. It is important to use real-time data tools, such as Chartbeat, Optimizely and Parse.ly, as well as deep-dive analytical tools such as Adobe Analytics (Omniture) and Google Analytics to help drive decision-making throughout the entire iterative process.

3. Listen and Watch. Listen to end-user feedback (solicited and unsolicited), user comments (both within the product and also posted externally), survey results, etc. in order to stay in touch with the pulse of the product. However, always recognize that what users say and what they do are not always consistent. Watch digital product usage via tools such as heat maps, mouse tracking, user flow reports and so forth to see what users are really doing with the product. Iterate where there are challenges and opportunities.

4. Implement an Agile Framework such as Scrum. In 2013, DDM adopted Scrum throughout the organization as a framework for iterative and incremental product development. Since that time, we have been able to launch new features quicker and with more efficiencies than any previous method we had for product development. With two-week sprint cycles, we know that we will regularly introduce new features to each product. Most importantly, the usability of our products has increased dramatically since that time. Recurring and regular intervals are critical aspects of the iterative process.

5. Develop a Product Vision & Roadmap. A product vision clearly defines the original “job to be done” for the end-user and the differentiating aspects of the product. Without a product vision document that can be referred to on a regular basis by product stakeholders, it is easy to get off track and iterate to obsolescence. Note that this doesn’t mean the vision document itself can’t go through its own iterations and become better and better. In addition, a dynamic roadmap document that points to proposed features for upcoming development and release intervals (ex. quarterly, twice-monthly, etc.) is critical for a successful iterative approach. Product vision and roadmap documents are both key components of the Scrum / Agile framework and important tools for us at DDM.

6. Remember “Less is More” (Don’t be afraid to remove features). A successful iterative approach to product development requires the discipline to not just add features, but also to remove features that are no longer necessary or aren’t gaining traction with end-users. The “Less is More” principle and phrase, commonly attributed to the famous architect Mies van der Rohe and his “minimalist” approach to design, can often be hard to achieve. Mies strove for extreme simplicity without excess clutter, ridding his designs of anything that wasn’t necessary – even combining features to create simplicity (ie. in one of his building designs, he designed the floor to serve as the radiator). For most product stakeholders, it seems that it is always easier to add features, elements, etc. rather than to take them away or make current ones simpler. Our KSL.com team continually works to adhere to these principles. For example, the site home page was laid out in three columns a few years ago. The middle column felt unnecessary and so the team figured out a way to remove that clutter. The site is currently a two-column layout and much easier to use. The team is currently working on even simpler and easier to use designs. Stay tuned!

A Final Word...

An iterative approach is a great way to build clean, easy-to-use digital products that we all hope users will love. Are there times when a wholesale swap or change-out is necessary? Absolutely. This is especially true when there have been no iterations and a product has not been improved incrementally over the course of time and has become stale or completely outdated. Also, new technologies or emerging digital platforms may make it necessary to revamp and start from scratch. For example, consider the technologies that now make it possible to build responsive websites that scale from desktop, to tablet, to phone. A wholesale product revamp may now be necessary. However, iteration is a great approach for day-in and day-out product improvement.

If you haven’t already, try the iterative approach. If that is the approach you currently take, iterate on your iterative approach and perfect it. It’s a great way to build simple, easy-to-use digital products that become better and better and hopefully, wildly successful.

Here are a few links to introduce you further to building great products through an iterative product design and development approach:

Wikipedia: Iterative Design

Wikipedia: Scrum (software development)

Wikipedia: Agile software development

Harvard Business School: Clayton Christensen's milkshake marketing

Zurb University: Iteration

UPEDU: Best practice: develop iteratively

Wikipedia: Minimalism

UX Magazine: An Iterative Approach to Innovation Strategy