Application Lifecycle Management

Better Software Magazine Articles

The Right Business Analysis Tool

The continued rise of the business analysis profession has led to a surge in software tools specifically designed for the business analyst. Find out what types of tools are in the marketplace today and how to select the right business analysis software tool for your organization.

Matthew Leach
IDEs and Build Scripts

Teams benefit from using both IDEs like Eclipse and integration tools like Maven. Steve Berczuk discusses the risks that can occur when IDEs and build scripts diverge, and provides guidelines for keeping the two consistent, so that teams can be more productive.

Steve Berczuk's picture Steve Berczuk
Software to Go: Developing Applications for a Wireless World

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.

Luis Miguel Carvalho
Testing the Contract Metaphor

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.

Kevlin Henney's picture Kevlin Henney
GUT Instinct

Whether or not a unit test is considered good is not simply about what it tests: It is also very much about "how" it tests. Is the test readable and maintainable? Does it define the expected behavior or merely assume it? To be sustainable, the style of a unit test is just as important as the style of any other code. Perhaps a little surprisingly, the most commonly favored test partitioning style does not meet these expectations.

Kevlin Henney's picture Kevlin Henney
The Trouble with Derivation

This article discusses the dark underbelly of derivation: the fragile base class. It's possible to modify a base class in such a way that, even though you've improved its implementation and all your tests work just fine, you've nonetheless damaged the derived classes, perhaps fatally.

Allen I. Holub's picture Allen I. Holub
A Path to Readable Code

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.

Ken Pugh's picture Ken Pugh
Train Wreck Spotting

An oft-overlooked goal of encapsulation is to simplify usage. Without this sensibility, classes can end up with simplistic interfaces and callers can end up with method-call pile-ups.

Kevlin Henney's picture Kevlin Henney
Encapsulation and Vampires

Encapsulation is more than just using the "private" keyword when defining a class. You need a boundary that keeps the vampires out.

Kevlin Henney's picture Kevlin Henney
Is ''Agile'' Distracting You?

If a process tool or service claims to be agile it must be good, right? Not necessarily. The term "agile" has become abused and, since we don't have a standard dictionary definition, it is open to interpretation. So, let's look beyond the label to what really matters—value.

Jonathan Kohl's picture Jonathan Kohl

Pages

CMCrossroads is a TechWell community.

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