Thursday, July 10, 2008

Zero Defect Software Development (ZDSD)

by Steve Pavlina,
Dexterity Software

The basic tenet of ZDSD is this:

Maintain your product in what you believe to be a defect-free state throughout the development process. This sounds simple, but it
is a rare practice. The most common approach is to delay major testing until the final QA phase of software development, where
defects are often discovered for the first time. Most bugs are not detected or fixed until long after their introduction. The
longer a defect remains, the harder it is to fix. On large software products, each stage of development that a defect survives
will increase the cost of fixing the defect by ten to fifty times. A defect introduced in the design phase can cost hundreds of
times more to fix in the testing phase than it would if fixed immediately after its introduction.

By focusing on product quality throughout the development lifecycle, you will actually complete products faster than if you didn't
pay attention to quality until the end of the project. The general rule of software quality is counter-intuitive: Improving
quality actually reduces development time. This is because you eliminate all the time spent fixing bugs and reworking code, which
can account for as much as 50% of development costs on a large project. The typical programmer writes between eight and twenty
lines of code a day; the rest of the day is usually spent on debugging. ZDSD shortens schedules by eliminating most debugging
time. Extensive studies done at NASA, IBM, and elsewhere have shown that better QA leads to shorter schedules.

An IBM study concluded that software projects that make quality a top priority typically have the shortest schedules, the highest
productivity, and even the best sales.

Here are the basic rules of ZDSD:

1. Test your product every day as you develop it, and fix defects as soon as you find them.Apply the daily build and smoke test.
At the end of every day you work on your project, build the current version of your software, and test it for basic functionality.
Microsoft enforces this policy religiously, using large teams to build each project on a daily basis. A programmer whose code
breaks the build may be called in the middle of the night and must go back to work to fix the problem immediately. For shareware
authors working on small projects, this is far easier. At the end of each day, test your program for at least ten minutes. Make a
list of anything you would consider a "defect," and resolve to fix all defects before implementing any new features. Once you find
a defect, fixing it becomes your number one priority, and you avoid writing any new code until the defect is 100% eliminated.

2. Review your code regularly. When most people think of QA, they think of testing, but testing is actually one of the least cost-
effective strategies for finding bugs. The most rigorous testing will typically find less than 60% of all bugs in a program, and
there are certain types of bugs that testing will rarely find. Studies conducted at many large software organizations have
concluded that code inspections are far more cost-effective than testing. A NASA study found that code reading detected almost
twice as many defects per hour as testing. Whenever you've added a few hundred lines of new code to your project, set aside an
hour or two to read over your work and look for mistakes. One hour of code review is equivalent to two or more hours of methodical
testing. As you gain experience, keep a list of the types of defects you find, and run down your list whenever reviewing new code.
To find even more defects, have someone else read your code as well.

3. Assume full responsibility for every bug. 95% of all software defects are caused by the programmer. Only 1% of defects are
hardware errors, and the remaining 4% are caused by the compiler, the OS, or other software. Never dismiss a potential bug; find
out the exact cause of any anomaly. When the Mars probe suffered serious software glitches during its mission, it was learned that
the same glitch had occurred only once during testing on earth, but the engineers dismissed it as a temporary hardware hiccup.
Unless your hardware drinks soda, it does not hiccup.

4. Handle change effectively. You will always think of great new features to add after you have started coding. Carefully consider
how each change will impact your pre-existing code. Poor integration of unanticipated features is a major cause of defects.

5. Set QA objectives at the beginning of every project. Studies have shown that developers who set reasonable QA goals will
usually achieve them. Decide in advance if your product must be fast, small, feature-rich, intuitive, scalable, etc. Then
prioritize those objectives. When designing the interface code for an upcoming game, I decided that my top three priorities were
to make it beginner-intuitive, fast, and fun, in that order. Consequently, my game's interface isn't as graphically rich as other
games, but it is easier to use and faster than any other game of its type. Whenever you have to make a design decision, keep your
objectives in mind. If you do not set clear QA goals, then you are doomed to accept the results of random chance.

6. Don't rush debugging work. Fully 50% of all bug fixes are done incorrectly the first time, often introducing new bugs in the
process. Never experiment by simply changing "x-1" to "x+1" to see if that will do the trick. Take the time to understand the
source of the bug. Years ago when I was a boy scout and had to put out a campfire, the Scoutmaster would sometimes test my
thoroughness by asking me to put my hand in the ashes. I learned very quickly how to put out a fire so well that I had complete
confidence it was 100% extinguished. When you find a defect, it means your code is on fire. As long as the defect remains, any new
code you write will add fuel to that fire. Whenever you find a defect, drop everything to fix it, and don't move on until you are
100% confident that your fix is correct. If you don't take the time to do it right the first time, when will you find the time to
do it over?

