Dr. Dobb's Journal - April 2008 - (Page 50) d04ambler_p3ds 2/13/08 9:42 AM Page 50 The Agile Edge This group of people formed a development team and began to gain experience with test-driven development (TDD), continuous integration, architectural envisioning, agile requirements change management, iterations, and nonsolo development. They quickly discovered that these techniques did, in fact, work better than the traditional Victory techniques. Initial requirements and architectural envisioning gained the benefits of up-front modeling without the development and maintenance cost of comprehensive static documentation that resulted from Victory’s up-front modeling activities. Nonsolo development, particularly with stakeholders who actively participated in requirements elicitation activities, also proved superior to Victory’s documentationheavy approach. TDD and continuous integration enabled developers to produce greater quality software in a shorter time period than did Victory’s V-model approach to testing. They found that by becoming generalizing specialists, they were able to work together more effectively, and thereby produced greater quality work in a shorter period of time while requiring fewer work products compared to similarly sized teams comprised of specialists. A remarkable accomplishment for Winston’s team was that they avoided Gorwell’s 2007 data management (DM) improvement effort dubbed “Operation Blackhole.” The DM group wanted a more repeatable approach to what they did, and although they had been collecting comprehensive and accurate metadata using the Newspeak Data Repository toolset, they found that development teams weren’t satisfied with the two-to-four month time required for simple database changes. Over a nine-month period, the Blackhole team managed to migrate the Newspeak metadata into the newly acquired TruthMinister 2007 repository and rewrite the 1500-page metadata management procedures and standards manuals. The end result was a consistent data-management process where all change requests were either denied outright or took exactly three months to respond to. Because Winston’s team had gained experience with agile data-modeling approaches, database regression testing, and database refactoring they exceeded the quality requirements set by Operation Blackhole in a fraction of the time. They didn’t need to request help from the DM group and thereby managed to stay off their radar scope. Agile Victory? As time progressed, more and more developers heard through the grapevine about the greater levels of success following agile techniques. Unfortunately, so did some of the more political people within Gorwell’s IT department—remember, people kept an eye on Winston because he was related to BB. In particular, the process engineering group took notice and decided to embrace this growing threat to their existence. One afternoon, they sent out a forced instant message to everyone in Gorwell’s IT department that locked up everyone’s machines until they read the announcement about the new version of their software process, called “Agile Victory.” This occurred on the 198th day of Winston’s stealth agile adoption effort; he remembers it well because it broke the fourth build of the day that was referred to as build 198.4. A new group, called the “process police,” had been created with the specific goal of ensuring that project teams followed the new Agile Victory process. Nonsolo development, such as pair programming and modeling with others, was declared to be a process crime because management felt that it was obvious that collaborative techniques such as this would reduce overall productivity. It was also a process crime to become a generalizing specialist because not only would it be difficult to retain anyone with marketable skillsets, thereby increasing the burden on the human resources (HR) team, it would also threaten the existing political empires currently based on specialized job functions. People who committed process crimes were fired on the spot and simply disappeared, and BB put a reward program in place so that you could even earn ++GOOD points by reporting process crimes. 50 Dr. Dobb’s Journal l www.ddj.com l April 2008 http://www.rallydev.com/dobbs http://www.rallydev.com/dobbs http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - April 2008 Dr. Dobb's Journal - April 2008 Contents Hmmmm Alia Vox Developer Diaries Dr. Dobb's Excellence in Programming Award Conversations Fast String Search on Multicore Processors The Byzantine Generals Problem Optimizing Math-Intensive Applications with Fixed-Point Arithmetic Random Numbers in a Range Using Generic Programming The Agile Edge Effective Concurrency Swaine's Flames Dr. Dobb's Journal - April 2008 Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page Cover1) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page Cover2) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 1) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 2) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 3) Dr. Dobb's Journal - April 2008 - Contents (Page 4) Dr. Dobb's Journal - April 2008 - Contents (Page 5) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 6) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 7) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 8) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 9) Dr. Dobb's Journal - April 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - April 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 14) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 15) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Excellence in Programming Award (Page 16) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Excellence in Programming Award (Page 17) Dr. Dobb's Journal - April 2008 - Conversations (Page 18) Dr. Dobb's Journal - April 2008 - Conversations (Page 19) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 20) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 21) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 22) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 23) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 24) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 25) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 26) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 27) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 28) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 29) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 30) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 31) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 32) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 33) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 34) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 35) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 36) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 37) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 38) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 39) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 40) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 41) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 42) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 43) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 44) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 45) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 46) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 47) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 48) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 49) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 50) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 51) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 52) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 53) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 54) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 55) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page 56) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page Cover3) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page Cover4)
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.