Sunday, February 28, 2016

Satisficing

Satisficing is something you actually use all the time when you make decisions. You do this all the time whether you are aware of it or not. The word itself is a combination of satisfy and suffice. In short it means to come up with solutions that are good enough (sufficient) for the problem.

In the real world, the optimal solution for something is usually not realistic because the cost of doing the optimal solution is too expensive. If you need a dry cleaner, the ideal is to find the one with the best skills for the least price within the area you are willing to go. However, actually finding this is not practical; there are usually too many options to choose from. Instead you should just settle on the one you find first that meets your criteria. You need to do this otherwise it will take all of your time. There is not enough value to justify getting from one good enough to satisfy your needs to the optimal one. 

We do this all the time without even thinking about it. When we clean our house we will vacuum the carpets and make sure things are put away properly. Too some that alone is not satisfactory and they will wipe down the kitchen tops or clean the dust under the couch. But at sometime we all have to make a decision on what is good enough. There is always going to be a way to optimize more and make things cleaner but it is not worth the effort. Its just not worth it to get down on our hands and knees with a scrub in some obscure part of the house and scrub down a minuscule amount of grime on an already clean floor. We all decide at one point that it is clean enough and stop.

This happens all the time in business situations. I was having a conversation with a couple co-workers and one was stunned why management would not invest more time in improving some analytical report which she claimed could be at least 5% more accurate. I wasn't surprised that the manager decided that the report was good enough and would rather allocate attention to something else.

I see this situation all the time in software development. An engineer who had some issues with management explained to me that "management just doesn't understand, we engineers want this to be of high quality and as good possible. Management just wants to get this out the door." Both management and engineering have different levels of defining what is "good enough". Whats interesting is that this conflicts with an idea set in one of the best software management books that high quality is tied to self worth and enjoyment:
"Since their self-esteem is strongly tied to the quality of the product, they tend to impose quality standards of their own. The minimum that will satisfy them is more or less the best quality they have achieved in the past. This is invariably a higher standard than what the market requires and is willing to pay for.""Your marketplace, your product consumers, your clients, and your upper management are never going to make die case for high quality. Extraordinary quality doesn't make good short-term economic sense. When team members develop a cult of quality, they always turn out something that's better than what their market is asking for. They can do this, but only when protected from short-term economics. In the long run, this always pays off. People get high on quality and out-do themselves to protect it."
I think this is a core concept highlighting a natural point of conflict between makers and managers.

Wikipedia has a good example of satisficing being used in consensus building when the group looks towards a solution everyone can agree on even if it may not be the best:
Example: A group spends hours projecting the next fiscal year's budget. After hours of debating they eventually reach a consensus, only to have one person speak up and ask if the projections are correct. When the group becomes upset at the question, it is not because this person is wrong to ask, but rather because the group has already come up with a solution that works. The projection may not be what will actually come, but the majority agrees on one number and thus the projection is good enough to close the book on the budget.
It is important for each person to understand this concept of decision making. For engineers to understand the business requirements and not try to over-polish something that doesn't need it while at the same time for management to understand that high quality has its own rewards and possibly some unexpected benefits (Peopleware claims high quality = high productivity rather than an inverse). No one is questioning that famous Facebook poster that reads "Done is better than perfect". We just need to put some thought into what "Done" means.