Conference Presentations

The Venerable Triangle Redux

Jerry Weinberg's venerable triangle problem has been around since 1966 and was popularized in Glenford Myers' book The Art of Software Testing. To assess a tester's effectiveness, many software companies have used the triangle problem as an interview question. But, past studies indicate testers' effectiveness at solving the problem is relatively low. Recent studies by noted experts indicate that a significant number of testers in the industry lack formal training in software testing techniques. Over a three-year period Microsoft conducted several experiments to accurately quantify the effectiveness of testers with different years of experience and skill.

William Rollison, Microsoft Corporation
Risk: The Testers Favorite Four Letter Word

Identifying risk is important-but managing risk is vital. Good project managers speak the language of risk, and their understanding of risk guides important decisions. Testers can contribute to an organization's decision making ability by speaking that same language. Learn from Julie Gardiner how to evaluate risk in both quantitative and qualitative ways. Julie will discuss how to deal with some of the misconceptions managers have about risk-based testing including: Testing is always risk-based. Risk-based testing is nothing more than prioritizing tests. Risk-based testing is a one-time-only activity. Risk-based testing is a waste of time. And risk-based testing will delay the project.

Julie Gardiner, QST Consultants Ltd.
It's 2005, Why Does Software Still Stink

We've now been writing software for an entire human generation. Yet software is arguably the least reliable product ever produced. People expect software to fail, and our industry has developed a well-deserved and widely accepted reputation for its inability to deliver quality products. James Whittaker explores the history of software development over the last generation to find out why. He uncovers several attempts to solve the problem and exposes their fatal flaws. James then looks forward to a world without software bugs and offers a roadmap-practical techniques that can be implemented today-for how to get there from here. Join James on this journey through the past and into the future-and be sure to bring something to scrape the bugs off your windshield.

James Whittaker, Florida Institute of Technology
Six Impossible Truths about Developing Software - All Before Breakfast

Alice laughed. "There’s no use trying," she said, "one can't believe impossible things."

"I daresay you haven't had much practice," said the Queen. "When I was younger, I always did it for half an hour a day. Why, sometimes I've believed as many as six impossible things before breakfast."

--Alice in Wonderland

Tim Lister, Atlantic Systems Guild, Inc
Project Retrospectives

At the rate Web vulnerabilities are being discovered and exploited, the security industry cannot afford to continue trying to keep up with patches and fixes. Cross-site scripting, SQL injection, command injection-attacks like these result from vulnerabilities in inadequately designed or written code, creating opportunities for attackers to threaten privacy and steal data. The only way to truly eliminate these vulnerabilities is to address them at their origin-in the source code itself. The critical sources of threats in an application come from coding errors, configuration issues, and design flaws. Using actual security failures, Daniel Hestad describes the dirty baker's dozen code-based vulnerabilities found in Web software. Learn to locate, understand, and eliminate these vulnerabilities before they present untold risks to your organization.

Lucille Parnes, Software Process Improvement Consultant
Multi-Attribute Software Analysis

Although the methods for measuring individual quality characteristics of software (performance, functionality, etc.) are well known, few organizations have developed useful metrics to evaluate overall software quality. Recently, several large software organizations have found multi-attribute software analysis a valuable method to measure the progress of software development and to assess a product’s ship readiness. Learn how to use the analytic hierarchy technique and a simple multi-attribute rating system to quickly evaluate the overall quality of your software. Use the multi-attribute software analysis to compare the overall quality of your product to your competitors' product. Go beyond the muddle of multiple conflicting measures to a more crisp and useful quality metric.

James McCaffrey, Volt Information Sciences, Inc.
Negotiating the Defect Minefield for a Successful Product Release

Software success is strongly influenced by how you finish a project. For that, a special set of skills is required. Many projects fail in their endgame during testing, not because of the testing itself but because of the late discovery of defects and functional gaps that show the software as not viable. Join Robert Galen as he focuses on a set of high level practices and techniques that will help improve your management and steering within the endgame. Learn about a release framework with the right testing tempo and key milestones. Define formal release criteria and add flexibility and depth to your defect fix-don't fix decisions. As a manager in the difficult release endgame, your behavior and leadership can make the difference between a successful release and perceived failure. Robert’s guidance will increase the odds of successfully delivering your release.

Robert Galen, Thomson/Dialog
Twelve-Step Program for a Better Test Process

We can't make software better by testing the quality into it. However, if we manage our testing processes and educate the rest of the team about what it takes to make better software, we can make a difference. First, we have to get the testing world under control and work to reasonable expectations; then, we can spread the word to the rest of the organization. Judy McKay describes how to gain control of the test process-while still getting the real work done-and shares ways to educate the rest of the team about quality awareness. Using Judy's twelve-step program, test managers and testers will regain their sanity as they take control of the testing workflow and share it with the project team. By allowing developers to become part of your world, quality assurance can become a reality in your organization.

Judy McKay, Test & Automation Consulting LLC
(Almost) Painless Code Reviews

Peer code review is universally acknowledged as a valuable practice that often catches 60 percent to 90 percent of the bugs in code. So why would most developers rather be poked in the eye with a sharp stick than attend a Fagan style inspection meeting? Take a cue from the crowd working on Wine (, an open source implementation of the Windows API. The Wine team has evolved code review practices to avoid the chaos and poor communication that can result from a team of part-time developers distributed across the globe. Frederic Boulanger explains how to adapt the Wine code review system to the needs of a commercial software development team. The "single committer" review method improves code quality, helps keep errors out of source control, and quickly integrates new developers into your team.

Frederic Boulanger, Macadamian Technologies Inc
Unitizing Legacy and New Code for Unit Testing

All code is unit testable, regardless of its origin and current state. Although it may not appear so, there are techniques you can use to safely get any piece of code under automated unit tests. Michael Feathers shows the dependency breaking techniques he has used to safely de-couple legacy code for unit testing. He discusses not only the different challenges in Java, C#, C++, and C but also common heuristics you can use to bring your code under test. Learn about the value and power of deterministic change with fully automated unit tests. Identify internal and external dependencies in sections of code and establish ways to break these dependencies with or without refactoring tools.

Michael Feathers, Object Mentor


AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.