“The world is wide, and I will not waste my life in friction when it could be turned into momentum.”
Frances E. Willard.
As you all know already, OSS projects can be large, complex and cumbersome. Over the years, I’ve found so many different styles of inertia at play, some conspiratorial, but mostly related to fear of the unknown… And there are many unknowns when starting out on every OSS project.
One of the techniques that I discovered to help overcome this fear, partly by accident, was what I refer to as the Momentum Spiral (or corkscrew analogy), which is shown below.
As the diagram indicates, we want to make a transition from the current state (blue circle) to a desired future state (yellow circle). The ideal situation is to follow the blue line, but often the gap between future state and current state is too large for the project team to be willing to cross in one step. Or has too many unknowns and/or dependencies to be able to leap tall buildings in a single bound, even if you are an OSS superman (or superwoman).
I was at an impasse on an OSS project where I was attempting to take the customer from current to future state and needed their guidance as to what configuration would best fit their way of doing business. At that point in time, they didn’t have the background understanding of a number of OSS principles. So I decided to take them on a journey, a series of smaller steps that they were more comfortable with via configurations in their sandpit environment, documentation and training. In effect, we were taking a smaller step with each turn of the spiral and building up the customer’s knowledge and confidence with each step. Each step allowed the customer to see a little closer towards the desired future state and provide the necessary guidance to get to that state in a manner that would suit their organisation.
I also use a similar version of this approach when creating documents when there are elements of the unknown or there are multiple contributing parties, each with partial knowledge of the complete solution or complex inter-dependencies (as per the chessboard analogy).
This approach is often also required when consulting with a client about a proposed OSS transformation – helping them to get to a mix of the following that they’re most comfortable with:
- Scope
- What functionality they need (mandatory)
- What functionality they desire (eg future, custom because it doesn’t come out-of-the-box, etc)
- What sized budget is viable for the functionality delivered (and what cost-benefits are delivered by the proposed scope)
- How long before business value must be realised (eg adjacent considerations like other in-flight project dependencies)
See also the Triple Constraint post
To be honest, it’s not always the most efficient way of achieving an outcome (the red line is obviously far longer than the blue line), but when an impasse is reached or inertia has taken hold, small steps are required to build momentum and move ever closer to the desired outcome.