Version Control

Articles

People, Processes and Tools: The Three Pillars of Software Development

Every project is dependent upon people, processes, and tools:  they are how the work gets done. These three essential elements are not equal, though, as each has its own strengths and weaknesses.   Each one provides a different value to our projects.

 

Alan S. Koch
Consider Team Members' Personalities When Creating a Change Control Group

Creating a change control group (or any other process improvement effort) can be incredibly successful—or it can get bogged down with impossible "people" issues, often due to conflicting communication styles and personalities. If you want your team to be a success, you may need to consider some of these people issues, or else risk failure due to personality issues that really matter. It's not hard to address these challenges and build a change control function that will succeed despite some of the inherent challenges in getting people who may have very different styles and approaches to work together.

Leslie  Sachs's picture Leslie Sachs
Welcoming Change

"If they would just stop changing their minds!" Untold numbers of programmer’s rants have begun with that lament (including a few of my own). Of course, we know that will never happen. Change is a fact that we must live with and to avoid change is to avoid reality. The Agile method goes beyond merely acknowledging this reality. It teaches us how to capitalize on the changes that will inevitably come along to produce a better result than the one we planned for in the first place. We don't just accept change and we don't control it. Instead, we learn how to welcome change!

Alan S. Koch
Agile Development Infrastructure—on Premises or in the Cloud?

How do companies face the challenge of setting up their infrastructure when they've just started agile development? One option is to move your infrastructure to the cloud. In this article, we help you decide what's the best fit for your team and project by addressing this issue head on.

Mario  Moreira's picture Mario Moreira
Using Dashboards to Clarify Project and Product Perspectives in SCM

Joe Farah explains that a configuration management (CM) strategy must deal with product development from both a product and from a project perspective. Dashboard technology can help to clarify the perspectives and simplify the management functions, especially from an information perspective.

Joe Farah's picture Joe Farah
Business Criticality and the Investment of CM

Configuration management (CM) provides organizations with a level of control over the changes that occur in the engineering space.  It can help protect the valuable code assets of the revenue generating products within the organization.  CM provides the capability for products to manage the pieces therein that change at different rates, exposes the changes that are occurring, and establishes knowledge of the baseline of the product which then improves integrity and minimizes product regression.  In addition, CM not only assesses the impact of change, but assists in problem resolution.   While the value of CM is typically understood within engineering organizations, it is important to apply CM investment wisely. 

Mario  Moreira's picture Mario Moreira
Tips and Tricks From the Automatic Dependency Generation Masters

Make's dependency syntax is flawed because it incorporates both foo.o must be updated if header.h, system.h or foo.c are changed and foo.o is the result of compiling foo.c.  Thus, anything to the right of the : is a prerequisite, but the first prerequisite where there's a rule body (i.e. commands) is special: it's the prerequisite that will be passed to the compiler (or other command) to actually generate the target.

John Graham-Cumming's picture John Graham-Cumming
Culture, Methods, and Governance and Their Impact on CM

Most professionals in the software development industry recognize the need for Configuration Management (CM).  CM has been around long enough for people to have experienced problems when CM was either not in place or when the level of CM was insufficient for the needs of the work.  CM values of identification, control, audit, and report are meant to ensure integrity of the product under development.  These days, almost everyone has, at least, version control practices which include a version control tool and a simple checkout/checkin process.  However, as with any engineering discipline, the level of the CM implementation (since CM is much more than just version control) will depend greatly on the culture along with the methods and governance that exist within the company.

Mario  Moreira's picture Mario Moreira
Five Mistakes a Company Can Make When Using Configuration Management

Joe Farah details five mistakes a company can make when using configuration management (CM). Until we start to admit to our mistakes and strive to reach the next generation of CM, we'll stagnate.

Joe Farah's picture Joe Farah
The Trouble with Hidden Targets

Make programs are very good at keeping track of targets, files that need to be built, and the dependencies between targets. But the Make program is only as good as its inputs. If you don't tell Make about a relationship between two files, it wont discover it on its own and it'll make mistakes because it assumes it has perfect knowledge about the files and their relationships.

John Graham-Cumming's picture John Graham-Cumming

Pages

CMCrossroads is a TechWell community.

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