Better Software Magazine Articles

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
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
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
Managing the Communication Storm Front

The communication storm front is a real phenomenon that crops up in all development teams and in all organizations. You need not be the victim of such storms. You, as development manager, have the tools to reduce the power of the storm front and create a team that is ever more effective and efficient.

Elizabeth K. Schmitz
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
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
Getting Published

Why would you want to get published? Why take time out from doing real work to share your thoughts with others? After all, didn't we gladly leave writing behind when we got out of school? But when you share your experiences, you play a part in a larger picture, leaving your mark on the world, and advancing your field.

Danny R. Faught's picture Danny R. Faught
User-Driven Design

It doesn't matter when you deliver, if you build the wrong product. Development entails inferences and assumptions about the user, which are supposed to guide the build-process. However, even if development successfully matches the inferences and assumptions about the user, if those criteria don't match the Real User, the product fails. This article talks about how to incorporate the user into the requirements and design phase.

Pages

AgileConnection is a TechWell community.

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