Application Lifecycle Management

Better Software Magazine Articles

Mind the Gap

The requirements composition table is an effective technique comprising six steps that will help you assess an application's test coverage and identify gaps in your test suite even if you don't have any software requirements specifications.

Yuri Chernak
Software Development Worst Practices

While some debate which, if any, industry practices deserve the designation "best practices," this tongue-in-cheek look at the horrors of some of software's "worst practices" drives home the value of the good ones and may help us improve the quality of our software.

Gregory pope12's picture Gregory pope12
The Other Side of Complexity

Software development has always been an exercise in managing complexity because there appears to be no end to the problems to which we can apply automatic computation. It has progressed as a discipline as good minds have created abstractions that transform that complexity into simplicity.

Chuck Allison's picture Chuck Allison
New and Improved: Get User Buy-In on Process-Improvement Initiatives

When these information architects were assigned to a team that was struggling to achieve CMMI Level 2, they found little user buy-in for the new processes. Find out how introducing user-centered design to the project got everyone involved in the design process and increased the users' satisfaction in the end product.

Ember R. DeBoer
Some Assembly Required

Despite the hype, test-driven development is not as easy as child's play. Successful implementation of TDD requires discipline and an understanding of the potential pitfalls. This article examines the "fine print" of TDD and explains how following some guidelines can help you make it a valuable addition to your development toy box.

Jennitta Andrea's picture Jennitta Andrea
Inside SOA

Building on a May 2007 Better Software magazine article by Dan North, this month’s cover story continues a look inside service-oriented architecture that emphasizes the process that defines the services rather than the technical specifics. However, this article does use standard technologies—Java, XML, SOAP, WSDL, and POX to further describe a practical implementation of the vacation-booking service described in Dan’s article.

Arjen Poutsma
Tools for Our Time

Software development has really changed over the years, and programming languages have evolved along with it. Learn more about D, one of today's more interesting languages; it's a high-level, type-safe language with the efficiency of C++ and the convenience of Java.

Chuck Allison's picture Chuck Allison
Buddy, Can You Paradigm?

Contrary to popular belief, object orientation is not the One True Paradigm--there isn't one, each programming style has its own claim to fame, and one is not necessarily better than another. So, even more important than being proficient in multiple languages is the addition of multiple paradigms to your development arsenal.

Chuck Allison's picture Chuck Allison
Developing Your Sense of Smell

With all of the resources available these days—books, blogs, Webcasts, training,—that aid us in our design, are you one of those programmers who lacks the "olfactory gene" needed to detect refactoring odors in your code? Unit testing helps you refine your sense of smell and improve your code design.

Tod Golding's picture Tod Golding
Transform Your Software

Bring out the best in your code. Systematic code transformations are an important tool for test-driven development. Refactoring and generalization—common code transformations in TDD—improve the code while preserving its behavior and broaden the capabilities of the software. Each technique has its place, and together they help make TDD effective.

William Wake's picture William Wake

Pages

CMCrossroads is a TechWell community.

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