Better Software Magazine Archive: Jan/Feb 2009

IN THIS ISSUE

Are Your Pants on Fire, or Do You Suffer from Split Focus?
By Johanna Rothman

Some schedule games—Split Focus and Pants on Fire—are the result of your management not making certain decisions about the project portfolio. Without those decisions, your project has problems. In this column, Johanna Rothman explains what you can do when the problems on your project are caused by your management’s lack of decision making.

The TSA and Software Quality
By Lee Copeland

As evidenced by news stories relating blatant failures on the part of the Transportation Security Administration, many organizations fail to learn much from the information testing provides. What can we do to improve the quality of our measurements so we can learn valuable lessons from the results?

Building a Foundation for Structured Requirements: Aspect-Oriented Engineering Explained (Part 1)
By Yuri Chernak

Aspect-oriented requirements engineering (AORE) is a new methodology that can help us improve the analysis, structure, and cost of development of software requirements. AORE does not replace but rather complements any of the existing requirements methodologies. This two-part paper explains to software practitioners the AORE concept, illustrates how it can be applied on software projects, and discusses the benefits of AORE. Part I focuses on the AORE analysis techniques.

The Kanban Primer: A Cultural Evolution in Software
By David J. Anderson

Kanban,a Japanese word meaning “signal card,” introduces a new way to think about software development. Through signaling, a limit is set on work in progress resulting in a system that is never overloaded. Kanban signals do not need to be based on passing physical cards; any virtual signaling mechanism will do equally well.

Risk-based Testing in Action
By Rex Black

Risk-based testing allows project teams to focus their limited test efforts on the areas of the product that really matter, based on the likelihood of bugs in those areas and the impact of bugs should they exist. By using risk priority to sequence test cases and allocate test effort, test teams can also increase their chances of finding bugs in priority order and allow for risk-based test triage if necessary.

A Path to Readable Code
By Ken Pugh

Test-driven development is usually presented as a developer process. On the other hand, acceptance test-driven development (ATDD) is a communication process between the customer and the developer. In ATDD, the tests provide the terminology in customer-understandable terms. The customer's terminology suggests abstract data types that make code more readable.

Lucky and Smart
By Michael Bolton

Charles Darwin was certainly a great scientist, but his career and his discoveries were also strongly influenced by serendipity and luck. What could this great explorer and scientist teach us about testing?

Questions You Should Ask
By Michele Sliger

It's a technique children and teenagers have mastered: asking "why" until they get to an acceptable response (or until we're too tired to continue answering). Find out how Michele Sliger uses a similar approach designed by Six Sigma to drill down into the underlying cause of any problem within software projects. She then continues the inquisition with a series of other questions in order to find out how these problems affect business value and technology. Read on to learn what these questions are and how you can start using them to find out why things aren't going as planned.

CMCrossroads is a TechWell community.

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