7. Learn from every bug; each one represents a mistake that you made. Learn why you made each mistake, and see if you can change
something about your development practices to eliminate it. Over the years I have adopted many simple coding practices that allow
me to avoid common bugs that used to plague me. There are many types of bugs that I now never encounter because my coding style
makes it physically impossible for me to introduce them.

Each of these rules represents a simple concept, but their combined benefits are significant. You will achieve higher progress
visibility, avoiding the situation of being "99% done" for the last 80% of your development time. Higher quality will make your
products easier to maintain and less expensive to support. You will spend less time debugging old code and more time writing new
code. And most importantly, it actually takes less time to write high-quality code than it does to write low-quality code, so you
will save a great deal of time on overall development. If you have never developed products with a zero-defect philosophy from day
one, its adoption can reduce your development time for new products by 30% or more while simultaneously improving product quality

SK

29 comments:

Anonymous said...

It was a nice post, i have created a blog that have information about
Software Testing . Please visit and comment to make it more informative!

madhuri said...

http://www.vebtoday.com

telugu Cinema,Andhra Pradesh classifieds, yellow pages,Telugu Astrology,Telugu news,Clickmasala,Beauty Tips, Baby Names, Interview Tips,Ladies Special,Real Estate, Matrimonials,Latest News,Telugu Movies,Andhra People, Politics, Assembly, Andhra Pradesh, Real Estate, Andhra News, Telugu News,Gossips, India News, Headlines,ecards,prpparty, chiranjeevi,megastar,telugu people

Abid's Adsense Treasure Website Package said...

===>> http://www.abid.in

Here's your chance to make $40,000 per month with
Adsense by being lazy.....


