A group of people were discussing a variety of cars and pointing out all the things that were wrong with the make or model. One car was getting slammed because:
• Lousy Gas Mileage
• Small Passenger Compartment
• Small Trunk
• Too low to easily get into or out of
• Useless for any type of “Rough Road”
• …and the list went on…
What was special about this conversation is they were talking about the McLaren P1, one of the “Holy Trinity” of high end sports cars. None of those items would be overly relevant to someone who has purchased this car [a very limited marker, given a price tag in excess of $1M).
The root issue was that they were judging something designed for a specific set of purposes, and evaluating it across a set of conditions that for which it was never designed.
In a similar, but distinct fashion, there is a common condition where the intended purpose and the desired outcome match, but various prerequisites and conditions for success are completely ignored.
Imagine the person who wants to stretch a cars performance [and hopefully, has a legal venue to do so]. They buy the car and immediately attempt to hit maximum speed without even having done a proper break in. Or they make the attempt without sufficient driving skills, crashing the car. If the vehicle survives long enough, but proper maintenance is neglected, then problems are soon to follow.
Any (or all) of the above may result in a negative perception of the vehicle itself, rather than the actual cause of the poor outcome.
So, what does the above have to do with Software Development?
One often hears “Scrum sucks”, or “Agile sucks” [along with countless variations of the negative reaction]. The evaluation is being applied to the framework/process/methodology/philosophy [which I am going to simplify to the term “mode”] rather than looking at the desired outcome, the overall environment, or the people involved.
Decades of experience has shown that *any* mode can have a variety of outcomes, ranging from great success to abject failure. It is not that the mode itself is good or bad, but rather the “fit” for the mode in a given environment at a given time is either appropriate or inappropriate.
Over the next few installments, we will be examining a number of aspects of this based on material being posted in various forums, blogs and other places to differentiate the experiences between what is inherent in the mode and the way it is being applied.