Better Software Magazine Articles

From Primitive to Prominent: The Past, Present, and Future of Automated Code Analysis

Automated sourcecode analysis tools are becoming more powerful and more necessary than ever before. Alberto Savoia takes a look at the evolution of static and dynamic code analysis tools, from their humble beginnings to their present status as indispensable technology, and tells us what he predicts for the future.

Alberto Savoia
Code Improvement: Five Practices to Help Spread the Joy of Great Code Design

The software we produce is like the neighborhoods in which we live--the blueprints aren't as important as the enjoyment of simply using it. The best design brings joy to both those who create it and those who use it. Jeff Grover and Zhon Johansen detail five practices to help you spread the joy.

Jeff Grover

Conference Presentations

Let's End the Defect Report-Fix-Check-Rework-Cycle

Find out how teams transitioning to Agile practices must re-think their workflows and project metrics originally designed to handle many hundreds of defect reports that occur in typical testlast development cycles. Richard Leavitt discusses how a real-world implementation of key practices like early testing and continual integration-though not without bumps and bruises-lowered the number of open defect reports by an order of magnitude. These practices also can improve how the team communicates, reduce delays, and provide more direct measures of project status, feature progress, and release readiness.

Richard Leavitt, Rally Software Development
Systematic Techniques for Fault Detection and Isolation

Selecting the appropriate testing techniques and test cases improves test efficiency, reduces time to market, and gives you confidence that the system is ready to ship. Using real-world case studies as examples, Madhav Phadke explains the fundamentals of robust test case selection and how code coverage can improve your test results. He discusses ways for testers to support debugging and faster repairs by isolating defects to a specific part of the software. Learn to select test outputs based on "total function evaluation" rather than end customer outputs and ways to use orthogonal arrays for testing combinations of parameters. Take away a list of free or inexpensive tools that can speed up your testing process.

Madhav Phadke, Phadke Associates
Lipstick on a Pig - How Illusion Leads to Crisis in Real World Projects

Change, ambiguity, and risk are key issues whether you are running a software project, managing a development team, or leading an entire organization. We learn it over and over again. It's not a matter of "if" change will happen-it's a matter of "when." When a crisis inevitably arrives, how do you respond? As Jerry Weinberg observed in The Secrets of Consulting, "It may look like a crisis, but it's only the end of an illusion." Andy Kaufman looks at key project illusions that threaten success as we lead projects and people in the realm of software development. Whether you're a project team member or a senior executive, Andy provides practical tips you can immediately apply in your organization.

Andy Kaufman, Institute for Leadership Excellence and Development
The Simplest Automated Unit Test Framework That Could Possibly Work

Everyone pays lip service to the importance of unit testing, but rarely do developers actually integrate unit testing into their daily routine. In the spirit of eXtreme Programming, this presentation offers a simple two-class framework for automating unit tests in three popular languages: C++, Java, and C. No GUI, no templates, just a fast and productive way of organizing and running suites of unit tests. You'll walk away wondering how you have done without this simple technique for so long.

Chuck Allison, Utah Valley State College

AgileConnection is a TechWell community.

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