CM AgileDevelopment > AgileSCM ReflexionsOnAgility
In discussing on SCM and agility, people seem to assume that CM is somehow bureaucratic by necessity —Brad writes about red tape, Carilda about meetings. Furthermore the issue seems to boil down to quantitative aspects: how lightweight the process should be. I believe that whether these concerns might have applied for historical CM, (post-)modern SCM should have dealt with them completely.
In fact, and as Brad noticed it, Agile SCM is what I have been naming —dropping 'Agile' but insisting on the 'S'— SCM (maybe falling guilty myself of
the well-known three-step sequence of reactions that meets the introduction of a new methodological principle:
(1) "it's trivial";
(2) "besides, it won't work";
(3) "anyway, that's how I did it all along",
as Bertrand Meyer put it in Object-oriented Software Construction).

The analogy I like to bring is this of brakes: even race pilots use brakes. In fact, brakes are essential for them to drive faster. The faster you drive, the more you use your brakes. The more agility you need, the more you should invest in (appropriate) SCM! But what makes SCM appropriate is likely to be as Brad said, that it would be non intrusive, non invasive: better tools, less processes.

For me, the most critical hindrance to agility is synchrony —the need to wait for someone else to reach a certain status for you to be able to proceed. It is thus first and foremost an issue of communications. Thus, ban meetings, ownership, locking, main (or predefined release) branch, excess of control... everything which artificially requires serialization.

The second problem looks like the opposite: mess, noise, spam —lack of management.

-- MarcGirod - 24 Dec 2006