Better Software - October 2008 - (Page 31) O dds are, if you examined the organizational chart for any company that develops software, you would not see the developers at the top. Yet in some cases, developers are able to wield their knowledge and control of the code to hold management hostage to the developers’ own agenda, playing on fear and ignorance to subvert corporate goals and customer needs. Understanding how this can happen—and what you can do about it—is key to avoiding being taken hostage and losing control of your company and its software. My first inkling that such a power reversal could exist occurred many years ago as I was filling out security forms to enter the building of a major ATM network. Around me, the sea of professionals in business attire was parted by a biker-looking dude with long scraggly hair wearing ragged denim and chains. I was surprised that no one else seemed to take notice of him as he breezed past security without so much as waving a badge. I mentioned this to the people with whom I was meeting, and they explained that the biker was Chuck and he wrote the highly complex, critical-switch software that controlled everything. As the original author, only Chuck understood it all. Management lived in fear that Chuck would quit or be killed in a motorcycle accident (he refused to wear a helmet). Management treated him like a rare commodity with special privileges, such as violating the dress code, coming and going as he pleased, and generally dictating the contents and schedule for software releases. Management acted as a supplicant when new functionality or interfaces were needed, allowing Chuck to dispense code at his whim. Even way back then, before I had started three software companies, I sensed that there had to be more to the story. How could such a mighty corporation bow down to a single weird guy? Now, with the benefit of decades of expensive experience and the luxury of hindsight, I have come to recognize that there are certain patterns that create an opening for this reversal of power from a company to a coder, as well as proven and failed strategies for dealing with it. www.StickyMinds.com I don’t believe most programmers plot to wrest control from their employers. In fact, in some cases the coder is also a victim, forced by circumstances into what he feels is a no-win position. While every situation is unique, there are certain archetypes that are common. Let’s look at them through the lens of actual—although somewhat disguised— case studies to see how they develop and what solutions will or won’t work. The Hijacker The hijacker is a developer who takes control of strategic product decisions without permission or authority, holding the company and its customers hostage to his decisions through delays and diversion. Even though the hijacker’s intentions might actually be good, the results are bad. Take the case of a developer we’ll call John. He was the unfortunate heir to a Web testing tool that was written in the early days when most Web applications used statically coded HTML pages. As the Web development paradigm shifted to dynamically generated applications with scripted controls, the basic architecture of the tool, which expected predictable page layouts, was no longer viable. As the tool failed to accommodate interactive content, bug counts started to climb and John was expected to fix these bugs. But from John’s perspective, the bugs were symptoms of fundamental flaws and the entire product needed to be rewritten from scratch. Even though John was technically correct, customers who were already using the product could not wait months or longer for a completely new version— they had issues that had to be fixed in real-time. When he failed to get management approval for the time to do the rewrite, John started elongating the turnaround time to deliver fixes, arguing that the code was so broken that it took forever to fix anything. Customers rebelled at the delays, and the company’s sales and support team was feeling the heat. By delaying the schedule, John was holding the company and customers hostage to his demands for a rewrite. Another programmer, who was onsite with a customer, discovered this when he was able to correct a problem with the OCTOBER 2008 BETTER SOFTWARE 31 http://www.StickyMinds.com Table of Contents for the Digital Edition of Better Software - October 2008 Better Software - October 2008 Mark Your Calendar Contributors eLightenment Technically Speaking Code Craft Test Connection Management Chronicles The One-Hour Regression Test Held Hostage Google Web Toolkit Product Announcements 10 Things You Might Not Know About … The Last Word Ad Index Agile Conference Brochure Better Software - October 2008 Better Software - October 2008 - (Page Intro) Better Software - October 2008 - Better Software - October 2008 (Page Cover1) Better Software - October 2008 - Better Software - October 2008 (Page Cover2) Better Software - October 2008 - Better Software - October 2008 (Page Seapine1) Better Software - October 2008 - Better Software - October 2008 (Page Seapine2) Better Software - October 2008 - Better Software - October 2008 (Page 1) Better Software - October 2008 - Better Software - October 2008 (Page 2) Better Software - October 2008 - Better Software - October 2008 (Page 3) Better Software - October 2008 - Mark Your Calendar (Page 4) Better Software - October 2008 - Mark Your Calendar (Page 5) Better Software - October 2008 - Contributors (Page 6) Better Software - October 2008 - Contributors (Page 7) Better Software - October 2008 - eLightenment (Page 8) Better Software - October 2008 - eLightenment (Page Cognizant1) Better Software - October 2008 - eLightenment (Page Cognizant2) Better Software - October 2008 - eLightenment (Page 9) Better Software - October 2008 - eLightenment (Page 10) Better Software - October 2008 - eLightenment (Page 11) Better Software - October 2008 - eLightenment (Page 12) Better Software - October 2008 - eLightenment (Page 13) Better Software - October 2008 - eLightenment (Page 14) Better Software - October 2008 - Technically Speaking (Page 15) Better Software - October 2008 - Code Craft (Page 16) Better Software - October 2008 - Code Craft (Page 17) Better Software - October 2008 - Code Craft (Page 18) Better Software - October 2008 - Code Craft (Page 19) Better Software - October 2008 - Test Connection (Page 20) Better Software - October 2008 - Test Connection (Page 21) Better Software - October 2008 - Management Chronicles (Page 22) Better Software - October 2008 - Management Chronicles (Page 23) Better Software - October 2008 - The One-Hour Regression Test (Page 24) Better Software - October 2008 - The One-Hour Regression Test (Page 25) Better Software - October 2008 - The One-Hour Regression Test (Page 26) Better Software - October 2008 - The One-Hour Regression Test (Page 27) Better Software - October 2008 - The One-Hour Regression Test (Page 28) Better Software - October 2008 - The One-Hour Regression Test (Page 29) Better Software - October 2008 - Held Hostage (Page 30) Better Software - October 2008 - Held Hostage (Page 31) Better Software - October 2008 - Held Hostage (Page 32) Better Software - October 2008 - Held Hostage (Page 33) Better Software - October 2008 - Held Hostage (Page 34) Better Software - October 2008 - Held Hostage (Page 35) Better Software - October 2008 - Google Web Toolkit (Page 36) Better Software - October 2008 - Google Web Toolkit (Page 37) Better Software - October 2008 - Google Web Toolkit (Page 38) Better Software - October 2008 - Google Web Toolkit (Page 39) Better Software - October 2008 - Google Web Toolkit (Page 40) Better Software - October 2008 - Google Web Toolkit (Page 41) Better Software - October 2008 - Product Announcements (Page 42) Better Software - October 2008 - Product Announcements (Page 43) Better Software - October 2008 - Product Announcements (Page 44) Better Software - October 2008 - Product Announcements (Page 45) Better Software - October 2008 - 10 Things You Might Not Know About … (Page 46) Better Software - October 2008 - The Last Word (Page 47) Better Software - October 2008 - Ad Index (Page 48) Better Software - October 2008 - Ad Index (Page Cover3) Better Software - October 2008 - Ad Index (Page Cover4) Better Software - October 2008 - Agile Conference Brochure (Page ADP1) Better Software - October 2008 - Agile Conference Brochure (Page ADP2) Better Software - October 2008 - Agile Conference Brochure (Page ADP3) Better Software - October 2008 - Agile Conference Brochure (Page ADP4) Better Software - October 2008 - Agile Conference Brochure (Page ADP5) Better Software - October 2008 - Agile Conference Brochure (Page ADP6) Better Software - October 2008 - Agile Conference Brochure (Page ADP7) Better Software - October 2008 - Agile Conference Brochure (Page ADP8) Better Software - October 2008 - Agile Conference Brochure (Page ADP9) Better Software - October 2008 - Agile Conference Brochure (Page ADP10) Better Software - October 2008 - Agile Conference Brochure (Page ADP11) Better Software - October 2008 - Agile Conference Brochure (Page ADP12) Better Software - October 2008 - Agile Conference Brochure (Page ADP13) Better Software - October 2008 - Agile Conference Brochure (Page ADP14) Better Software - October 2008 - Agile Conference Brochure (Page ADP15) Better Software - October 2008 - Agile Conference Brochure (Page ADP16) Better Software - October 2008 - Agile Conference Brochure (Page ADP17) Better Software - October 2008 - Agile Conference Brochure (Page ADP18) Better Software - October 2008 - Agile Conference Brochure (Page ADP19) Better Software - October 2008 - Agile Conference Brochure (Page ADP20) Better Software - October 2008 - Agile Conference Brochure (Page ADP21) Better Software - October 2008 - Agile Conference Brochure (Page ADP22) Better Software - October 2008 - Agile Conference Brochure (Page ADP23) Better Software - October 2008 - Agile Conference Brochure (Page ADP24) Better Software - October 2008 - Agile Conference Brochure (Page ADP25) Better Software - October 2008 - Agile Conference Brochure (Page ADP26) Better Software - October 2008 - Agile Conference Brochure (Page ADP27) Better Software - October 2008 - Agile Conference Brochure (Page ADP28) http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0512 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0312 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0112 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_1111 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0911 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0711 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0511 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0311 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0111 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_1110 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0910 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0710 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0510 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0310 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0110 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_1109 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0909 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0709 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0509 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0409 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware_0309 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0109 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1208 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1108_v2 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1108 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1008 http://www.nxtbook.com/nxtbooks/sqe/agile08 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0908 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0708 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0608 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0508 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0408 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0308 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0108 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1207 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1107 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1007 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0907 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0807 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0707 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0607 http://www.nxtbook.com/nxtbooks/sqe/bettersoftware0507 http://www.nxtbookMEDIA.com
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.