SDLC's and teams
I am teaching Visual Studio Team System in France this week, and during the discussion that compares some of the different SDLC's that are in use, such as Waterfall, Unified Process, Scrum, Extreme Programming, V-model, MSF, and so on, one of my students made a point about Extreme Programming: because the developers work in pairs in XP, there exists a natural mechanism for training and mentoring.
I don't see the same opportunities inherent in the other processes.
And during Joel's webcast last night, he asked the question, "do you use the same process for every project?" It has been our experience that many companies do choose an SDLC and then use it exclusively. Simply because until Team System, enforcing the process on the team means a tremendous commitment in time and energy, and often persuasion (with a pointed stick) from a project manager. Now, with VSTS, the process template defines the process, and the tools help to enforce them. So it should be easier to pick and choose which process for each project. Or make a process using elements of other processes.
Of course, that would mean you would need a good editing tool for VSTS process templates - something that helps you create new processes using elements from others. Hmmm, stay tuned folks, we're working on that very tool. You'll probably hear Joel talk about process templates in his next webcast.
Anyway, next time I run into a project that has an element of mentoring necessary in the team (ie. some senior devs, some junior devs), I will think about how I could use elements of Extreme Programming in the process.