Version Control

Articles

The Basics of Release Management

In the ever-growing complexity of dependencies amongst products at the build and run time level, there is the challenge of managing increasingly separate items that must work together upon release. This is where the concepts, disciplines, roles, and responsibilities of release management help. Release management focuses on both the engineering disciplines that must bring a specific project release together along with the management of external dependencies across products that must accompany a release.

Mario  Moreira's picture Mario Moreira
Application, Project, and Organizational Configuration Management

To get to our destination, the road that we take is important. In order to navigate, the road must be built for our needs. In order to keep it safe, signs with meaningful messages must be added along the way. This should parallel our approach to configuration management (CM). The road in this CM example is the CM infrastructure: a combination of the CM environment (CM technology and systems) and the CM procedures. This car vehicle is the project which uses CM road to deliver a release to its destination. The signs on the road are the organizational policies and direction given to guide us in the right direction and on the right road.

Mario  Moreira's picture Mario Moreira
The Trouble with $(wildcard)

$(wildcard) explained can be used anywhere in a Makefile or rule to get a list of files matching one or more glob style patterns.

John Graham-Cumming's picture John Graham-Cumming
Approaching Parallel Development with Branch - Merge Strategies

Many times when managers first consider parallel development, it appears to be a very effective way to manage changes to concurrent streams of development. This is somewhat true if the project uses an SCM technology that allows for stable branching and establishes discreet project and maintenance branches. However, what is often forgotten is that while branching is a great way to separate code changes, at some point merging will have to occur. This article provides guidance for approaching and performing parallel development.

Mario  Moreira's picture Mario Moreira
The Illusion of Control in Software Configuration Management

We explore why it is important to understand the context of agile techniques when you are trying to build a more agile software configuration environment and how people can fool themselves into thinking that their non-agile environment has more control.

Release Management—Making It Lean and Agile

Release management is an awesome responsibility that plays a vital role in the success of a software development project. Releasing is often considered to be an activity that happens near the end of the process—a necessary evil, perhaps, but no more.

Robert Cowham's picture Robert Cowham
Agile Build Promotion: Navigating the Ocean of Promotion Notions

In this article Brad Appleton delves into the realm of build status accounting to discuss various build promotion models and how to choose an appropriate and effective implementation of a build promotion lifecycle.

Brad Appleton's picture Brad Appleton
Makefile Assertions

Unfortunately, GNU Make does not have any form of assertions built in, but they are easy to create using existing GNU Make functions.

John Graham-Cumming's picture John Graham-Cumming
Building For Success

This article addresses detailed scenarios and the associated problems with the build process. We look at the usually activities and work patterns of a developer and relate those to build practices.

Metrics and Process Maturity

In keeping with the season, I'll try to keep this month's article on the Light side (both Chanukah and Christmas are Festivals of Light). Not easy to do when talking about metrics. If you're serious about attaining SEI CMM Level 5 certification, or about improving your processes in an effective manner, metrics are critical. Changing processes based on gut feel, or even based on some other organization's best practices can lead you backwards. Metrics not only permit you to detect this, but give you the basic data you need to improve your processes.

Joe Farah's picture Joe Farah

Pages

CMCrossroads is a TechWell community.

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