Assembling Configuration Management Environments
(for Software Development)
by Brad Appleton
Why the name ACME?
Poor old Wiley E. Coyote
So why did I choose the name "ACME"? Simple - because I'm a huge
"Bugs Bunny & Roadrunner" fan from the days when I was an itty-bitty
kiddie addicted to cartoons! I always got a laugh out of the way Wiley
Coyote would always order these special gadgets from the fictitious
"ACME Co." in his latest scheme to catch the Roadrunner. Then I would
roll on the floor laughing while the scheme always managed to backfire
on him somehow because the contraption didn't quite work as planned
"fresh out of the box."
Many SCM tool users are in the same boat
Well, I think software tools in general, and software configuration
management (SCM) tools in particular, are much the same way. Too often,
we think we can just get our hands on an SCM tool and it will magically
take care of all our SCM problems. But wouldn't you know, it just
never seems to end up that way. The tool never quite works as planned
"fresh out of the box." We have to add some of our own planning and
communication and ingenuity to make it all work.
That's what the ACME project is supposed to be: A guide to SCM
practices and resources that help us take existing software development
tools and SCM tools and assemble them together into an effective
configuration management environment that suits our particular shop's
software development needs and processes.
Deciding what the A-C-M-E should stand for
"CM" is for "Configuration Management" (of software)
Once I decided what word I wanted the acronym to be ("acme"), I had
to figure out what each letter in the acronym would stand for. The
"CM" part was easy: Configuration Management. For accuracy, it should
really be Software Configuration Management, but there is
simply is no 'S' in "ACME" so I had to do away with it (call it "artistic
license" ;-). I had a lot of ideas for the other words, some of which
were suggested by other people.
'A' is for "Assembling"
For the 'A', suggestions were primarily: A, Advanced, Appleton, and
Architecting. Naming it after myself seemed too self-aggrandizing IMHO,
and the stuff I had in mind isn't necessarily advanced; it's more about
increasing competency in the current SCM "state of the practice,"
rather than advancing the current SCM "state of the art"! The "A" would
be a good fail-safe, if I didn't think of anything better, but I wanted
something else.
"Architecting" wasn't bad at all, and I almost used it; but it had two
problems: for purists and those with "pet peeves", it just so happens
that "architecting" isn't a "real word" (at least not in theory,
although it is commonly used -- but then again, so is "aint" ;-). But
more importantly, "architecting" tends to be more about building
something from scratch, rather than taking things already built, and
gluing them together to fit your needs (but you still have to provide
the glue, the right kind of glue in the right places for the right
amount of time). Since physical configuration management is all about
parts and assemblies, I decided that "Assembling" was a good fit. Not
only was it a pun of sorts, but it was also a more accurate depiction
of the idea I had in mind.
'E' is for "Environments"
As for the 'E', I had some suggestions for that too: Example,
Engineering, Environment, Entourage, and even Edifice ;-) Once I
decided on "Assembling," it just seemed like the best alternative of
the ones I had considered.
Th-th-th-thats all folks!!!
And there you have it: more than you ever wanted to know about how and
why I decided upon the name "ACME" and what the acronym stands for!
back to the ACME Home Page