The Economics of Software Quality

Free download. Book file PDF easily for everyone and every device. You can download and read online The Economics of Software Quality file PDF Book only if you are registered here. And also you can download or read online all Book PDF file that related with The Economics of Software Quality book. Happy reading The Economics of Software Quality Bookeveryone. Download file Free Book PDF The Economics of Software Quality at Complete PDF Library. This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats. Here is The CompletePDF Book Library. It's free to register here to get Book file PDF The Economics of Software Quality Pocket Guide.

This site uses Akismet to reduce spam. Learn how your comment data is processed. The Agile Self-assessment Game New! What Problem?

More Books by Capers Jones, Olivier Bonsignour & Jitendra Subramanyam

Quotes from Ben Linders Tools Updated! Agile Self-assessment Game Updated! Agile Self-assessments Updated! Book: What Drives Quality New!

Testing Economics

Subscribe to BenLinders. Share this Experience. It may still cost us, but not enough to discard the idea completely.


  1. Book Review: The Economics of Software Quality - Slashdot;
  2. I Voted for Biddy Schumacher: Mismatched Tales from the Mind of Brian Centrone!
  3. A Spiritual Formation Journal: A Renovare Resource for Spiritual Formation.
  4. Performance Analysis of Telecommunications and Local Area Networks (The Springer International Series in Engineering and Computer Science).
  5. Recommended articles;

With automated tests around it, we can do the necessary changes. Big rewrites are costly and risky, and as such we want to delay them as much as possible. Tests help us do that.

A good tester has the skills of a project manager. When devising a strategy, she needs to take into account how well the developers test their code so she can concentrate on covering the less tested parts.

Better in practice than in theory

She consistently checks the feedback cycle to see where it can be reduced. She looks at the length of the automated test runs and thinks of ways to reduce it; where to invest in integration tests, which give better confidence but are more costly to set up and debug; and how much manual testing is needed based on the number of automated tests. If she decides to use acceptance test-driven development combined with test-driven development as part of her strategy, she gets a definite economic impact boost.

Working with a test-first approach aligns everyone with the business requirements. Test-driven development helps there, too, because it gets development to think before they actually write the code. Thinking before coding is one of the best bug prevention methods I know. A strategy does not end with just testing activities, but with understanding the market. Today it is important for many organizations, especially start-ups, to be first to market.

The Economics of Software Quality

That requires a different strategy. Instead of big investment in automation, our tester does just-enough manual testing. We professionals usually look down on such low-quality products. However, it may be the right decision at the time, and we can always add quality later, though maybe at bigger costs.

Quality metrics: The economics of software quality

Whatever we do has value and costs. Being a professional is about understanding economics. Are you a professional? Start thinking about those numbers. With more than twenty years of developing commercial software, he has vast experience in software methodology and practices.

The Economics of Software Quality

He worked in different organizations, including Typemock , as a unit testing expert.. Gil is an agile consultant, applying agile principles over the last decade. He is still learning from his successes and failures. Gil speaks frequently in international conferences about unit testing, TDD, agile practices and communication. Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.

Testing Economics [article]. RB: [Laughs.

Connect with Me

I remember one of the things that really jumped out at me in your book was you had a chapter where you talked about accumulated technical debt, and just had some stunning figures on the accumulations of technical debt in some organizations. Can you maybe explain for our listeners a little bit more about that analysis that you did? CJ: Yes. Technical debt is in a section that Olivier has written, too, so he'll talk more about it, I suspect, but the gist of the idea is this: Technical debt is the concept that if you skimp on defect removal and defect prevention while you're building software, when you finally deliver [the software], you're going to pay an ever-increasing amount of money for warranty repairs and fixing the bugs that you failed to eliminate before the software was delivered.

It's like paying interest on a loan; this technical debt stretches out for years and years and years, because in any given calendar year you're not likely to find more than, say, 25 or 30 percent of the bugs that were delivered. So you have at least a four- to six-year period, plus the fact that there's a situation called "bad fix injection": Something like 7 percent of your attempts to fix a bug add a new bug that wasn't there before.

So you have kind of a compound interest that stretches out downstream. The basic idea to reduce technical debt is to prevent or remove as many bugs as possible before testing begins, and then to achieve very-high-efficiency test cases and test stages by using certified test personnel and scientific methods for designing test cases, which will give you higher coverage with reduced number of test cases, and that combination should raise your overall defect-removal efficiency from today's average of maybe 85 percent up to 99 percent, which means that your technical debt, which today is millions of dollars every year, would be cut down to almost nothing.

RB: Nice suggestions there. So, now, to pick up on something that you mentioned. You talk about, on average seven percent of defects are bad fixes, which is sometimes referred to in the testing world as regression. Now, we've noticed something interesting with some of our clients, where we do an analysis on what the percentage of bugs are that are regressions bugs or bad fixes. Do you have any thoughts on that situation, and what companies that find themselves with excess bad-fix introduction can do to get out of it?

It was discovered back in the late s at IBM that bugs are not randomly distributed through the modules of big systems; they tend to clump in a small number of places IBM called error-prone modules. They are often so complicated and so difficult to fix that they need to be surgically removed. In other words, you can't really repair them in place; you have to isolate them, and then develop better, newer modules, using better techniques to replace the ones that are error-prone. RB: Right. So basically reengineering or refactoring or whatever the buzzword du jour is for that, but get in there and cut that bad stuff out, and replace it with good code.


  • Essstörungen bei Männern (German Edition);
  • The economics of Software Testing?
  • Autumn Laing (Littérature étrangère) (French Edition).
  • Post navigation?
  • How To Play Madison Square Garden - A Guide To Stage Performance;
  • Economics of Software Bugs: Facts You Need To Know;
  • CJ: Yes, and one caveat: If you let the people try to do it who built the error-prone module in the first place, you may end up with a new error-prone module that's just as bad as the first one; so you have to be sure that you either use better people or better technologies on the replacement version, because you don't want a second-generation error-prone module. It's difficult enough to convince management in many situations of the need to do that.


    • Featured Titles.
    • Better in practice than in theory!
    • Farmer Johns Farm.
    • Believe It Or Not! 2.
    • Full Stride (Coaching High School Track Book 3).
    • Economic considerations.
    • You know, schedules are so tight, and budgets are so tight, [if] you say, "Well, we need to have two or three of our best programmers go off and spend two or three months, or maybe more, completely reengineering this one part of this system," many times, I would expect managers would react by saying, "Well, gee, you know, that would be nice, but we really can't afford to do that right now.

      Maybe we'll do it later. CJ: Well, I've seen situations where, when managers of commercial software or outsourced projects ignored error-prone modules, the clients sued them. And when it was discovered in court that they had not paid sufficient attention to those things, obviously there was a serious penalty for those who didn't take proactive steps to remove them.

      If you don't have the kind of software where your clients might sue you for ignoring these things, it's more difficult to make the case.