Has anyone on this list used SCRUM, XP or any other agile software development methodolgies ? If so what has been your experience
Also how applicable are these methodologies if one is developing software for the FDA regulated env where you are required to keep documentation and show traceability from design to testing etc
Given the environment, I would say it looks like a poor choice to do a straight XP methodology. You are correct 'keep documentation and show traceability from design to testing ' is what shoots you down.
Additionally I believe there is more risk in XP like methodologies. You need a pretty special team to pull it off efficiently. I am quite involved in our companies methodology evolution for the last 9 years. While I have not used it a number of us at our company have looked at it. I too would like to here from someone who has used it and get the project and team background.
In many cases projects will have some sort of RAD or iterative approach until it comes testing. If you have your dev team do the system testing then you end up waiting for coding to be done before 'real' testing begins. This portion of the project becomes waterfall. Not to mention the dev team is not the optimal choice for testing.
Not that this is exclusive to XP but one thing that I do like is XP uses the idea of frequent builds and constant testing. Not programmer testing, but a QA person(s) that are involved from the start of the build phase(maybe sooner).
However if you are doing frequent releases (pick the frequency; daily, 2 days, weekly) you release and have QA test then you get better testing as the QA person is focused just on testing. As well you get a quick feedback loop. How good is the coding? How good were the estimates. After 10% to 30% of the build you know that your estimates are off or where the coding/development process needs to improve. Many times people say they are 'done' and met the estimate. But when you hit integration or system test you see that they were not really done. Now it is late in the game and you have less time for your contingency plans to be effective.
A methodology approach needs to consider the team (skill, experience), tools, project constraints and assumptions and the risk tolerance. A detailed Quality Assurance Plan never hurts. Saving Changes...