Thursday, August 29, 2013

A Product's Local and Maxima Extrema Threads

Your product is a web of threads. These threads connect features and together, shape your product. Just like the threads of a web, when you pull, push and even add threads, your product will react and change. One way to calculate these changes is to consider your product's local and global productivity extrema and how they are connected by threads.

An ideal scenario for both a feature's productivity and a
global productivity.The productivity minimum is zero
with a positive maximum. This means the feature
( or global global) productivity is productive
 and there are no forces which drag down productivity.

Described in a product setting, the local productivity extrema is the productivity range of a one feature while the global productivity extrema is the productivity range of how well the product on the whole gets the job done. While there are many local productivity extrema, there is only one global productivity extrema.

An ideal feature would have a high maxima and shallow minimum; likewise, an ideal product would have very high global maxima and very shallow global minimum. This would mean that when using a product, a customer will be using it effectively most of the time and rarely have difficulty using it.

Broken down, the process of adding a feature and calculating it's effect on other features and global productivity can look like this.

Adding a new "location" feature

Threads Between Feature and Global Productivity Extrema  

The share & location features have little effect on the global productivity - those connecting threads are long.  However, they are closely linked because they share UI real estate - that connecting thread is short

Let's give the short threads a value of 1 and the long thread a value of .5. This will demonstrate how more force exists between features which are closer.

The Local Productivity Extrema Of The Location Feature 

Adding the new location feature will only increase it’s local maxima. This is because it didn’t exist before. 

It could be argued that since it's now added next to another feature, it's minimum is automatically dropped just like the share feature minimum drops (see next). I'd argue that since it didn't exist at all before, there's nothing to take away from it - when you take something away from nothing, you still end up with nothing. 

Instead, I notice that as features are added to a product, each new feature will start with an increasingly smaller maximum.  This is how performance oversupply occurs and adding new features ends up only deepening global productivity minimum.

The Local Productivity Extrema Of The Share Feature

Since the location & share features have short threads, they effect each other. Adding a location button made takes focus away from the share button. Deemphasizing the share feature makes it harder to find and use. This deepens it’s productivity minimum.

The Effect On Global Productivity Extrema

Using the above formula we get (1+1) - (.5 + .5) = 1.

Since setting location is a minor feature, global job productivity maxima gets the .5 increase. Since we are cluttering the UI and taking away productivity from the share button, we add the other .5 to the global productivity minimum.

More Than Horse Trading

All too often when changes to a product are considered, only the global effect is considered; however, it's a bit more complicated than that. Each feature is not only tied the overall product, but also to each other.

Your product is a web of both productive gains and loses.

* extrema is the range from maxima to minimum.