Volume 30 Number 8
Don't Get Me Started - Why Can't We Be Friends?
By David Platt | August 2015
I just returned from the Microsoft Ignite conference, held in Chicago the first week of May. Ignite is aimed at IT people more than developers. I don’t see that side of the industry very often, which is why I wanted to explore it.
Ignite had some good ideas flying around. I especially admired the login by automatic facial recognition that’s coming in Windows 10—finally, a security improvement that requires less user effort, not more. I also liked the continuing message, “It’s the user that’s mobile, not the app,” as well as Harry Shum’s adaptation of Arthur C. Clarke’s statement when he said, “Any sufficiently advanced technology is invisible.” I’ll probably write a future column on each of these.
My biggest takeaway from Ignite was the burgeoning use of the term “DevOps,” a clipped compound of “development” and “operations” that illustrates the blurring line between these disciplines. I’m seeing a lot of that at my clients today.
Ignite had some very good sessions on DevOps. The best I saw was the Channel 9 interview (bit.ly/1Nzl5s1) with Brian Harry and Donovan Brown, in which they describe Microsoft’s own experiences in bringing DevOps to Visual Studio Online.
The fusion of development and operations results from the pressure that drives our industry: the constantly rising standard of care, as software permeates more and more of human activity. Development cycles get shorter, as clients demand that important functionality reach them sooner. Customer demand for higher quality requires more and better testing, which means testing has to be automated. Deployment also has to be automated as it gets more frequent. Customers are demanding an integrated whole, instead of the piecemeal we’ve historically served them.
As a result, developers need to start getting along with IT operations people, and vice versa. Historically, this has been problematic. The devs cut corners to meet unrealistic schedules (what other kind is there?), push out buggy software, and leave the IT people to field calls from angry users who lose their work to crashes. The devs never have time to build good IT administration tools. (Two words: “MMC Snap-In.”)
On the other hand, devs feel that IT people obstruct them at every turn by treating them like ordinary users. The devs have to work around Internet filters and password changes, automatic inactivity logouts and boring crap like software licenses, with which the IT people delight in complicating their lives.
This opposition stems from the two teams’ historically different view of their own goals. IT people prize stability over all else, and the No. 1 cause of instability is change. Devs view their role as extending and enhancing the product, for which some instability is a small price to pay. Both camps say, very loudly, “It’s hard enough to do our important work without fighting our supposed teammates.”
It’s all reminiscent of the feuding between the farmers and cowmen in “Oklahoma!” the musical. In the classic song, “The Farmer and the Cowman Should Be Friends,” Aunt Eller has to pull a gun to get the two groups to stop fighting at a square dance (bit.ly/1H3C2sK).
Aunt Eller has a point. We’re going to have to make it work, devs and IT together. It’s historically inevitable. The ops part of the team has to accept continual change as part of their lives, because they don’t have a product without it. The devs have to accept stability as one of their prime requirements, because customers value it highly.
With all that in mind, I’ve shamelessly plagiarized brilliantly re-used the code of that song:
Oh the devs and the IT guys should be friends
Oh the devs and the IT guys should be friends
One just bangs out code all day
The other has to make it play
But that’s no reason why they can’t be friends
Software folks should stick together,
Software folks should all be free
IT guys remove obstructions
Devs improve on MMC
As the original song ushered in the Golden Age of musical theater, I expect my version will usher in the Platinum Age of software. And you heard it here first, dear reader. Customers don’t care who’s in charge of what; they only care that they are, or aren’t, getting what they need. DevOps. Make it go.
David S. Platt teaches programming .NET at Harvard University Extension School and at companies all over the world. He’s the author of 11 programming books, including “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft named him a Software Legend in 2002. He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.