wood burning stoves 2.0*
The moose likes Agile and Other Processes and the fly likes Is CM part of XP? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Is CM part of XP?" Watch "Is CM part of XP?" New topic
Author

Is CM part of XP?

Elizabeth King
Ranch Hand

Joined: Jul 11, 2002
Posts: 191
Does XP include CM?
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Sort of.
XP practices include ones such as "continuous integration", "frequent releases" and "iterations", which implicitly require configuration management.
On the other hand, using a configuration management system in a software project is pretty much a given these days.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Elizabeth King
Ranch Hand

Joined: Jul 11, 2002
Posts: 191
But I did not see the role of "configuration
manager" or "build manager" in XP. Who is going
to build, control the release, ensure the correctness of the code? Every developer?
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Mary King:
Who is going to build, control the release, ensure the correctness of the code? Every developer?

Yes and no. The collective code ownership and continuous integration imply that the build is "controlled" by the developers themselves - with small increments on the codebase. However, I don't know which role should control releases according to XP.
On the other hand, the "frequent releases" practice suggests that your "daily build" is in fact your "release" (and doesn't need planning/controlling per se - everything that is working goes in).
Elizabeth King
Ranch Hand

Joined: Jul 11, 2002
Posts: 191
Collective ownership can be translated as
"every developer can change any part of the code", but does not mean CM. Collective ownership
might work for a small and simple project.
I have seen "building a load" is used as
punishment to the developer whose code
breaks the build. But 80% of the real
problems are not from the compilation
errors (they are good errors because you
can fix them right away), but from
the wrong versions of lib, files, ...
I know there are CM tools can help, but
anything can go wrong if everyone can do anything
through it.
I do not think real commercial projects can
use XP w/o modification.
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
What I meant with collective code ownership, continuous integration and implied CM was more like
"in order for these to work, configuration management must be employed". In other words, even though XP practices don't explicitly mention CM, implicitly they require it. On the other hand, CM has been a self-evident best practice since Woodstock...
Matt Cao
Ranch Hand

Joined: Apr 03, 2003
Posts: 715
Hi,
I think XP worked if your organization model itself after JobShop environment, even in the Customer Services organization like my involvement. The management calls XP as glorified hacker process. The only way it can strive through mix and match with other processes.
Thanks,
MCao
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Mary King:
Collective ownership can be translated as
"every developer can change any part of the code", but does not mean CM.

It *does* mean that CM is the responsibility of the whole team, though.
Collective ownership might work for a small and simple project.

Yes - and it might also work on big and complex projects.

I have seen "building a load" is used as
punishment to the developer whose code
breaks the build.

That's bad - punishment doesn't make things better; only feedback, reflection and learning do.
But 80% of the real
problems are not from the compilation
errors (they are good errors because you
can fix them right away), but from
the wrong versions of lib, files, ...

Then the team somehow needs to handle those problems...

I know there are CM tools can help, but
anything can go wrong if everyone can do anything
through it.

Wich isn't much of a problem if you
- have means to catch those problems early, and
- have mature coworkers who know whom to ask for assistance

I do not think real commercial projects can
use XP w/o modification.

It isn't *meant* to be used w/o modification. It is meant as a good starting point.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Mary King:
But I did not see the role of "configuration
manager" or "build manager" in XP.

That's because XP doesn't try to assign roles to people. Instead it trusts the team to figure out what it needs to do and roles to emerge when needed - and tries to give the team enough feedback to do so.
Who is going to build

Most teams automate this process, to be able to do this several times a day. We are using Ant for this - every developer can make minor modifications (like adding a thirdparty jar), for more complex tasks there has evolved an "expert" you can pair with if you need to.
control the release

"control" in which way?
ensure the correctness of the code?

The developers are ensuring the correctness of their code by pair programming and extensive unit testing (and anything else they find necessary).
Customers ensure correctness of the code by providing automated acceptance tests, being available for questions and by taking a look at the working system early and frequently (and perhaps even using it) - and anything else they find necessary.
Did that help?
Elizabeth King
Ranch Hand

Joined: Jul 11, 2002
Posts: 191
Originally posted by Matt Cao:

The management calls XP as glorified hacker process.
MCao

I like this name.
Elizabeth King
Ranch Hand

Joined: Jul 11, 2002
Posts: 191
quote:
It *does* mean that CM is the responsibility of the whole team, though.
------------------------------
That means no one is responsible...
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Mary King:

I like this name.

OK. Do you also think it's right?
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Mary King:
quote:
It *does* mean that CM is the responsibility of the whole team, though.
------------------------------
That means no one is responsible...

On the contrary, it does mean that *everyone* is responsible.
Burk Hufnagel
Ranch Hand

Joined: Oct 01, 2001
Posts: 814
    
    3
Originally posted by Mary King:
...I know there are CM tools can help, but
anything can go wrong if everyone can do anything
through it.
I do not think real commercial projects can
use XP w/o modification.

Mary,
1. If you are in an environment where people are irresponsible enough that you need to fear anything going wrong then XP may not be a good idea - you may need to have the responsible/mature people be the keeper of the keys and do the builds, review all code before it is checked into your VCS, etc. But if that is the true situation then you have bigger problems to worry about.
2. As I understand it, XP evolved out of the practices used by Kent Beck, et al, on a payroll project for Chrysler -- does that qualify as a "real commercial project"? If not, then what does?
Burk


SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Is CM part of XP?