Should we associate defect reports and change requests to files on checkin or checkout?

Mark Owens's picture
Mark Owens asked on July 25, 2012 - 3:09pm | Replies (1).

We are doing some process implementation and improvement. There is some debate about whether to associate a checkout of a source file in our repository to Defect Reports (DR) and Change Requests (CR) on checkout of source code, or on the checkin.

I've only worked with association at checkout, so we get visibility into ongoing work, but I wanted to get a feel for what others say about one way or the other.

So to clarify, what are the pros and cons of the following two scenarios:

Option A
1. Dev is assigned a DR
2. Dev checks out code, associating it with the DR
3. Dev works on code
4. Dev checks code back in and actions DR forward

Option B
1. Dev is assigned a DR
2. Dev checks out code
3. Dev works on code
4. Dev checks code back in, associates it with the DR and actions it forward

Thanks!

Mark

1 Answer

bglangston's picture

You don't indicate how the elements of either option are controlled or what capabilities your system has for restricting the checkout/checkin features.

However,...

Given your two options, the problem I see with Option B is that a person could checkout, make changes, and checkin for no good reason (unless you really meant "an association is required by the controlling application at "checkin."

As you state the sequence, it says a person can perform the checkin and then associate it with a DR after the fact. Since no association is required for checkout, two or more people could have the file out at the same time for the same DR (unless you can lock at checkout).

If you use Option B, a better sequence for step 4 might be to "Associate with a DR, checkin, action forward." This assumes you can require an association before checkin.

Frankly, I'm in favor of Option A. In the first place, I'm of the opinion that "If you don't have a DR, then you shouldn't be checking it out in the first place."

Also, if the file is locked at checkout, a second Dev cannot checkout under the same DR (or under a different DR unless it goes to a different branch). Some tools handle this very well, others not so hot.

CMCrossroads is a TechWell community.

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