First of all let me start out by saying “Fuck ISO 9000 and the Capability Maturity Model”, I am not so much interested in attaining a state of automation nirvana as I am in ensuring that the organizations that I work with at least have the basics covered. Besides, I believe more in the common sense of developers then I do in a bunch of aging bureaucrats that haven’t done anything real in the last thirty years.
If you live in the valley you are probably rolling your eyes back in your head by now. I know that you find this shit boring. Even though y’all (raised in Nawlins remember) think you are God’s gift to silicon, most software is developed elsewhere, so fuck off, this chapter ain’t for you. Why don’t you go outside and polish your BMWs, or go to Starbucks and get a double shot of espresso, or hug a fucking tree? Everyone knows that the valley is full of pussies and ugly ass women—so I really don’t mind if you take offence.
Hey if you were really bad asses then you would go hack Bill’s security system or paint graffiti on Larry’s yacht, just for sport. Now these are no lightweight challenges. You don’t think that Bill is stupid enough to use his own weak shit on something as important as protecting Mamma Bill and Baby Bill? Nah, I’d be willing to bet that it is Linux and Java based security. As for Larry, well he’s got an in with the Lord so you won’t be touching that yacht anytime soon, talk about kick ass security.
In fact, I overheard Larry and the Lord having a conversation and the Lord told Larry that he is tired of all his trash talking and carrying on. The Lord said “Prove to me that you’re no fool, walk across Bill’s swimming pool”. Larry said, not only will I do it; I’ll do it on prime time television and rake in a billion greenbacks on your behalf. I will do this in your honor Lord, because even though Bill has more money, everyone knows that I have gotten laid more often, and I’m way fucking better looking.
The Lord watched in amazement as Larry walked across the pool and said, “That’s nice Larry, and I appreciate the billion greenbacks, I’m getting tired of watching these television evangelists milk the poor for money. But, I was just commenting to Scott that even though you are better looking than Bill, and you have gotten laid more often (not something to be too proud of since just about anybody in the known universe can make this claim), most of the innovation these days appears to be coming out of Redmond. Bill was blessed with far more imagination—last time I checked, the database was the last good idea you had.
Of course, Scott just lost that shit eating grin he’s always wearing, “Lord what do you mean by most of the innovation appears to be coming out of Redmond?” The Lord replied, “Scott, quit whining, you are still a box peddler, and a lesser evolved species. You missed the opportunity to ride the Java train to the next evolutionary plateau. You lack Larry’s good looks and Bill’s imagination. Just run along and be a nice little yuppie, I hear Jack’s got more time on his hands these days so maybe you can squeeze in a few rounds.”
OK, I must confess, I find this shit boring and painful too. I have never known a developer that gets excited about factory processes. It falls into the category of necessary evils, like performing paperwork after defecating and paying taxes. Well, I take that back, developers that sell products into this space often become religious about it, and rightfully so, they tend to do quite well, thank you very much.
If most factories weren’t in such a state of disarray, this chapter would not be necessary. However, I feel compelled to discuss Factory 101 basics and add my name to the long list of people that the development community hates for pointing out things they know they should be doing, but often don’t. If you happen to be the manager that has been tasked with factory building, then do not despair; the web contains all the raw materials you need to put a working factory together in fairly short order. The following topics are covered in no particular order. They by no means comprise an exhaustive list, God forbid I should ever have to compile such a beast of burden; exile in Siberia would be preferable.
I intend to provide high-level process insights while at the same time preventing this chapter from turning into a manual. Most product references are specific to the Microsoft universe since that is where most of my time has been spent in the last few years. However, there are certainly analogous products available from the Java/Unix/Linux camp.