Synopses & Reviews
Get the brutal truth about coding, testing, and project management—from a Microsoft insider who tells it like it is. I. M. Wright's deliberately provocative column "Hard Code" has been sparking debate amongst thousands of engineers at Microsoft for years. And now (despite our better instincts), we're making his opinions available to everyone.
In this collection of over 80 columns, Eric Brechner's alter ego pulls no punches with his candid commentary and best practice solutions to the issues that irk him the most. He dissects the development process, examines tough team issues, and critiques how the software business is run, with the added touch of clever humor and sardonic wit. His ideas aren't always popular (not that he cares), but they do stimulate discussion and imagination needed to drive software excellence.
Get the unvarnished truth on how to:
- Improve software quality and value—from design to security
- Realistically manage project schedules, risks, and specs
- Trim the fat from common development inefficiencies
- Apply process improvement methods—without being an inflexible fanatic
- Drive your own successful, satisfying career
- Don't be a dictator—develop and manage a thriving team!
Companion Web site includes:
- Agile process documents
- Checklists, templates, and other resources
About the Author
Eric Brechner, Director of Development Excellence at Microsoft Corporation, has more than two decades experience in the software industry. He began writing “Hard Code” in 2001 as a resource for Microsoft employees. Since then, the opinion column has ignited an ongoing discussion of best practices among the thousands of software development engineers at Microsoft—and now, to the rest of the development community.
Table of Contents
Reader Acclaim for I. M. Wrights Hard Code” Column; Foreword; Foreword to the First Edition; Introduction; How This Book Happened; Who Should Read This Book; Organization of This Book; How Microsoft Is Organized; Sample Tools and Documents; System Requirements; Errata & Book Support; We Want to Hear from You; Stay in Touch; Chapter 1: Project Mismanagement; 1.1 June 1, 2001: Dev schedules, flying pigs, and other fantasies”; 1.2 October 1, 2001: Pushing the envelopes: Continued contention over dev schedules”; 1.3 May 1, 2002: Are we having fun yet? The joy of triage.”; 1.4 December 1, 2004: Marching to death”; 1.5 October 1, 2005: To tell the truth”; 1.6 September 1, 2008: I would estimate”; 1.7 May 1, 2009: It starts with shipping”; 1.8 September 1, 2009: Right on schedule”; 1.9 May 1, 2010: Coordinated agility”; Chapter 2: Process Improvement, Sans Magic; 2.1 September 2, 2002: Six Sigma? Oh please!”; 2.2 October 1, 2004: Lean: More than good pastrami”; 2.3 April 1, 2005: Customer dissatisfaction”; 2.4 March 1, 2006: The Agile bullet”; 2.5 October 1, 2007: How do you measure yourself?”; 2.6 October 1, 2010: You can depend on me”; 2.7 November 1, 2010: Am I bugging you? Bug Reports”; 2.8 December 1, 2010: Theres no place like production”; 2.9 February 1, 2011: Cycle timeThe soothsayer of productivity”; Chapter 3: Inefficiency Eradicated; 3.1 July 1, 2001: Late specs: Fact of life or genetic defect?”; 3.2 June 1, 2002: Idle hands”; 3.3 June 1, 2004: The day we met”; 3.4 July 1, 2006: Stop writing specs, co-located feature crews”; 3.5 February 1, 2007: Bad specs: Who is to blame?”; 3.6 February 1, 2008: So far awayDistributed development”; 3.7 December 1, 2008: De-optimization”; 3.8 April 1, 2009: Your World. Easier”; 3.9 April 1, 2011: You have to make a decision”; Chapter 4: Cross Disciplines; 4.1 April 1, 2002: The modern odd couple? Dev and Test”; 4.2 July 1, 2004: Feeling testyThe role of testers”; 4.3 May 1, 2005: Fuzzy logicThe liberal arts”; 4.4 November 1, 2005: UndisciplinedWhats so special about specialization?”; 4.5 January 1, 2009: Sustained engineering idiocy”; 4.6 May 1, 2011: Test dont get no respect”; Chapter 5: Software QualityMore Than a Dream; 5.1 March 1, 2002: Are you secure about your security?”; 5.2 November 1, 2002: Wheres the beef? Why we need quality”; 5.3 April 1, 2004: A software odysseyFrom craft to engineering”; 5.4 July 1, 2005: Review thisInspections”; 5.5 October 1, 2006: Bold predictions of quality”; 5.6 May 1, 2008: Crash dummies: Resilience”; 5.7 October 1, 2008: Nailing the nominals”; Chapter 6: Software Design If We Have Time; 6.1 September 1, 2001: A tragedy of error handling”; 6.2 February 1, 2002: Too many cooks spoil the brothSole authority”; 6.3 May 1, 2004: Resolved by design”; 6.4 February 1, 2006: The other side of qualityDesigners and architects”; 6.5 August 1, 2006: Blessed isolationBetter design”; 6.6 November 1, 2007: Software performance: What are you waiting for?”; 6.7 April 1, 2008: At your service”; 6.8 August 1, 2008: My experiment worked! (Prototyping)”; 6.9 February 1, 2009: Green fields are full of maggots”; Chapter 7: Adventures in Career Development; 7.1 December 1, 2001: When the journey is the destination”; 7.2 October 1, 2002: Life isnt fairThe review curve”; 7.3 November 1, 2006: Roles on the career stage”; 7.4 May 1, 2007: Get yourself connected”; 7.5 September 1, 2007: Get a jobFinding new roles”; 7.6 December 1, 2007: Lead, follow, or get out of the way”; 7.7 July 1, 2008: Opportunity in a gorilla suit”; 7.8 March 1, 2010: Im deeply committed”; 7.9 April 1, 2010: The new guy”; 7.10 June 1, 2010: Level up”; 7.11 September 1, 2010: Making the big time”; 7.12 January 1, 2011: Individual leadership”; Chapter 8: Personal Bug Fixing; 8.1 December 1, 2002: My way or the highwayNegotiation”; 8.2 February 1, 2005: Better learn life balance”; 8.3 June 1, 2005: Time enough”; 8.4 August 1, 2005: Controlling your boss for fun and profit”; 8.5 April 1, 2006: You talking to me? Basic communication”; 8.6 March 1, 2007: More than open and honest”; 8.7 March 1, 2009: Im listening”; 8.8 July 1, 2009: The VP-geebees”; 8.9 December 1, 2009: Dont panic”; 8.10 August 1, 2010: I messed up”; 8.11 March 1, 2011: Youre no bargain either”; Chapter 9: Being a Manager, and Yet Not Evil Incarnate; 9.1 February 1, 2003: More than a numberProductivity”; 9.2 September 1, 2004: Out of the interview loop”; 9.3 November 1, 2004: The toughest jobPoor performers”; 9.4 September 1, 2005: Go with the flowRetention and turnover”; 9.5 December 1, 2005: I can manage”; 9.6 May 1, 2006: Beyond comparisonDysfunctional teams”; 9.7 March 1, 2008: Things have got to change: Change management”; 9.8 June 1, 2009:::::: I hardly recognize you”; 9.9 October 1, 2009: Hires remorse”; 9.10 November 1, 2009: Spontaneous combustion of rancid management”; 9.11 January 1, 2010: One to one and many to many”; 9.12 July 1, 2010: Culture clash”; Chapter 10: Microsoft, You Gotta Love It; 10.1 November 1, 2001: How I learned to stop worrying and love reorgs”; 10.2 March 1, 2005: Is your PUM a bum?”; 10.3 September 1, 2006: Its good to be the King of Windows”; 10.4 December 1, 2006: Google: Serious threat or poor spelling?”; 10.5 April 1, 2007: Mid-life crisis”; 10.6 November 1, 2008: NIHilism and other innovation poison”; 10.7 February 1, 2010: Are we functional?”; Glossary; About the Author;