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
From Peer Review to Pair Programming

There is always talk about improving application quality.  In many instances, a large quality program gets initiated that either takes a lot of resources and time or introduces change that is too challenging for the organization (or project team) to handle. It is usually better to start on a smaller scale. Focusing on improving application quality in the programming phase, a couple of suggests are: 1) initiate peer reviews (e.g., code reviews) and/or 2) initiate pair programming.  While peer review is more widely known and used in the software development industry, pair programming offers more problem solving possibilities. Both are known to reduce defects and improve quality. The key is to introduce a small initiative like peer review or pair programming ensuring you are building the practice for success.

Mario  Moreira's picture Mario Moreira


CMCrossroads is a TechWell community.

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