Search Knowledge Base by Keyword

Option-Aware Smells

< Back

An organization is option-aware if…

Its people are aware that optionality is the key to resilience and antifragility and have started to frame appropriate work in terms of optionality. However, actually exercising different options causes unintended consequences far and wide. Proposing and trying different options is generally met with fear.

A boundary is at the option-aware step if…

The people that manage the boundary are aware that optionality is the key to resilience and antifragility and have started to frame their work in terms of optionality. However, plugging in different options on one side of the boundary negatively impacts entities across the boundary. Proposing and trying different options is met with fear. 

General Refactoring Strategy

Modify consumer-supplier boundaries to insulate the consumer from the side-effects of alternative supplier options.  Create attitudes at all levels that reflect the understanding that many, if not most, options will fail.

Specific Symptoms

  1. Radio Silence
  2. Trespassing Request
  3. Missing Consumer Goal
  4. Chatty Boundary
  5. False Boundary
  6. Uncertain Impact
  7. Long Lead Time
  8. Synchronization Required

Radio Silence

Symptoms:

  1. People don’t speak up with new options or criticize established ones, especially when their managers are around.

Refactorings:

  1. Apply Create Psychological Safety to eliminate the fear of proposing new options or criticizing established ones.

The following principles have usually been compromised:

2. Increase the number of independent options.

Because people won’t speak up, few new options are proposed—especially radical ones.

4. Quickly identify and eliminate unfit options.

Because people won’t speak up, unfit options, especially ones established by those in authority, are not challenged and eliminated.

  1. List all the things that harm psychological safety here.

Trespassing Request

Smells:

  1. A request from a consumer to supplier includes implementation details that the supplier is in a better position to determine.

Refactorings:

  1. Apply Invert Dependency to abstract implementation details out of the request.

The supplier is deprived of the opportunity to use its knowledge to consider options that are outside of the set assumed by the request.

  1. The consumer has some experience in the domain of the supplier, so they so their opinions about how to deliver the service leak across the boundary. When the offending party is in a position of perceived or real authority and there is an absence of the psychological safety required to negotiate a proper boundary, the problem persists.
  2. The consumer is ignorant about the proper boundary between them and the supplier.
  3. The supplier just wants to be “told what to do.”
  4. The consumer is a “control freak.”

The kind of planning we’re talking about here is the kind that results in a traditional Gantt of PERT chart; who has to do what, what they depend on, how long each step will take—all strung together on a dependency-management graph of some sort. This is not to say that this kind of project management doesn’t have its place. It just that complex problems defy the kind of predictability upon which such plans depend. Belief otherwise is the primary cause of complex project “failure.”

Missing Consumer Goal

Smells:

  1. A request from a consumer to supplier omits the goal that the consumer is trying to achieve.

Refactorings:

  1. Apply Invert Dependency to abstract define a service specification at the consumers level of interest.

The supplier is deprived of the opportunity to consider options that will satisfy the consumer’s interest more economically.

  1. The consumer gets fixated on a solution and loses sight of their own interests.
  2. The consumer has some experience in the domain of the supplier, so they so their opinions about how to deliver the service leak across the boundary.
  3. The consumer is ignorant about the proper boundary between them and the supplier.
  4. The supplier just wants to be “told what to do.”
  5. The consumer is a “control freak.”

The kind of planning we’re talking about here is the kind that results in a traditional Gantt of PERT chart; who has to do what, what they depend on, how long each step will take—all strung together on a dependency-management graph of some sort. This is not to say that this kind of project management doesn’t have its place. It just that complex problems defy the kind of predictability upon which such plans depend. Belief otherwise is the primary cause of complex project “failure.”

Chatty Boundary

Smells:

  1. In order to satisfy a request from a consumer, a lot of interactions between the consumer and supplier are required.

Refactorings:

  1. Apply Establish Role Cohesion to ensure that tightly coupled skills and accountabilities exist in one entity instead of across multiple entities.

The hight interaction overhead squeezes out time to consider many options. Options are slow to be identified, created, and culled, reducing the number of paths to the goal that can be identified in the allotted time.

  1. Consumer and Supplier roles aren’t well partitioned. One of them is performing work that really is more closely associated with the organic activities of the other. When this activity is needed by the party that should own it, they have to invoke the services of the other party. Because this activity is needed organically during the course of work it can occur frequently and at random intervals—hence the word “chatty.”

False Boundary

Smells:

  1. There is a boundary between consumer and supplier, but frequent and ad-hoc interactions outside of formal “handoffs” are needed to effectively and efficiently achieve a goal.

Refactorings:

  1. Apply Remove Boundary to the boundary to move the consumer and supplier into closer proximity enabling more seamless ad-hoc interactions.

The option identified a priori is inadequate, and the boundary overhead and delays discourage the identification of pursuit of other options.

  1. Consumer and Supplier roles aren’t well partitioned. One of them is performing work that really is more closely associated with the organic activities of the other. When this activity is needed by the party that should own it, they have to invoke the services of the other party. Because this activity is needed organically during the course of work it can occur frequently and at random intervals—hence the word “chatty.”

Uncertain Impact

Smells:

  1. You don’t know what impact process detail changes will have on those that depend on that process.

Refactorings:

  1. Apply Encapsulate Process to the service to clarify the boundary between consumer and supplier.
  2. Apply Implement Controls to the service boundry to detect whether changes to service implementation details have compromised consumer expectations.

Few options are considered because of the uncertain consequences of service implementation changes.

  1. A service lacks a clear boundary and/or experimental controls.

Long Lead Time

Smells:

  1. It takes forever to implement an option.

Refactorings:

  1. Apply Deliver Incrementally to enable earlier partial use of the option.
  2. Apply Automate Manual Process to eliminate delays and errors caused by manual work.

You don’t have time to try other options, even if you wanted to.

  1. The option as designed is large and monolithic.
  2. The option as designed is composed of manual and/or error-prone steps.

Synchronization Required

Smells:

  1. Options when developing a consumer process are limited by time constrains of a dependent process.

Refactorings:

  1. Apply Invert Dependency to decouple the consumer process from the details of the supplier process.
  2. Apply Mock Boundary to temporarily stand in for the supplier process until the supplier process is available.

You have fewer opportunities to consider supplier options, are constrained on options you can change while developing the consumer process, and it’s hard to change your mind.

  1. The consumer process depends on supplier implementation details.
  2. Development of the consumer process and the supplier process have schedules that are difficult to align.