Do no harm. Optimize incrementally.

Good Simple Open is outIn my new book,, I quote a former boss of mine who had two priorities regarding our work on an established website:

  1. Do no harm
  2. Optimize incrementally

These rules clarified our work so well. We didn’t attempt major upgrades all at once because it exposed us to more points of failure. We optimized incrementally. We practiced iteration.

In, I argue that iteration is an open way of keeping things simple and doing good work.

There is a great lure to optimize in major ways. Complete makeovers to a website often elicit excitement and kudos. But they also create more points of failure and can have a terrible backlash. If we’d only launch the minimum required, bugs and issues wouldn’t be as obvious to users and as difficult to repair. Usually users work around the lack of a feature. Recently, I ran across a real-world example of this.

I use the Starbucks app daily (or at least I used to). It made it easy to budget my coffee/wifi expenses and allowed me to earn free drinks. They launched a major update to the Android app two weeks ago. Though the app looks beautiful, it has some issues. Here’s my home screen:


When I punch the nice-looking Reload button, I get this:


I select the amount to add and Add a Payment Method:


Then I choose PayPal and see this:


So since the update, I haven’t been able to reload my card.

When Starbucks launched the updated version of their app, there was another login issue. Many users noted this in Google Play store reviews and Starbucks quickly issued an update which fixed that particular issue. But this PayPal issue has been going on for weeks now. Apparently, other users are having problems with the credit card processing.

The Starbucks app for Android worked perfectly three weeks ago. Then, in an effort to do a major overhaul, they wrecked things. All the things that made the Starbucks app an advantage for me to use disappeared. As a result I haven’t been going there to work and I bet a lot of other regular customers dropped off too. While I always move around and work from different places, Starbucks could count on me to reload my card every couple of weeks. I was regular income that in their rush to optimize on a major scale, they lost.

In, I give a lot of examples and hammer home the importance of making things simple and open. The reason is that focusing on simple and open leads us to good work. Part of working simply and openly is doing no harm and optimizing incrementally. I’d rather have the Starbucks app (or any app) roll out more frequent updates than try to upgrade everything at once and completely tank the usefulness of the product. I’m sure you would too.