Windows & .NET Watch: Quality: You are gonna need it



Email    print   
March 2, 2009 —  (Page 1 of 3)
One of the guiding principles this past decade has been YAGNI: You Ain't Gonna’ Need It. YAGNI is a quick cure for the disease of Analysis Paralysis, whose symptoms include creeping scope, inactive version control systems and uncontrolled growth of class diagrams.

YAGNI does have side effects, however. Hyperyagnic Disorder results from abandoning too much structure and can be every bit as harmful as Analysis Paralysis. The disorder is characterized by brittleness of code, difficulty in understanding intent, and growth in the size, but not the number, of source code files. Consult your doctor if you experience a nested loop more than four levels deep.

Less flippantly, Analysis Paralysis and Hyperyagnic Disorder characterize too much and too little mental abstraction in the development process.

Software development is a game of balancing abstraction. Too much abstraction, and you find yourself reinventing e-mail. Too little abstraction, and you cram your entire system into a single webpage. The success of abstractions in code drives us to seek abstractions in our development processes; the unwavering demands of compilers drive us to think that we need to shut up and code. Over the course of a decade, common wisdom swings between one extreme and another.

There’s recently been a dustup among the twittering classes as to the proper amount of YAGNI. Joel Spolsky, CEO of Fog Creek Software, has advocated an extreme YAGNI stance, swiping along the way an over-reliance on unit tests and the so-called SOLID principles laid out by “Uncle Bob” Robert Martin. Spolsky dramatically overreached, claiming that those advocating high percentages of unit test coverage or promoting SOLID design principles had “not written a lot of code.”

Robert Martin has written a lot of code and needs no defense from me. On a personal level, each of the last three systems I've architected, while not particularly large, have gone from bogged down to shipped to transacting tens of millions of dollars per month. When I look at troubled teams today, I see Hyperyagnic Disorder far more than I see Analysis Paralysis. When I interview job applicants, Architecture Astronauts (as Spolsky labels them) are relatively rare compared to Cowboy Coders who are willing to abandon any semblance of discipline in the face of a looming deadline.



Related Search Term(s): testing

Pages 1 2 3 


Share this link: http://sdt.bz/33303
 
Most Read Latest News Blog Resources


Comments


03/02/2009 06:37:47 PM EST

Larry, I love how you end this: "Quality is the route to productivity. If you need productivity, you need quality. Quality can be improved with a balanced emphasis on code production, testing and design. You’re gonna need all those things." We are rabid about code quality at NCOVER. Bad product sap the morale of the programmers who have to get involved to fix them. It just sucks. Here is one thing that we have noticed: Most developers don't want to write bad code; they just plan for any other option... DEW @danwaldo

United StatesDaniel Waldschmidt


Add comment


Name*
Email*  
Country     


  • Comment
Loading




close
NEXT ARTICLE
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles Read More...
 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 

Download Current Issue
FEBRUARY 2012 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?


 
blogs tab
Are you at risk for burnout?
Burnout is a severe problem and it can strike at any time. Here's how to tell if you are nearing the edge.
02/09/2012 02:16 PM EST

Agility, mom, and apple pie
If we're to evaluate the state-of-the-art in software development, we should start with the values espoused in the Agile Manifesto.
02/07/2012 11:57 AM EST

RIM woos developers with free tablet
How do you get more apps ported to the BlackBerry PlayBook? By giving every developer a free tablet, of course!
02/04/2012 01:57 PM EST

GitHire: Use Headhunters to Find Your Perfect Programmer
Are you a hiring manager tired of scouring the job boards? Check out this new service that will find 5 people interested in your jobs.
02/03/2012 12:17 PM EST

Facebook claims hacker cred
Facebook's SEC S-1 filing form includes a short essay on the Hacker Way by Mark Zuckerberg himself.
02/02/2012 08:26 AM EST

Ryan Dahl steps down
Ryan Dahl, creator of Node.js, steps back from his position as gatekeeper for the project.
02/01/2012 04:58 PM EST

 
Events calendar tab
2/13/2012 to 2/16/2012
Santa Clara
TechWeb

2/26/2012 to 2/29/2012
San Francisco
BZ Media

2/27/2012 to 3/2/2012
San Francisco
RSA

3/4/2012 to 3/7/2012
Las Vegas
IBM Tivoli

3/5/2012 to 3/9/2012
San Francisco
TechWeb