Better Software Articles

Please enter an article title, author, or keyword
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
Make Your Mission Possible

Defining the work that belongs in your group and the work that doesn't belong can be challenging. A strong mission statement can help you defend your stance on what work you will and will not do, while ensuring you still provide the work your organization values.

Johanna Rothman's picture Johanna Rothman
Designing Reusable Software

For software to be reusable, it must be usable in a variety of contexts, and an important attribute of reusability at the code level is genericity. Learn more about defining for reuse and using generics.

Chuck Allison's picture Chuck Allison
A Needle in a (Very Large) Haystack

Putting together a successful team is always a challenge, but assembling a global team can be almost overwhelming. These tips can help you overcome the obstacles to hiring the best offsite developers for your project.

Sherif Koussa
Is There a Problem Here?

Suppose you were testing an application that you had never seen before with no time to prepare, no specification, no documentation, no reference programs, no prepared test cases, no test plan, and no other person to talk to. How do you know that what you are seeing is a bug?

Michael Bolton's picture Michael Bolton
The Hawthorne Effect

Ever wondered what productivity experiments on factory workers in the early twentieth century have in common with today's adoption of agile practices? Lee sheds some light on the "process of process" and the importance of retrospectives as catalysts for change.

Lee Copeland's picture Lee Copeland
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
Pine Needles and Better Communication

As a new Army Ranger, Payson acquired many hard-earned lessons. But dodging snakes and alligators while navigating a Georgia swamp one moonless night, he learned two lessons in particular that can help project managers navigate their software projects.

Payson Hall's picture Payson Hall

Pages

Upcoming Events

Apr 27
Jun 08
Sep 21