Better Software Magazine Articles

What's the Deal with Investigators?

"Investigators aren't sure" is a phrase that frequently pops up in the media. Information systems workers seem to share this uncertainty. So, what's the secret to success in this "aren't sure" world?

Lee Copeland's picture Lee Copeland
Let's Talk Agile

Agile development employs more oral communication, feedback, and interaction than traditional development. These communication tools can help ease the transition into the more interactive agile team relationship.

Ken Pugh's picture Ken Pugh
A ''D'' in Programming

In certain company, the topic of favorite programming languages can elicit the same response as other taboo subjects, such as religion and politics. But, Chuck's going out on a limb to discuss his new favorite language, D, and some of its best features, such as its being strongly typed and compiling to native code, yet it is garbage collected.

Chuck Allison's picture Chuck Allison
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
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
Even Cavemen Can Do It: Find 1,000 Defects in 1,000,000 Lines of Code in 30 Days

Due to the increased emphasis on computer security, great advances have been made in static analyzer tools that can detect many code errors that often elude programmers, compilers, test suites, and visual reviews. Traditional tools such as "lint" detectors are plagued with high false positive rates. Gregory Pope discusses the steps his organization used to evaluate and select a static analyzer tool and pilot its implementation. He describes how they rolled out the tool to developers and how it is being used today. Greg shares the results they achieved on real code (C, C++, and Java) and the valuable code metrics they obtained as a byproduct of its use. Greg discusses the skills needed to use the tools, ways to interpret the results, and techniques they used for winning over developers.

  • The features of static code analyzers
  • Defects that can be found with these tools
Gregory Pope, William Oliver and Kimberly Ferrari, Lawrence Livermore National Laboratory
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
The Definition of "Done" in Software Development

Getting all of the necessary people together to define what "done" means in a software development project will be difficult. Facilitating such a task will probably be a challenge, but there is nothing like working in an organization that works like a well-oiled machine, where everyone knows what is expected of him or her and just naturally does it.

Alan S. Koch
Web 2.0: The Fall and Rise of the User Experience

The Web has enabled pervasive global information sharing, commerce, and communications on a scale thought to be impossible only ten years ago. At the same time, the Web dealt a setback in the user interface experience of networked applications. Only now are Web standards and technologies emerging that can bring us back to the rich and robust user experiences that were developed in the desktop client/server era before the Web came along. Wayne Hom presents examples of great, rich client Web user interfaces and discusses the enabling tools, technologies, and methodologies for today’s popular Web 2.0 approaches. Wayne discusses the not-so-obvious pitfalls of the new technologies and concludes with a look at user interface opportunities beyond the current Web 2.0 state-of-the-art to see what may be possible in the future.

  • User experiences on the Web versus older technologies
Wayne Hom, Augmentum Inc.
Quantitative and Statistical Management Applications

There is no longer any question that-when appropriately used-quantitative measurement and management of software projects works. As with any tool, the phrase "appropriately used" tells the tale. Drawing on his experiences using quantitative and statistical measurement, Ed Weller provides insights into the key phrase "appropriate use." Ed offers cases of useful-and not so useful-attempts to use the "high maturity" concepts in the Capability Maturity Model Integration® (CMMI®) to illustrate how you can either achieve a high return on your investment in these methods or fail miserably. After an introduction to the theory of statistical measurement, Ed presents examples of the successful use of statistical measures and discusses the traps and pitfalls of their incorrect implementation.

Edward Weller, Integrated Productivity Solutions, LLC


CMCrossroads is a TechWell community.

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