Integration Watch: Studying reliability
July 1, 2009 —
(Page 1 of 2)
Consultants who specialize in jumping into sinking projects to get them back on course frequently encounter the same forms of lax discipline. These typically include a lack of good design, a lack of coding standards, a lack of code reviews, a lack of unit testing, poor QA, and, of course, a lack of basic project management skills. When called into such tasks, the first thing consultants will do is attend to the low-hanging fruit: They establish basic check-in procedures, teach the use of unit tests, start doing code reviews, and so forth. All new actions tend towards one goal: improving project reliability. Intuitively, this makes sense.
It makes sense objectively too, because we know that the earlier defects are found in the development life cycle, the faster and less expensive they are to fix. So, if you improve reliability, you improve delivery timetables and cost. Reliability inherently leads to lower costs and faster delivery. This all seems clear, reasonable, perhaps even obvious.
Most places, however, don’t work under this “obvious” relationship of speed, quality and cost. Rather, their actions reflect the glib canard frequently repeated in dev circles: “Good, fast, cheap: pick any two.” Asserting an opposition between these three elements is to misunderstand how quality imbues the project with the other two qualities. And for this reason, when products fall behind, managers and developers typically forgo quality to gain the benefit of time (and secondarily of cost).
The demands placed on development organizations today reinforce the emphasis on delivery time. Consider, for example, the surge of interest in dynamic languages during the last few years: All of them have the common goal of making it easier to belt out code quickly, despite the fact that some of their features (duck typing for instance) have made it more difficult to assure reliability. For quick and dirty apps, or those where errors that elude basic testing are not terribly costly, this approach is sufficient.
But it leads to dangerous habits in which the connection between quality and the other two factors is slowly but inexorably eroded. Part of that fraying is that development organizations can begin to forget how to do quality work; a lapse that becomes all too evident when they have to write mission-critical software. And the result, in my view, is that important projects become terribly bogged down, because the accumulated decisions that play down quality eventually bring the project to its knees. Welcome, consultants!
Related Search Term(s): testing
Share this link: http://sdt.bz/33538
Most Read Latest News Blog Resources
Android is the focus of two new design tools
Anywhere Software and Xamarin provide ways for developers to create and test their applications on PCs
|
|
LEADTOOLS HTML5 add-on modules released
Including New HTML5 Zero Footprint Viewer, JavaScript Libraries and RESTful Web Services for Document and Medical SDKs
|
|
How to speed up your Cukes
Using a five-step process derived from Six Sigma, Cucumber tests can go much faster
|
|
WhiteSource offers open-source license management as a service
Software gives companies insight into the open-source components in products
|
SmartBear rolls out new quality solution: API Complete
Software gives organizations ability to write test scripts and monitor APIs by bridging the DevOps divide
|
|
Android is the focus of two new design tools
Anywhere Software and Xamarin provide ways for developers to create and test their applications on PCs
|
|
WhiteSource offers open-source license management as a service
Software gives companies insight into the open-source components in products
|
|
Top five devices you can integrate with your applications
A five-fingered list of common, household items with which you can talk to (via software, of course)
|
Slick...but who needs it?
compilr.com is a well-designed site and the folks behind it seem to have their heart in the right place. But...who needs it?
|
|
How to be a better software developer
Want to be a better developer? You won't get there by mastering an interesting language or learning a new set of APIs.
|
|
Wooing Galatea
Do yourself a favor and check out Galatea 2.2, a wonderful book by novelist Richard Powers.
|
|
The world as story
An artificial-intelligence system at Carnegie Mellon seeks to understand the world by making statements about it.
|
Five SCM Best Practices
Two-thirds of all software projects fail, according to the Standish Group’s CHAOS study. Improper usage of software configuration management...
|
|
|
Best Practices for Branching and Merging Patterns
Development teams often create a branching pattern, usually drawn out on a white board or in a Visio document, that is used as a model to...
|
|
Automated Error Reporting
We invite you to read a short e-zine that tells you all about automated error reporting for .NET applications. This 8-page e-zine is packed...
|
|
The End of Application Redeploys
Imagine that every time you wanted to write, send or receive an email, you needed to restart your computer. How much time would this take, a...
|