Application Lifecycle Management

Better Software Magazine Articles

Evidence for Evolution

What important lessons can we learn from the evolution of the programming language Lisp? Brian Marick recounts the environment that enabled its creation and recommends we incorporate some of the Lisper practices into our own projects.

Brian Marick
Know What's at Stake

Everyone knows the importance of well-defined functional requirements. We want our products to work, don't we? But how many of us are paying as much attention to defining our non-functional requirements? In this historically focused feature, we learn from past mistakes the potentially disastrous results of inadequately tested NFRs.

The Roof Is Going to Go

As one poor German tourist can attest, idioms don't translate. But Chuck Allison thinks programmers should become "native speakers" of the programming languages they use. This includes using and understanding them, idioms and all.

Chuck Allison's picture Chuck Allison
The Exceptional Exception

So much more than a bucket for your errors, exceptions can be a valuable tool that lets you communicate to your clients not only that there is a problem but why and where the code failed.

Tod Golding's picture Tod Golding
Big, Complex, and Tested? Just Say "When": Software Development Using Presenter First

Looking to bridge the gap between code and customers? David Crosby and Carl Erickson elaborate on the benefits of an approach called Presenter First, a simple technique that can be repeated as many times as needed to get the job done.

David Crosby
The Case of the Missing Fingerprint: Solve the Mystery of Successful End-of-Project Retrospectives

Through this tale of a planning spreadsheet and its effect on three different projects, learn the impact a single decision can have on a project--and pick up some helpful tools like fingerprint graphs and project timelines along the way.

Jennitta Andrea's picture Jennitta Andrea
One Step Back ... Two Steps Forward

A change to code that previously was working may introduce new failures. Testing for regression can catch these failures, find new problems, and identify opportunities to improve your test design.

Michael Bolton's picture Michael Bolton
Principle-driven Development

Challenges are inevitable in software development, and formal methodologies may obscure the simpler, basic rules that govern quality. When faced with an overwhelmingly complex challenge, look to proven principles.

Chuck Allison's picture Chuck Allison
The Power of Low-Tech Tools

The level of technology that goes into a tool is only as valuable as the service that you, as a user, get out of that tool. Some low-tech tools--such as the four that Esther Derby lists here--have a place in the technologist's toolbox, too.

Esther Derby's picture Esther Derby
The Ajax Balancing Act

The path to Ajax has its pitfalls, but using it carefully can put you ahead of the game. Tod Golding offers some tips to help you investigate the world of Ajax solutions, technologies, frameworks, and patterns and find a balance between an enhanced user experience and a robust application.

Tod Golding's picture Tod Golding

Pages

CMCrossroads is a TechWell community.

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