Change Management


The Business of Software Development

The software development business, once the domain of a few advanced technology companies, is now pervasive. Why? Because software is less costly and easier to modify than hardware. At first glance this is obvious; building a software telephone switch is a lot less costly than the hardware equivalent. Looking more closely, though, software products have far more features and, therefore, are more complex than hardware products. Software is easier to change, but this just adds to the level of complexity, especially on the management side. Software allows us to build products that are more complex.

Joe Farah's picture Joe Farah
A Christmas (Configuration) Carol (Abridged)

We have endeavored in this ghostly little tale, to raise the Ghost of an Idea, which shall not put our readers out of humour with themselves, with each other, with the season, or with us. May it haunt their houses pleasingly, and provide inspiration this season!

Lightweight Code Reviews: Team Building for the Rest of Us

The author explores the people side of peer code reviews. Besides the technical and quality benefits, peer code reviews help build better teams. Believe it!

Jason Cohen
The Largest Case Study of Code Reviews—Ever

In May 2006, we wrapped up the largest case study of peer code review ever published, done at Cisco Systems®. The software was MeetingPlace® — Cisco's computer-based audio and video teleconferencing solution. Over 10 months, 50 developers on three continents reviewed every code change before it was checked into version control. We collected data from 2500 reviews of a total of 3.2 million lines of code.

This article summarizes our findings.

Jason Cohen
Six Ways to Build Reliable Applications

I came across a paper the other day in Better Software titled, "Code Improvement" by Jeff Grover and Zhon Johansen. It's a short, but good article focusing on developing well-designed code. My favorite point was "Start/Finish each task by refactoring". In other words, stop the entropy of expanding your software solution by ensuring that the code is as minimal as necessary to meet the requirements. There are parallels in the CM world that ultimately lead to a reliable CM process and tool support capability. In this article, I'll venture where I don't usually go: inside our own development environment to bring out a few points that may apply equally to general development and to a CM environment.

Joe Farah's picture Joe Farah
The Pros and Cons of Four Kinds of Code Reviews

The authors explore the pros and cons of four other common styles of code reviews—over-the-shoulder, email pass-around, pair programming, and tool-assisted reviews—and see which ones is the most promising candidate for practical peer code reviews.

Jason Cohen
Does Senior Management Really Care About Quality?

"Sometimes," Bob mused, "It seems like senior management doesn't care about the quality of the systems we build. I wonder if they care about quality at all?"


"Oh, there is no question in my mind!" Sue assured him. "I know that they don't care. All they care about it hitting a schedule. They couldn't care less about how well the software works!"


Meanwhile, in the boardroom:  "What's wrong with your people?" the COO barked at the CIO. "They can never seem to deliver a system the works right. Between the bugs that have to be fixed and the difficulty that people have with figuring out how to use it, I wonder if we might be better off using pencil and paper!"

Alan S. Koch
Seamless Integrated Tops Wishlist for CM/ALM Tool Suites

There are a lot of CM/ALM solutions out there - so where are we headed? In my opinion, the future of CM/ALM will be defined by the level of tool suite integration, more than by any other factor in the 3rd and 4th Generations of tools. And basic "integration" will not cut it. Putting tools together into a single package with some glue and triggers to help the tools interact is helpful, but will fall short of market demand. "seamless integration" will be a requirement. No advance is more important to the next generation of CM tools. What about cost? What about ease-of-use? How about traceability? The answer is simple: first seamless integration, and the rest will follow. If you haven't seen a seamlessly integrated tool suite, you may not fully grasp this statement. But seamlessly integrated tools are the ones that will be dominant in the future. Let's look at why.

Joe Farah's picture Joe Farah
Lightweight Code Reviews A Lightweight Alternative to Inspections

In this article, we explore why almost no one does "proper" inspections and set up the case for lightweight peer code review. Try it. You'll like it!

Jason Cohen
Do Your CM/ALM Tools Help Secure Your Development Assets?

You're part of a very successful growing software company. As you approach the office one morning, fire trucks out front indicate that this is not business as usual. Fortunately, you have nightly off-site back-ups. Unfortunately, you'll need equipment, software, back-up recovery operations, and perhaps things can be back to normal in a few days with limited data loss. Or maybe you've noticed data problems creeping into your development repository ever since the recent round of layoffs. Or a hacker. Maybe there was a critical disk crash. Or maybe a new software release has introduced data inconsistency. There are many ways your development assets can be compromised. So you really need many avenues to secure them. Your CM and/or ALM suites are part of your development backbone - they must be up to the task of getting you back on your feet, the same day.

Joe Farah's picture Joe Farah


CMCrossroads is a TechWell community.

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