Product and Organizational Bloat

“Life’s too short to build something nobody wants” – Ash Maurya

YAGNI or “You Ain’t Gonna Need It” is a principle of the extreme programming approach created by Ron Jeffries (who coincidently also used story cards as a way to focus development on small items centered around interaction and conversation to gain understanding).

“Always implement things when you actually need them, never when you just foresee that you need them.” – Ron Jeffries

This idea was a cornerstone of a lot of approaches centered around lean product development and agile product thinking. It does not mean that you are not charged when developing a product that may wow and excite your stakeholders but it does mean that there is a real art in the balance of applying “not now” to a feature.

Steve Jobs is often referenced to have a keen intuition to this in guiding the feature sets of Apple products under his watch to often purposely avoid features that were not at a point of making the “right” impact. The iPhone and its lack of a few core features available in competitors is often referenced as an example of this. Why would you not implement features that were core to the competitor’s products on purpose? I am paraphrasing but I believe his response was often “it is less important to build every feature than to build the right ones and that by trying to do so, by the time completed; they will want different features”.

Anyone who has ever seen the Simpson’s episode in which Homer designed his own car (“The Homer“) realizes the potential consequences of doing everything that pops into your head within product development. The end result was a car that was intended to be designed for the “every man” but ultimately became the wishlist of Homer alone with a sticker price for $82,000.

In the 80’s and 90’s Microsoft was often the butt of many jokes within the development and design community for their Microsoft Word product because if every menu was turned on within the product it allowed the end user a small strip of editor window from which to work. Of course, this was a extreme issue to beat on a software leader of the time (and they did have at least 80% of the menus off by default for the most part). The idea though was that by providing all of these features it would allow the end user to control the customization of the product to their use. This is pretty much an old design approach that is far less prevalent as it was often necessary to be coupled with massive help guidance for those features which were embedded into the product at the time as well.

One example I have been tracking recently is Facebook’s feature growth strategy. They started out as a targeted social connector service that streamlined the interface to dominate the competitors in the market . It seems, however, now they are developing a “all services in one” model which may, or may not, pan out to be the right marketing strategy. Let’s look at how their features have unfolded lately:

  • Introduced Facebook Games possibly as a way to attempt to compete within the mobile application game market.
  • Introduced Messenger – Competition for base messaging services and maybe things like slack, skype, etc.
  • Introduced Facebook Live – Competition to other video sites such as Youtube, etc possibly.
  • Recently introduced Facebook marketplace as an alternative to Craigslist, etc.
  • Developed a phone OS to compete with Apple, Android, Google.

I think that this pattern outlines a platform that is in search of the next pinnacle. All of these services also are a way for them to feed a highly developed analytic engine that can determine the trends of users and try and guide them down a pathway based on interests. Not a bad gamble as the likelihood that you will find a segment of the market space dissatisfied with a service they are matching and willing to even just try it based on the familiarity with the Facebook platform is a solid gamble. In this fast pace environment, people like to do things with minimal friction (a later blog topic) so you will capture a market.

The key will be watching the numbers to determine if it is important to continue this feature, Google has been a master of this approach and has supported and abandoned entire products that had a minimal market share and I think Facebook will apply the same watchful nature to know when it is time to pivot or persevere. But only time will tell. 😉 Will the expand and rule some of this space or will they diffuse and diverge to find something else?

You may be thinking “are you telling me I should just build a simple, crappy product and not cultivate the product. How is that gonna fly”? This is not my intent.

Ideation is a Great Tool!

The Google Ventures Design Sprint outlines the following process (also seen in many Lean approaches) to validate and learn about feature impact as well as gain immediate feedback within a fixed horizon process (in their process this is typically one week).

  1. Understand
  2. Diverge
  3. Converge
  4. Prototype
  5. Test

Phase two of this process is centered around divergence after a period of gaining understanding of the problem space. What this entails in mass generation about potential solutions to the problem. The goal is to center around the largest number of potential solutions so that the design sprint team can cull/collapse and combine in the convergence phase to focus them for the prototype creation.

This idea of mass idea flow is not unsimilar to product feature ideation during product discovery. It should always be the goal of a product team to thinking about all the potential end user “wow” features or how they can present features in the best user experience. However, there is a dark side to all of this. You have to be able to do the same as a design sprint and cull the herd. It’s a necessity to explore and examine the potentiality of the product but it is also a real art to being able to refine the feature set down to a manageable level that maximizes impact, value and learning.

The challenge is typically not with the ideas but the skill in which those ideas are refined, combined and reduced to maximize time to market, customer joy and lay the groundwork upon which to continue to delight.

