How do SoftwareChangeManagement
differ when moving away from a heavyweight "waterfall" methodology to a new lightweight methodology like XP? -- SuzanneRavera
What impact on SoftwareConfigurationManagement
does XP have when dealing with Web Development and Mainframes? Since there is less paperwork/documentation involved with XP, compared to older heavyweight methodologies, do you think that Configuration and Change Management need to become stronger? -- SuzanneRavera
Configuration- and change-management are crucial to XP. CollectiveCodeOwnership would not be possible without it. The key to managing this is to use a tool for SoftwareChangeManagement such as ConcurrentVersionsSystem or VisualSourceSafe for example. Without such a tool, XP becomes difficult, if not impossible, on projects bigger than 3-4 people.
Can someone compare and/or contrast the steps of the SEI - Software CMM in relation to XP? Meaning, how do you see XP comparing with the SEI - Software CMM at all 5 levels? I have heard many people suggest that it might be only a SEI level 1 process, and would like to know if you agree or disagree with this assumption. -- SuzanneRavera
Well, level 1 is 'chaos' which implies that no knowledge of process is being utilized. XP is a process, however lightweight or agile, so level 1 is basically bypassed by any team taking XP seriously. Of course, that assumes that XP is a repeatable process, which it has (thankfully) proven to be. I think anyone attempting XP is automatically level 2.
Most briefly, an XP team should be easily level 3, possibly level 4. I have seen optimizing groups, but the question is whether any team can get to level 5 using qualitative as opposed to quantitative measurements. If yes, then level 5 is possible, if no, then it is not and CMM may be flawed.
So has anyone used XP and been audited by a CMM Auditor who certified them at a specific level of CMM? This would determine whether or not XP is really achieving a level beyond CMM-1? XP seems like it is a repeatable process, but with a large amount of variation. And if I understand CMM correctly, repeatability has very very little variation, if any. If this is true then I don't see how XP can realistically be CMM level 2?
Could XP be used throughout a large organization (say Microsoft or HP), or is this process most effective in smaller groups (about 40 people or so)?
Is the Chrysler C3 project the biggest project thus far using this methodology? -- SuzanneRavera
Given that the Unit Tests are created and run by the programmers, I am assuming in a development environment, after these tests pass successfully 100%, who does XP say is the responsible source for migrating this development into the production environment? My assumption is that the programmers do not have access to move their own code into a production environment. -- SuzanneRavera
Don't forget AcceptanceTests. The customer is responsible for generating AcceptanceTests, and so assumes some responsibility for the iteration (i.e. 'production code'). The major (but not the only) purpose for UnitTests is to speed up production by giving the programmers confidence in their code.
From my experience, at the minimum, programmers do development work in a development box, then that code gets moved to a testing environment, and finally moved into a production environment. The programmers usually only have access to the environment they are doing development in, not the production or testing environments. Does XP have a process or rule in place that explains how this ConfigurationManagement
process is supposed to work? If so, what does it say about this process, and who is(are) the person(s) responsible for it? Otherwise, if it doesn't state this, this is another area that is variable and may not be considered fully repeatable. Any thoughts, suggestions, comments?????
When using XP, the programmers have a very close relationship with the customer or body responsible for the requirement or UserStory
. What knowledge base does this customer usually hold (i.e. business analyst, IT specialist...)? -- SuzanneRavera
It seems as though they need to have some technical knowledge if they are interacting with the programmers, but at the same time, be able to understand, from the business aspect, why these features or UserStories are important.
The latter is more important than the former. The ProjectManager can be responsible for translating technical knowledge into business terms, although XP traditionally places this role on the programmers.
see also: XpProjectsAndProsCons