Better Software Magazine Archive: July/Aug 2009

IN THIS ISSUE

Three Kinds of Measurement and Two Ways to Use Them
By Michael Bolton

Are software development and testing sciences subject to the same kind of numerical measurement that we use in physics? If not, what kinds of measurements should we use? How could we think more usefully about measurement?

How Agile Practices Reduce the Top 5 Requirements Risks
By Ellen Gottesdiener

Requirements risks are among the most insidious risks threatening software projects. Whether it is having unclear requirements, lack of customer involvement in requirements development, or defective requirements, these troubles are a major culprit in projects that go awry. As requirements expert and agile coach Ellen Gottesdiener explains, agile practice can go a long way in mitigating the top five requirements risks.

Adapting Inspections to the Twenty-first Century
By Ed Weller

How do you adapt inspections to a twenty-first century distributed workforce? A key part of the inspection process is the team meeting, which provides peer pressure to participate and consensus on defects. Teams working in multiple time zones have limited opportunities for the team meeting. A list of requirements and the functions needed to solve this problem based on real-world experiences should help anyone faced with this problem.

Predicting the Past
By Lee Copeland

Developing an accurate prediction process is complex, time consuming, and difficult. But, basing predictions on causality rather than correlation and learning how to "predict the past" can help us gain confidence in the validity of our work.

That's No Reason to Automate!
By Mark Fewster
Dorothy Graham

Automating test execution is supposed to give tremendous benefits, but often gives disappointing results—because it hasn’t met the objectives set for it. The fault may not lie with the automation itself, but with the objectives you are attempting to achieve. Aiming at the wrong target does not bring success! For example, objectives for automation are often confused with objectives for testing, but they should be different. In this article, learn how to avoid the most insidious traps and how to recognize good objectives for automation.

Feel the Burn: Getting the Most Out of Burn Charts
By George Dinwiddie

Burn-down charts have become a popular project artifact, but too often, people accept the default chart from whatever project management tool they're using. What choices can we make about the chart format and scale that will help us create charts that answer the questions that are really important to us? And when the chart looks "funny," what could it possible mean?

Software to Go: Developing Applications for a Wireless World
By Luis Miguel Carvalho

The mobile arena is in constant evolution, changing the way we approach software development both from a business and a technical perspective. Taking the time to set your plan can make the difference between success and just a good idea. In this article, Luis Carvalho shares some guidelines for bringing new applications into the mobile ecosystem.

Avoiding Half-baked Discovery
By Didier Thizy

It can be difficult to explain to your customer why cutting half of the features doesn't cut half of the time and cost. Every software project has fixed costs that often get overlooked in project planning—setting up development environments, ramp-up, building frameworks, and setting up configuration management to name a few. Read on for some ideas on how you can position this with your customer.

Testing the Contract Metaphor
By Kevlin Henney

A contract represents a service agreement between two parties, the bounded provision of service by one party to the other. This metaphor also applies to how we can think about the relationship between unit tests and code. A contractual mindset encourages test names and partitioning based on clear propositions, backed up with executable examples.

CMCrossroads is a TechWell community.

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