The Latest

National Treasures of Agile Development[article]

Introduction
Recent research has discovered a very interesting cache of papers about a little known Tribe called the Agile Developers. The first document is a draft dated July 4th (the year is illegible).

The Benefits of Software Configuration Management Tool Integration[article]

What’s the ultimate goal of every software development project? Unless you just inherited a fat sum of dough from your late Uncle Milton, it’s probably to make money. The faster you can turn your project into a quality product in the marketplace, the more money you will make. Using a Software Configuration Management (SCM) tool will help you achieve that goal, and integrating that tool with other development tools can help get you there even faster.

TechWell Contributor's picture TechWell Contributor
ABCs of Requirements Engineering[article]

Requirements engineering plays a fundamental role in the establishment of a release.  Requirements engineering can be described as having five key areas of focus.  This includes the ability to elicit requirements, document requirements, approve and baseline requirements, manage the requirements after approval, and trace from the requirements thru test.

 

Mario  Moreira's picture Mario Moreira
Testing and CM - A High Quality Marriage[article]

Do you need to improve an area of your team's performance? Measure it and post the results. Over time you will see the performance improve. If you want to improve the quality of your product, measure it. Over time you will see the quality improve. Testing is the key to measuring quality, and CM is an equal partner. A good CM partner will provide both the communication capabilities and the information base to enable the relationships needed for a quality marriage.

Joe Farah's picture Joe Farah
Workspace Management Front and Center[article]

Workspace management has been an increasingly important component of CM over the years. Gone are the days when the only workspace operations were checkout, checkin, build/make, and the occasional file merge operation. Today, the workspace is at the center of a developer's interaction with the CM tool. Ideally, it is not just a file holder, but rather embodies an entire development context. More and more that context is accessed through a richer CM tool interface, from an IDE environment, or even through the file system. In the modern CM tool, the workspace must actively provide guidance to the developer rather than lying dormant waiting for a developer to manage it.

Joe Farah's picture Joe Farah
Consistent Quality Requires Consistent Processes[article]

It was a restaurant my wife and I had passed many times, and we had always told each other, "We must try them some day." When we finally tried them, we were pleasantly surprised. The food, the service, the atmosphere, even the price were great! "This will be a regular stop for us," we agreed. But on our third visit, we had to send our food back twice. Another time, we waited nearly an hour for our order. Then, some time later, we were seated at a table that was not clean. Most of the time, things were great. But as we experienced sporadic problems, we visited that place less and less often.

Alan S. Koch
Integrating an SCM Tool with a Java Development Platform:[article]

The IDE has emerged as the de-facto development tool in many Java shops. As the Java IDE evolved, team support became an important aspect of the tool and plays a prominent role in the popular Java development environment, IBM WebSphere Studio Application Developer 5.0 (WSAD). The clean design of the SCM interface to WSAD means configuration managers do not need to craft a custom solution to integrate their organization’s SCM tool with the IDE.

Michael Sayko
The Trouble with Tracing: Traceability Dissected[article]

Traceability! Some crave it. others cringe at the very mention of it. For hardcore configuration managers and requirements and systems engineers, it is a fundamental commandment of “responsible” software development. For many hardcore agilists and other developers, the very word evokes a strong “gag” reflex, along with feelings of pain and frustration. Traceability requires work and discipline! So how does traceability add value to our business and how can we make it easier?

To Branch or Not To Branch (and Merge/Test)[article]

I don't like merging. When I merge I've got to retest. This is especially difficult if the merging occurs a few days/weeks after the original change. Come to think of it, I don't really like branching, but that depends. Do I have to merge whenever I branch? Do I use branching for a specific discipline or is it a catch-all operation which gives me all sorts of capabilities in return for a spaghetti-like spider web of branches and merges? What about all the labeling that goes with it? There must be a better way, a way to reduce branching, and merging, while increasing automation and reducing complexity. What is it?

Joe Farah's picture Joe Farah
The Journey Through Traceability to Process Control[article]

Taking a team from an undisciplined product development strategy, through an organized process with visible tracks, to a mostly automated, self-improving process is a long journey. It requires a good understanding of change, an adequate SCM tool or tool suite, good people for sure, and a lot of common sense. The journey is well worth the effort, though. I've been down the road more than once. It leads you to the path where you can manage properly and let the configuration management be handled automatically.

Joe Farah's picture Joe Farah
The Dimensions of SCM Planning[article]

There are times when Software Configuration Management (SCM) gets implemented and the results may not be as positive as one would hope. There can certainly be many reasons for this, but some times, it comes down to whether or not due diligence was performed during SCM planning,an important criteria for successfully implementing SCM. Other success criteria include: sponsorship (management commitment to the SCM effort); funding (money to purchase appropriate SCM tools and infrastructure); and personnel (persons trained, skilled, and experienced in the areas of SCM tools and process). However, effective SCM Planning should cover sponsor, funding, and personnel tasks if structured appropriately.

Mario  Moreira's picture Mario Moreira
Creating an SCM Plan to Support Iterative Software Development[article]

Since the establishment of software configuration management (SCM) as a formal engineering discipline, the written SCM plan has been accepted as an essential document for software development organizations. SCM engineers regard the plan as a description of the CM process and an enumeration of the CM procedures to be used on a project or program. Writing an SCM plan is often viewed as the first step in establishing the CM process for a new software development effort.

Michael Sayko
Building a Configuration Management (CM) Capability for Test[article]

 

As more test items exist, there is a tendency for them to evolve due to the changes to requirements and code and, therefore, must be managed effectively. When there are an increasing number of test items, this increases the risk of failing to accurately track all test items, particularly when this is done manually. This is where configuration management (CM) can help.

 

Mario  Moreira's picture Mario Moreira
An Agile Perspective on Branching and Merging[article]

This article focuses on branching and merging. We present some background for branching and merging, and consider some of the implications for agile development in particular. We also hope to reduce some of the suspicion that many agile developers have of branching. The article assumes some overall branching knowledge and yet revisits some particular details that often seem to confuse people. This is a fertile area which we will continue to expand on in future articles.

Requirements Driven Development: A Stream-Based WBS Approach[article]

Requirements are a must have. Or should have. Maybe a want. OK, maybe not really requirements. When it comes down to it, you need to understand why you're building what you're building in sufficient detail so that you will know if what you built does the job. You also need full traceability to show that you have met the requirements. Developers work to a set of requirements, but these are not the same as the product requirements, which are again different from the customers' requirements. And what about ad hoc requests? Where do they fit in?

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.