|
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.
|
|
|
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.
|
|
|
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.
|
|
|
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?
|
|
|
"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.
|
|
|
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.
|
|
|
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.
|
|
|
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!
|
|
|
Approaching the Implementation of CM When landing an airplane, the approach is considered quite important. If the approach vector is off even by 1%, the plane may careen off the other end of the runway. Also, if the approach is incorrect, effort such as fuel and time is unnecessarily expended and wasted, especially if circling must occur.
|
|