Ben Reichelt's Weblog

Sponsors

The Lounge

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Best way to ensure processes are followed

[Advertisement]

Comments

Jason Haley wrote Interesting Finds
on Sun, Apr 23 2006 7:52 AM
Joshua Flanagan wrote re: Best way to ensure processes are followed
on Sun, Apr 23 2006 11:24 AM
Funny, this is exactly the sales pitch that Visual Studio Team System offers... so thats what I assumed you were leading up to. But then you never mentioned it. There is a "checkin policy" which is fully customizable. Mercifully, you can always check a box to "violate" the policy when necessary. The process violation is recorded (so it can be reported on) - but allows you to get stuff done without the tool getting in your way, under exceptional circumstances.

Of course, the more data you ask for (you suggested time spent, etc) the less likely it will be completed accurately. Just because people have to jump through hoops to get their work done, doesn't mean they are going to automatically feel that those hoops are important and should be taken seriously. You will likely end up with a big "garbage in, garbage out" scenario. (Which leads to the "people over process" philosophy...)
Scott Bussinger wrote re: Best way to ensure processes are followed
on Sun, Apr 23 2006 11:31 AM
For CVS, there's a utility called CVSCop on sourceforge that verifies that your check-in comments meet certain criteria. We use this along with a program called CVSTrac which is a bug tracking system with a wiki that ties into CVS and uses the comments to tie tickets to checkins. Works great! All check ins must be associated with one or more bug tickets or the check in fails.

For SVN there's a similar utility called Trac for the bug tracking system/wiki tied to source control. I assume there's something similar to CVSCop for SVN but I don't use SVN yet so I'm not sure.
Ben Reichelt wrote re: Best way to ensure processes are followed
on Sun, Apr 23 2006 11:33 AM
Joshua, I had heard about the feature in VSTS, which is what spurred my thoughts. You make a great point about requiring too much info from people checking code in, if they need to fill out a form with 15 fields, its still not gonna happen.  I am looking for something that needs to ask for the minimum amount of data, while still providing value.

As an aside, I'm not sure what I think of VSTS just yet. All the features seem really cool, but what if theres one aspect of it that you don't like?  I bet you can't really swap out their source control for subversion. By relying on a single tool to do EVERYTHING, you're locked in, even if part of it sucks.
C wrote re: Best way to ensure processes are followed
on Sun, Apr 23 2006 11:49 AM
Manually entering issue numbers in check-in comments? Ugh. Buy or build an integrated issue tracking and source code control solution. Maybe because I work for a public company that has to pass Sarbanes/Oxley audits, and has over 20 developers, I just can't see ever going back to the manual world.

I love having a system where a developer goes to check out a file and a window pops up asking what task he's working on. He selects it from his assigned list or clicks New and enters a description for a new task. When he checks in the file it's automatically associated to that task. I can look at an issue in the issue tracking app and see all the changes made for it. I can look at a file in the source control app and see all changes, who did them, when, and for what task. No manual linking of code to tasks, no manual linking of tasks to code. And when the auditors visit the R&D group, we have the answers that make them go away quickly and let us get on with creating our products.

Rational ClearCase/ClearQuest is the gold standard in this area. Telelogic also has it, but it's more cumbersome for developers. I haven't played with MS Team System yet, but I assume it's got similar capabilities since they want to compete with Rational. All these solutions are expensive, but the bigger your organization gets, the more productivity gain they give you.
Ben Reichelt wrote re: Best way to ensure processes are followed
on Sun, Apr 23 2006 1:08 PM
C, I didn't mean that you should be looking up ID numbers in the db just to put the issue number in your comments :)   The interface for selecting the issue that you want to associate the checkin with should be advanced, so that you can pick from available issues, like your situation.  I like that you make the selection on checkOUT, rather than checkin, and it remembers your selection, thats pretty cool.  The expense involved with getting Rational ClearCase is pretty daunting however.
Eric Nicholson wrote re: Best way to ensure processes are followed
on Mon, Apr 24 2006 7:16 PM
Not that I speak for the Agile movement, but going Agile does usually entail processes. Those processes aren't necessarily dictated by any agile process.

You are totally correct to assume that Agile values people over processes however.   So, to answer the question "What is the best way to ensure processes are followed?" an Agile advocate might question whether your processes are really valuable and efficient if people don't follow them.

Good processes should have obvious value, and if you're team understands them they will not just follow, but depend on them day in and day out.  You shouldn't mandate that your team's code needs to pass a fitness check before check-in, they should tell you that the fitness check should be automated by source control to save them time.

Personally, I really like that approach, but it isn't cheap.  It takes a lot of work to find processes that work in your organization.
Katie P. wrote re: Best way to ensure processes are followed
on Tue, Apr 25 2006 4:37 PM
There are definitely processes within Agile and Scrum.  The idea is to get the client a high-quality working product as soon as possible and by using people-centric processes, you accomplish that goal.  A few books to look at:

Slack by Tom DeMarco
http://www.amazon.com/gp/product/0767907698/sr=8-1/qid=1145997311/ref=pd_bbs_1/103-4258705-7138236?%5Fencoding=UTF8
 
Ken Schwaber's book
http://www.amazon.com/gp/product/073561993X/qid=1145997339/sr=1-1/ref=sr_1_1/103-4258705-7138236?s=books&v=glance&n=283155

Other Agile/Scrum Sites:

www.danube.com
www.agilethinking.com
www.controlchaos.com

Good luck!