Den sena och stora Jim Croce delade några truismer flesta av oss kan lätt recitera:
- Du behöver inte ryck på Stålmannens cape
- Du spotta inte i motvind
- Du drar inte masken den gamla Lone Ranger
- Och du aldrig ständigt automatisera IT utan versionskontroll
OK, kanske det är bara hur jag minns det. Men poängen är klart (för mig åtminstone): Att inte versionskontroll IT-system är rätt där uppe med alla tiders oklokt idéer mot vilket Mr Croce så kända förespråkare. Så att bränna denna på hjärnan tillsammans med resten av versen.
Föreställningen att man skulle fortsätta att distribuera och hantera programvara och konfigurationer utan versionshantering är något förbryllande. I en värld av applikationsutveckling, versionshanteringssystem är ganska mycket för givet.
I ett senare inlägg, sätter Theo Schlossnagle tala klarspråk:
"Version kontrollsystem inget nytt till världen av mjukvaruutveckling. Jag tar nu tid att unapologetically kalla dig en idiot om du inte redan har all kod och konfigurationer i ett versionshanteringssystem. "
Varför? Eftersom versionskontroll kan hastighet och förändring, det möjliggör innovation. Det låter utvecklingsprojekt på ett säkert sätt konsumera förändring. Något bröt med den senaste build? Rulla tillbaka den. Eller se skillnaden mellan den bygger och TUDELA tills du in sig på den felande skyldige. Förändring är en välkommen del av processen.
Utan versionskontroll skulle utvecklare trevande, nej, försvagade. De skulle vara paralyserad av rädsla för förändring och inte kan röra sig i takt med verksamheten ... som så många företag IT-organisationer idag.
De goda nyheterna är att för det mesta, det vet de har detta problem.
Det är för svårt att återskapa systemen i faser release livscykel. För att förstå vilka versioner av programvara har utvecklats. För att förstå dagens lapp nivåer. Att återställa ändringar och felsöka avbrott system.
Den dåliga nyheten är att man även vet att problemet bara värre.
Som virtualisering och cloud computing ta tag, kommer det se geometrisk tillväxt i antalet system som måste hanteras. Svaret är naturligtvis automation. Lägga till resurser för att ta systemet skala är inte en del av vår "nya normala."
Men kan automatisering gör fel saker hända-snabbare.
Jag tror Glenn O'Donnell på Forrester uttrycker det bäst:
"Snabb och bristfällig och du misslyckas. Snabb och tydlig och du segra. "
Vad den behöver är ett sätt att modellera system så att de är djupt förstås och ett versionshanteringssystem stiftelse för att hantera dem över tiden. När detta väl är på plats, system avsättningar och förändring blir snabb, förutsägbara, öppna och reversibel.
Automation som inte är modell-driven och version kontrolleras? Som Croce kanske eller kanske inte har sagt är det som att rycka på Stålmannens cape. Och du inte driver med Jim.