Change Management

Articles

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
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
The Case for Peer Review

The $1 billion bug and why no one talks about peer code review.

 It was only supposed to take an hour.

The bad news was that we had a stack of customer complaints. The latest release had a nasty bug that slipped through QA. The good news was that some of those complaints included descriptions of the problem - an unexpected error dialog box - and one report had an attached log file. We just had to reproduce the problem using the log and add this case to the unit tests. Turn around a quick release from the stable branch and we're golden.

Jason Cohen
Process Perspective: Keep All Re-use in mind in the Software Development Process

Software re-use is a worthy and noble ideal to aim for during any development, but why not let's take a bigger picture view of the whole software development environment. Make the goal to set up our process so that as much as possible is re-used on subsequent projects. Here are some thoughts on achieving this.

Charles Edwards
What Links the Requirements to Tests in Development Today?

What’s happened to the links between requirements and tests? How do we know what to test and when? How do we, and the customers, know we got the system being built right? What’s the traceability between the two disciplines?

Charles Edwards
"Agile" Change Management: From First Principles to Best Practices

This month we will discuss what agile change management is, what it means, and how to do it. First, we will describe what we mean by agile change management and give some examples of the relevant parts of some agile methods. We will then discuss how to make change management agile and some of the principles and techniques behind it.

Is Continuous Integration Just Another Buzz Word?

Last month we wrote that we would be addressing some questions and concerns raised by readers who gave us feedback on previous articles. We still intend to address these concerns. However, since the theme for this month (continuous integration) is one of the core "enabling practices" of agile methods like extreme programming, we felt it necessary to shift our focus this month to cover it instead of what we had originally intended.

Agile SCM – Build Management for an Agile Team

A number of people work together to develop a software application. The application is useful only when the components each person works on come together: the process of integration. The mechanics of integration happens during a build. Last month we discussed continuous integration. Integration implies building and this month we'll talk about the various kinds of builds one does during a development process.

ABCs of a Branching and Merging Strategy

Branching is both simple and complex.  For many, it is challenging to know where to begin.  This article hopes to provide a starting point, by highlighting branching concepts, providing reasons for branching, and suggesting an approach to establish a branching and merging strategy.

Mario  Moreira's picture Mario Moreira
Learn from your Vendor: Solution Selling

If your daughter ever comes home with a friendly, outgoing guy named Norbert, shoot first and ask questions later.

 

Some years ago, a salesman named Norbert at the SCM vendor where I worked got a call in late December from a prospect that had decided to buy from a different vendor. He asked to keep an appointment he had made for a wrapping up session. He went to the meeting with a sales proposal in hand, and after reengineering the vision of the customer, actually left with a sales agreement. Now that's a short sales cycle! 

Austin Hastings

Pages

CMCrossroads is a TechWell community.

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