Better Software Articles

Please enter an article title, author, or keyword
Extreme Testing

Rapid application development means you have to accept that the things you build will need to change. Approach development in a way that makes it easy to transform yesterday’s code into what you need tomorrow. This article explains how testing works in the world of Extreme Programming.

Ronald E. Jeffries's picture Ronald E. Jeffries
Collaborate for Quality

Project teams are searching for ways to develop requirements that are as free from defects as possible. Here's how you can use collaborative workshops, along with walkthroughs and QA checklists, to develop high-quality requirements.

Ellen Gottesdiener's picture Ellen Gottesdiener
What's With These Buffer Overrun Bugs?

Many of the culprits responsible for security breaches found on corporate networks and the Internet today have used buffer overrun problems as the main way to exploit the system. Here is an examination of buffer overrun bugs and how to prevent them.

Bob Johnson's picture Bob Johnson
Keys to Setting Achievable Goals

David Schmaltz identifies five types of goals—aspirations, constraints, regulators, targets, and legacies—and shows how to find common understanding and create meaningful objectives in team projects.

David A. Schmaltz's picture David A. Schmaltz
Testing E-Commerce

The nature of the Internet poses unique challenges to testers. The challenges and risks are compounded in e-commerce environments. You may not know who your customers are, and you have no control over their browsing environments. How do you prepare for delivery and security issues? This article discusses how to reduce your company's risk of doing business on the Web.

Rhonda Dibachi's picture Rhonda Dibachi
Build It or Buy It?

When software professionals need a tool to support their work, a common dilemma is whether to build the necessary tool or purchase it. Here's a look at the benefits, risks, and myths associated with each approach.

Elisabeth Hendrickson's picture Elisabeth Hendrickson
Case Study: Selling the CMM

Envision a slow day, a slow meeting, and someone says in a nonchalant manner something like, "Raise your hand if you want to do a CMM." Only two hands go up—but it makes a difference whose hands. From this casual setting develops an all-out effort involving hundreds of people in training, implementing, and integrating the CMM into the development culture. Here is the story of how one large financial services company mobilized for its CMM initiative.

J. James Jacobsen's picture J. James Jacobsen
Finding the Signal through the Noise

A major challenge for software professionals interpreting data is deciding what's real and what isn't, what matters and what doesn't. A useful way to think about it is that you are trying to find the signal in the noise produced by random variation and error. Here is advice on how to extract the useful information from the "noise."

Jarrett Rosenberg's picture Jarrett Rosenberg
Weinberg on the Essential Team

The team is the basic design unit for software engineering processes. Within the team, reviewers can learn without having to admit to ignorance, and their learning is always relevant to the team's tasks. When there are multiple eyes, there are many more chances to see a fault. Learn how to create and get the most from your team.

Gerald M. Weinberg's picture Gerald M. Weinberg
Testers and Developers Think Differently

Appreciating differences is critical for productive teams. Different approaches aid in finding solutions, and mutual respect dramatically improves group problem solving. Testers should not be judged according to developer criteria.

Bret Pettichord's picture Bret Pettichord


Upcoming Events

Nov 07
Nov 13
Nov 13
Dec 05