Better Software Magazine Articles

Do You Know Why You Are Doing That?

It's easy to get caught up in the inertia of a project and forget to ask exactly what we are developing, who our customers are, and what their goals with our software might be. Few software projects have the time and budget to figure out what their project is through trial and error. Getting clarity on project focus not only helps productivity, working to create software that people actually need increases our chances for success.

Jonathan Kohl's picture Jonathan Kohl
The Trouble with Derivation

This article discusses the dark underbelly of derivation: the fragile base class. It's possible to modify a base class in such a way that, even though you've improved its implementation and all your tests work just fine, you've nonetheless damaged the derived classes, perhaps fatally.

Allen I. Holub's picture Allen I. Holub
Learning from Experience: Software Testers Need More than Book Learning

People often point to requirements documents and process manuals as ways to guide a new tester. Research into knowledge transfer, as described in The Social Life of Information, suggests that there is much more to the process of learning. Michael Bolton describes his own experiences on a new project, noting how the documentation helped ... and didn't.

Michael Bolton's picture Michael Bolton
What's It Mean? ...Reducing Imprecision to Improve Verification

Imprecise language makes understanding and, therefore, software verification more difficult. This article describes techniques for detecting and repairing vague and ambiguous software requirements.

David Gelperin's picture David Gelperin
Navigating Conflict

On good agile teams, conflict is frequent and viewed as normal. On great agile teams, conflict is constant and welcome as a catapult to high performance. What can we do to help teams chart their course through conflict so that it turns into a constructive force for greatness?

Lyssa Adkins's picture Lyssa Adkins
Understanding Software Performance Testing Part 1

Most people don't fully understand the complexities and scope of a software performance test. Too often performance testing is assessed in the same manner as functional testing and, as a result, fails miserably. In this four-part series we will examine what it takes to properly plan, analyze, design, and implement a basic performance test. This is not a discussion of advanced performance techniques or analytical methods; these are the basic problems that must be addressed in software performance testing.

Dale Perry's picture Dale Perry
Off the Trails

A focused approach toward testing a product is important, but sometimes we discover information that we didn't anticipate at all. One of the key skills in testing is dynamically managing our focus; sharpening it sometimes and widening it at other times. If we vary our approaches, we might find something surprising and broaden our coverage.

Michael Bolton's picture Michael Bolton
The Missing Measurement

In these times, many of us are being told to "do more with less." A more useful approach is "invest our organization's scarce resources where the return is the greatest." To do so, we must define the financial benefits sought when developing a system in addition to its requirements.

Lee Copeland's picture Lee Copeland
Lean Portfolio Management: Guiding IT Projects with Business Value

Improving your software development process is only valuable if it fills the highest priority needs for your business clients with speed and quality. Lean principles provide guidance on how to create a structure that lets business priorities drive the selection of the right products for creation and enhancement.

Guy Beaver's picture Guy Beaver
Taming the Headless Beast: A Proven Strategy for Testing Web Services

The benefits of Web services are becoming widely demonstrated and accepted. However, these benefits are not without their own challenges. How can you enter data and verify the response of a system without a GUI? Are you ready to tame this headless beast?

David Fern's picture David Fern


AgileConnection is a TechWell community.

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