Better Software Magazine Articles

Anticipating Human Error

This article makes three points. First, errors happen. Second, systems can encourage errors. Third, a basic understanding of the kinds of errors humans make can help us design better systems. Here are some suggestions to help avert trouble.
 

Ramon M. Felciano
A Recipe for Success: Ingredients for Building a Great Software Team

Great people, interesting work, and smart referees make for a successful software team. Bobbie Patnode recommends some ways to keep your team engaged, including treating them well, paying them well, and training them well.

Bobbie Patnode
It's January 1, 2000 . . . What Have You Overlooked?

You have a Y2K effort in place, and it's all about preparation for an event you know is coming. What have you overlooked that’s going to bite you? This article will help give you 20-20 foresight to anticipate potential "gotchas."

Robin F. Goldsmith
Application Integration

Building an integrated suite of applications can be complicated, especially when several groups are working on the project in different locations. Here are some risks, as well as recommendations for allowing planning, development, and testing artifacts to be shared between disparate groups.

Sam Guckenheimer
Untangling Communication

Software development involves sharing critical ideas in a hectic, high-pressure environment. If you want your team to excel in its software projects, it's important to understand the communication circuitry at work in your everyday interactions. Here's a look at the components of the communication process, and five common errors to avoid.

Dale Emery's picture Dale Emery
Estimating Time, Effort, and Cost

Correctly judging project needs and scope is a challenging task. Here are some techniques and tools for accurately predicting project deliverables.

David Garmus
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
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
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
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

Pages

CMCrossroads is a TechWell community.

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