Less is More

Often as an agile leader, I am faced with the pressure of more “wants” than capacity ever allows. The worst thing I can possibly do is to say “Yes” to everything. What are the possible consequences of this posture?

  • I set a false expectation for delivery as I do not consider the capacity of what can actually be delivered.
  • I may compromise the quality of the work through a consideration of over-commitment resulting in additional rework, staff burnout or injured morale as a result of staff over alignment.
  • I remove the ability of my organization to pivot, persevere and re-adjust to organizational needs that emerge and respond as timely as possible.
  • I add the overhead of support as a hidden cost if the same staff are used for build and run operations.
  • I disallow myself the ability to continual nurturing of the culture by having horizons to focus on self learning and innovation outside of product delivery space and therefore stand to harm accepted cultural values of my group.

What my typical stance as a leader is to “do less better”. Does this mean I am unwilling or inflexible to the needs of the organization? Of course not. What I am unwilling to do is to place the health and potential damaging impact to my unit culture as a balancing point to accomplishing what is often just a “wish list”. I try and focus a view of being reasonable and responsible to my organization in terms of their needs which should also to be to keep a happy and healthy work culture intact so that capacity is not constantly in flux resulting in the overhead of onboarding and offboarding employees, morale reduction and taking away the value of the team making commitments to delivered work and respecting the commitments they make.

Many of you are reading this now and thinking “this guy works in a fairy world” but this is far from the actual case. I am a leader inside a large scale enterprise and experience the same pressures and demands as many of you. Where our thoughts may diverge is that I have to look at not only the bottom line of the enterprise but the health of staff and adherence to values to continue to be successful. It is not enough to “deliver cool stuff” if you work/life balance or work/life integration (moreso today) is overwhelmingly in the work category to an unhealthy level. The result will be a culture in which commitments become less valuable, end results become compromised and the health of your organization suffers.

Many startups have learned the harsh lesson that after the thrill of creation is done, all of the beer taps, ping pong tables, office hammocks and cool factor can wear off. These are unsustaining items of value. They are tangible things that people are enamored with as a “great environment” but later ask “is this why I stay here”? Not to say that your environment should not facilitate the best and most productive inducing experience but if that is the level of commitment by a company, this is usually seen through by software professionals over time. They look for something else. Cool challenges will keep them for a while but when the routine work sets in, what tangible things have you offered that make them want to stay?

 

But I am getting off track here. Basically this idea boils down to a belief that by not putting one’s organization in a state of over-commitment, you allow yourself to consistently wow your end customers with the things that you do produce.

When targeted your features, you build in the possibility of innovative thinking spikes in creative work and give support to failure and regrouping as an option. You make quality something that is baked in and not an afterthought.

So when you think about product features and organizational commitments and bloat, are you looking through the lens of YAGNI? What would happen if you did so?

Stay Agile!

Observations and Adjustments

“One must learn by doing the thing, for though you think you know it-you have no certainty, until you try.” – Sophocles

I always thought this was an interesting quote. You cannot gain any certainty without trying … something. And even at that, you may actually fail. But if you are truly learning, you adapt and adjust and give the next experiment a fair shake of success.

From software to science, using experiential learning as a way to define an experiment, to conduct and observe the outcome to potentially learn and adapt the experiment as needed has created amazing products and scientific breakthroughs.  It works. I think we can all agree on this.

So, why do you think we don’t apply it to something like organizations?

Fear of Failure

Thomas Edison is quoted to have said “I have not failed, I have just found 100,000 ways it will not work” in relation to his research into the first lightbulb. This is a very healthy way to look at progress but very contrary to a lot of business thought. Why do you think that is? My speculation, which could be very wrong, is that for Edison there was the possibility of the realization of a dream forged from that creative spark with future potential of a product. For many businesses, the future capital earnings heavily outweigh the creation of “the thing”. Many of the successes in the world have been born from the want to capture an idea and then only become monetized later therefore reducing the fear that capital is burnt without return.

Often times, creators of these eureka products (Google and Facebook as a couple of examples) are often shaken by the idea of monetization as the creation was the core driving factor, not the end profit result.

I honestly feel that the initial introduction of the drive to capital gain often induces this fear and it creates a trickle down effect from the very top all the way to the source of creation of the product. The pressure to get to market first and capitalize of the highest money stream may cause people to become less innovative, take less risks and instill a fear of product failure even before it hits the waters.

But I contend that keeping the horizon for learning at a “just enough” level not only helps you determine a better product but it can save money from building out full features that are often unused (see the pareto principle as applied to software features) or poorly received.