Wanna Find out How I, By Being a Lazy Ass Make $40,000/Month
(Yep, that's 40,000 USD) Every Month Like Clockwise From My Web.site.


===>> http://www.abid.in

The Website Is.

* Highly Optimized
* Content Rich
* Profit Pulling
* Fully Automated

Here's What You Get:

A Huge Money Making Website
Integrated with Adsense ads,
dynamic feeds and over a thousand content pages.


My Free Traffic Report
Methods I use to get a lot of traffic, almost instantly.

Free Email Tips
You will get some EXTRA tips on promoting your new website by email.

Setup and Hosting Help
Even though you get full easy to follow setup instructions.
If you still have trouble you can contact us
we will set up and host your website for you.


===>> http://www.abid.in

As an special offer, I am offering my complete Adsense Treasure System A fully automated website which makes you money while you sleep.

Finally a tool for you to make some serious money.

Get Your Copy Now... Click here

===>> http://www.abid.in

Ready Made Website






Shah Rukh Khan

Bollywood

ShahRukhKhan



India's Online Shopping Mall

Online Shopping Mall

Buy Online


Link Directory
The Most Responsive FREE Safelist
Make Money Online
Master Resell Rights eBooks
Bollywood Sargam

Anonymous said...

[url=http://community.bsu.edu/members/buy+online+Viagra.aspx]Viagra without prescription or membership[/url]

Anonymous said...

Bonjour I'd love to thank you for such a great made forum!
I was sure this is a nice way to make my first post!

Sincerely,
Johnie Maverick
if you're ever bored check out my site!
[url=http://www.partyopedia.com/articles/butterfly-party-supplies.html]butterfly Party Supplies[/url].

Anonymous said...

Good day, sun shines!
There have were times of troubles when I felt unhappy missing knowledge about opportunities of getting high yields on investments. I was a dump and downright pessimistic person.
I have never thought that there weren't any need in large initial investment.
Nowadays, I'm happy and lucky , I started take up real income.
It gets down to choose a correct partner who utilizes your funds in a right way - that is incorporate it in real deals, and shares the income with me.

You may get interested, if there are such firms? I have to answer the truth, YES, there are. Please get to know about one of them:
http://theinvestblog.com [url=http://theinvestblog.com]Online Investment Blog[/url]

Anonymous said...

There is a horrible virus on my computer that has taken some access away from me, I cannot do any system restores or open any anti-vir. programs. I cannot find my windows reinstall disc, is there any other hope for this computer out there? [url=http://gordoarsnaui.com]santoramaa[/url]

Anonymous said...

http://lumerkoz.edu Best Wishes!, http://barborazychova.com/members/Buy-Neurontin.aspx infusions http://soundcloud.com/zolpidem biotech http://msdnbangladesh.net/members/Buy-Atacand/default.aspx censured illiterate http://www.lovespeaks.org/profiles/blogs/buy-elavil wineries http://www.comicspace.com/celexa/ vitaes recordists

Anonymous said...

Glad to materialize here. Good day or night everybody!

For sure you didn’t here about me yet,
my name is Peter.
Generally I’m a venturesome gambler. recently I take a great interest in online-casino and poker.
Not long time ago I started my own blog, where I describe my virtual adventures.
Probably, it will be interesting for you to read my travel notes and reports about winnings and losses on this way.
Please visit my web site. http://allbestcasino.com I’ll be interested on your opinion..

Offshore software development India said...

Thanks for this awesome post. I was looking for this kind of information. Please continue writing....

Regards:-offshore software development India

Anonymous said...

Great blog! I haven't noticed arunonfire.blogspot.com before in my searches!I found very useful information about
[url=http://nuscin-online.info]anti-aging[/url] here... Keep up the hard work!

Anonymous said...

Genial fill someone in on and this post helped me alot in my college assignement. Gratefulness you on your information.

Anonymous said...

Nice post! thank you for sharing this information. arunonfire.blogspot.com really got under my
[url=http://nuscin-online.info]skin,[/url] bookmarked... Keep up the good site...

Anonymous said...

Hello! Can you tell me how i can register mail at google [url=http://google.com]google[/url] http://google.com

taboo erotic stories xxx said...

``Because we want to help them. Hercurrent miraculous shape was the product of a years salary in sculptingnanobots, but it had been worth it to her shed gotten the good kind thatbuilt to last, adjusting genetic markers as well as her surface so that if andwhen she decided to have offspring, theyd have a leg up in life.
adult little girl stories
masturbation horror stories
lesbian girls scout sex stories
sexy bbws stories
sexy school girl stories
``Because we want to help them. Hercurrent miraculous shape was the product of a years salary in sculptingnanobots, but it had been worth it to her shed gotten the good kind thatbuilt to last, adjusting genetic markers as well as her surface so that if andwhen she decided to have offspring, theyd have a leg up in life.

Android App Development said...

Hello,great post. Information are pretty exciting and saved me huge amount of time which I have spend on something else instead of searching posts like this. I am waiting for more.

Anonymous said...

Hi Guys

Are there any Blu-Ray/dvd

combination players?
I understand there are dvd/vcr players. Are there any players which will perform both of them dvds as well as blu-rays that I can get instead of just shopping for 2 separate players?

Thanks a bunch !

Gowshika said...

Excellent sharing Thanks for share i am sure its must help me. thanks for doing this.
Software Product Development

Anonymous said...

iui with clomid | purchase clomid - buy clomid online uk no prescription, does clomid really work

Anonymous said...

Riԁiсulouѕ quеst there.
What occurгed аfter? Goοԁ
luck!

Feel free to ѕurf to my web-ѕite
Http://www.iplaygosports.com

Anonymous said...

[url=http://www.u15168.com/bbs/viewthread.php?tid=362150&extra=page%3D1&frombbs=1]beats solo by dre[/url] occurrence reply: It consists of headsets capability to reproduce audio wavelengths. mentioned present in hertz, small range is definitely the headphones bass answer share-off, While commonly give better total brings the shoot-off all treble imitation. several computerized music consists of theoretical regularity variety 20-20,000Hz.


[url=http://www.tomme.cn/forum.php?mod=viewthread&tid=250843]beats by dre[/url] Dre this created the beats by dre maker which might made welcome and trusted practically. these model houses back yard garden varieties including more-hearing headset,from-head headphone moreover creator show. just like for example beats by dre advantage, beats by dre studio, beats by dre single burning auction well.


http://www.beatsbydrepad.com continue to keep a formidable proper reply to stress is an effective way. our move, is a crucial path. exercise most likely will consume the energy required to get over hardship and prevent it in your body-mind at the pile-up and occurance most typically associated with tightened feeling and panic attacks.

Anonymous said...

Ӏ аm genuіnely thankful to the oωner оf
this ωeb site ωho has shагed thiѕ fantaѕtic aгticle аt here.


Heге iѕ my sitе; Property for Sale

Anonymous said...

I'll right away take hold of your rss as I can not find your email subscription link or newsletter service. Do you have any? Kindly let me realize so that I could subscribe. Thanks.

Here is my homepage ... payday loans

Anonymous said...

Do yοu mind if I quotе a few оf your posts as
long as I provide credіt and ѕources
back to youг website? Mу blog ѕite is in thе
νery ѕame niche as yours and my uѕers ωould truly benefіt from some of the informаtiоn you pгoviԁe herе.

Please lеt me knοw if thіs okay with you.
Thanks a lot!

my weblоg :: BlackChipPoker Offer

Anonymous said...

We're a group of volunteers and starting a brand new scheme in our community. Your website provided us with useful info to work on. You've performеd an impreѕsive job and our entire communіtу might bе grateful to you.


Heге is my blοg рost; See Us

oakleyses said...

christian louboutin uk, nike free, polo outlet, oakley sunglasses, nike free run, longchamp outlet, longchamp pas cher, christian louboutin outlet, oakley sunglasses, burberry pas cher, ugg boots, louis vuitton outlet, longchamp outlet, christian louboutin shoes, nike air max, louboutin pas cher, oakley sunglasses wholesale, michael kors pas cher, longchamp outlet, jordan pas cher, louis vuitton outlet, gucci handbags, ray ban sunglasses, ray ban sunglasses, oakley sunglasses, replica watches, tory burch outlet, louis vuitton, nike roshe, tiffany jewelry, louis vuitton outlet, kate spade outlet, prada handbags, polo ralph lauren outlet online, ray ban sunglasses, nike outlet, nike air max, christian louboutin, air max, prada outlet, louis vuitton, chanel handbags, uggs on sale, polo ralph lauren, replica watches, cheap oakley sunglasses, jordan shoes, ugg boots, tiffany and co

oakleyses said...

replica handbags, coach outlet, uggs outlet, true religion outlet, nike tn, mulberry uk, hollister pas cher, ray ban pas cher, nike free uk, hollister uk, michael kors outlet, timberland pas cher, true religion jeans, michael kors outlet online, nike air max, oakley pas cher, polo lacoste, hogan outlet, converse pas cher, burberry outlet, nike roshe run uk, sac vanessa bruno, coach outlet store online, uggs outlet, michael kors outlet, michael kors, north face, michael kors, nike air max uk, michael kors outlet online, ray ban uk, abercrombie and fitch uk, guess pas cher, sac hermes, lululemon canada, north face uk, nike air max uk, true religion outlet, vans pas cher, michael kors outlet online, nike blazer pas cher, burberry handbags, true religion outlet, nike air force, michael kors outlet online, ralph lauren uk, kate spade, coach purses, michael kors outlet

oakleyses said...

abercrombie and fitch, soccer jerseys, iphone cases, ralph lauren, vans outlet, converse outlet, jimmy choo outlet, mcm handbags, ferragamo shoes, lululemon, wedding dresses, hollister, new balance shoes, reebok outlet, north face outlet, soccer shoes, insanity workout, oakley, longchamp uk, nike air max, gucci, nike trainers uk, herve leger, mont blanc pens, vans, beats by dre, nfl jerseys, giuseppe zanotti outlet, valentino shoes, ray ban, nike air max, hollister clothing, p90x workout, converse, bottega veneta, babyliss, chi flat iron, instyler, hermes belt, louboutin, north face outlet, nike roshe run, baseball bats, nike huaraches, hollister, mac cosmetics, asics running shoes, timberland boots, ghd hair, celine handbags

oakleyses said...

thomas sabo, barbour uk, pandora jewelry, barbour, karen millen uk, ugg uk, canada goose, moncler, canada goose outlet, louis vuitton, ugg,ugg australia,ugg italia, pandora uk, pandora charms, louis vuitton, doudoune moncler, canada goose, louis vuitton, montre pas cher, ugg pas cher, canada goose outlet, marc jacobs, supra shoes, canada goose outlet, moncler, replica watches, canada goose jackets, louis vuitton, links of london, canada goose uk, coach outlet, moncler, juicy couture outlet, lancel, juicy couture outlet, ugg, swarovski crystal, moncler outlet, toms shoes, louis vuitton, moncler outlet, wedding dresses, canada goose, hollister, swarovski, moncler, ugg,uggs,uggs canada, pandora jewelry, moncler uk

Music...