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
Branching and merging: the heart of version control
Providers hold their own views of the landscape, but the Git SCM system is drawing looks from them all
|
|
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles
|
|
Microsoft pivots toward business intelligence
The goal is to make business intelligence accessible "to the masses"
|
|
From the Editors: Node.js is unruly, but that’s where the fun is
The time to get involved with Node.js is now; Hadoop is about to break its own barriers
|
Top five apps to manage your workload
Web applications offer new ways to track your “to-do” lists
|
|
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles
|
|
Xceed releases UX-focused suite for Microsoft’s WPF
"Blendables" helps match user experiences to developer visions
|
|
Microsoft pivots toward business intelligence
The goal is to make business intelligence accessible "to the masses"
|
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.
|
|
Facebook claims hacker cred
Facebook's SEC S-1 filing form includes a short essay on the Hacker Way by Mark Zuckerberg himself.
|
|
Ryan Dahl steps down
Ryan Dahl, creator of Node.js, steps back from his position as gatekeeper for the project.
|
|
Bloomberg opens its API
Bloomberg's APIs could lead to a future standard for accessing market data.
|
The Hidden Costs of Software Licensing
Moving beyond paper-based software licensing to more flexible, software-based licensing is a business decision. There is a growing trend tow...
|
|
Case Study: You May Need a Development Mechanic
As a contractor for a major financial player in Germany, SOBEGE, a German-based consultancy specializing in embedded IT and web services, wa...
|
|
Ensuring Software Quality at a Major International Bank
One of the world’s leading international banks has adopted AgitarOne technology for delivering generated unit tests for their Java software...
|
|
Load Testing Adobe Flex Applications
Adobe Flex applications may be different from applications you’ve worked with before. For classic HTML web applications, the server does all...
|