The Independent Magazine
for Software Developers
Books Articles Blogs Subscribe d.* Gear About Home

Articles About Software Quality

Success/Failure Criteria: Some Surprises
At a breakfast seminar here June 6 on "Factors for IT Project Success and Failure," Prof. June Verner of NICTA provided a fascinating mix of surprises and predictables related to her subject topic. The findings came from NICTA’s study of 400 projects in the U.S., Australia, and Chile, using questionnaires and interviews to discuss success and failure factors with practitioners.
Test Smarter, Not Harder
When we’re testing any software, we are faced with the tradeoff of cost and benefit of testing. With complex software, the costs of testing can grow faster than the benefits of testing. If we apply techniques like the ones in this article, we can dramatically reduce the cost of testing our software. This is what we mean when we say test smarter, not harder.
The Many Flavors of Testing (An Excerpt from Software Conflict 2.0)
Once we realize that we are committed to a future full of testing, it is worth exploring what testing really means. I would assert that there are several flavors of testing, and that all too often when we speak of testing we consider far too few of those flavors. An excerpt from Software Conflict 2.0.
Software Maintenance is a Solution, Not a Problem (An Excerpt from Software Conflict 2.0)
The traditional, problem-oriented view of maintenance says that our chief goal in maintenance should be to reduce costs. I think that's the wrong emphasis. If maintenance is a solution instead of a problem, we can quickly see that what we really want to do is more of it, not less of it. And the emphasis, when we do it, should be on maximizing effectiveness, and not on minimizing cost. An excerpt from Software Conflict 2.0.
The Art in Computer Programming
In a way, we programmers are quite lucky. We get the opportunity to create entire worlds out of nothing but thin air. Our very own worlds, complete with our own laws of physics. We may get those laws wrong of course, but it's still fun.
Diving in Test-First
Do you test your code before you send it downstream? How much confidence do you have that another code change won't break something?
Software Design and Programmers
How important are software design skills to a programmer? The traditional view is that programmers merely implement the designs of other people.
Those "Minor" Usability Annoyances
The reasons the business decided to rebuild the application are fairly typical: the original architecture was short-sighted and does not scale; the code base is convoluted and fragile...
Consistency, Correctness, and Craftsmanship
Judging someone else’s code according to our own relative correctness measurements is one thing, but what happens when we need to modify that code?
Code Comprehension
Quality code does not happen by accident. It really takes true desire in the heart of the developer.
Elevating Expressions
Too often when we write code, we get caught up only in the exercise of the code itself and forget about the people who will have to use the software and maintain the code after we are long gone.
The Human Impact of Software
Eventually, we just turned off the phones and let everyone go to voice mail.  The mailbox would fill up completely about once an hour, and we would just keep emptying it.
Click here for the full list of developer.* software development article categories.
RSS Feeds
Software Engineering Articles and Essays Feed Icon
Software Engineering Blogs Feed Icon
Our newsletter policy:
No list sharing of any kind.
No "special offers" from "partners."
No "webinars." No "Special Reports."
No junk.
Special Price
Two great books for one low price when you buy direct from this site!
38% Off the Combined Cover Price!(US only)
$64.98 Only $39.99!
New developer.* Shirts & Accessories
Web developer.*

All content copyright ©2000-2006 by the individual specified authors (and where not specified, copyright by Read Media, LLC). Reprint or redistribute only with written permission from the author and/or developer.*.