Minimal Viable Product

Eric Ries of the Lean Startup approach introduced this concept (I think it had rolled around for sometime but he is connected with the idea) as producing the smallest amount of the idea to learn from. Basically a seed of a product to gauge a posture to “pivot or persevere”.

One of the most noted examples of this approach is Dropbox. The initial MVP for this product was a marketing video explaining the product and how it would work. This was launched and an accompanying form was created so that potential customers could sign-up for future information about the product or provide feedback.

This allowed them to gauge interest to know if their investment into the product in which they saw high potential value showed a reaction by their potential market. This was actually one of the most brilliant approaches I had ever seen. They were actively working on the product and seeded their base features before completion to test the market space. Had they gotten a less than exciting response, they could have targeted marketing research and determined why or pivoted their approach in some way (either the campaign or the product work).

How did this help them in proceeding this way? It allowed them to learn about the interest of their potential market and gauge feedback from customers before launch so they could consider the feedback and potentially pivot with the market. If the feedback was a “lame duck” they could have abandoned the product altogether and pivoted towards a new direction. This allowed them the potential of failure much earlier. The potential magic of all product management after this stage is having that gut feel for how long you can ride this curiosity until the product must get to market. This is why really good product owners stand out.

Minimal Marketable (or Lovable) product

This is another concept introduced that we see extremely frequently in the market space of software and software services. Determining only those core level services or features that get buy-in to a product for more. This means that product vision has to be solid to get these to market and feedback and seeding of new features is sought to be cadenced regularly.

The initial iPhone release is a prime example of this approach. When initially released, the iPhone lacked many features that were present in many of the competition in the marketspace (MMS messaging, apps and the ability to copy and paste). But when released it became one of the fastest selling phones in the cell phone market (competing more closely with mass volume sales of game stations like the Play Station 3). Which it did seed was a phone level OS with an SDK for developers to build upon (even though there was no store in place yet for deployment or sales mechanism). These “missing features” allowed them to gauge the market reaction as they had faith in their initial MMP to ensure the importance of future features and to allow them space to ensure that they released the best quality updates with these features sought by customers.

They released a product that seeded a way for it to grow (the iOS Phone SDK), made it available to the developer community and focused on those features of differentiation that allowed them to not only contend with the market but even under strong criticism and scrutiny release the features not initially there in a thoughtful way consistent to their brand and end goals. They essentially “hooked their customers” through thoughtful and innovative design and a stellar responsive interface (far better than competitors) which allowed them to build the features that would build a community around the product. By making the Phone OS available, they even made it possible to “jailbreak” the phone and create some of the missing features which could allow them to gauge what potential customers seemed to be drawn to use. This allowed them to strive to introduce the right features at the right time and draw from the community at large to create a learning opportunity and pivot as needed.

The Design Sprint

Another recent approach to the idea of validated product learning is the Google Ventures Design Sprint . This idea distills the idea of rapid learning through a functioning (and often simulated) prototype to gauge immediate and rapid feedback from real potential customers for a idea over a short span of time. O’Relly Media has also written an excellent book on this approach which can be found here. The idea itself has been around for sometime and often attributed to be initially used at IDEO Design as early as 2009.

The idea divides the approach optimally into a 5 day approach which breaks down to one day focused on the following events:

  • Understand – Define and unpack the problem to solve (though interviews and research)
  • Diverge – Generation of ideas to solve the outlined problem (more is better, no wrong answers)
  • Converge – Determine which ideas or pieces of ideas will be pursued for testing
  • Prototype – Build a prototype of the solution that end users can actually play with and develop testing criteria to observe
  • Testing – Validate your assumptions through observation of user interaction with prototype and providing feedback

Here are a couple of real world examples of how this has been performed

Building a new Shopping Cart (IDEO, 2009)

Savioke – Building a Room Service Robot

This approach may not work for every scenario but as a tool in your toolbox for learning, this can be a rapid way to learn what resonates with your potential market and generate immediate feedback from real-world interaction.

So, where does that leave us?

In the vein of this blog being focused towards being about agile leadership, I wanted to explore this topic to hopefully inspire those leaders to truly see the value of a targeted small experiment from which you can gain quick knowledge about your potential product from which you can pivot, persevere or abandon. The key being that failure should always be an option but seen as a mechanism for learning and focus as opposed to use as something to vilify a bad approach.

I hope this will guide you to finding tools to help you target your search for knowledge or even better be inspired to create the next approach of which I blog about.

Fail fast and stay agile!

— Todd