Sunday, April 08, 2007

I spent yesterday morning and this morning preparing an answer for the 2003 question on XP and RUP architecture. I still have part B to go. I can see why this question never made it on to later tests. This is a subjective question. Depending on you point of view the same sentense could be a strenght or a weakness. If this is the reason for removing this question I am in agreement. I had a feel for this question before I started it but now that I have done the deep dive I understand it even better. Describing what is in each process pertaining to how architecture was handled was not a problem. Deciding what was a strength or weakness in each project was terribly subjective to me. Having worked on projects that were RUP project and XP projects I understand both methods well. I find it difficult to not take the feelings about the project and transfer them onto the methods used. XP project for me have always failed in some way. They never scale up to large groups and they result in hacker nirvana. The customer can never keep up with the thought processes or vocabulary of the developers. Developers don`t know how to talk to customers. RUP projects have aways turned out better. The project manager needs to be very good just to keep a RUP project going. Therefore the project, if it can be done by the manager at all, runs very well. So I have always had better projects under the RUP methodology. This is not to say that I think that XP could not work but, I just have not seen it. I take some of that statement back. I have seen it on very small projects of about 5 developers. All the developers had 7+ years experience in the environment already. So it did work in that environment but the productivity gains were made because each developer had there silo of expertise. So, in general, it was not what most people think of XP.

I could not put my opinions into the answer. To put my opinions in the answer would bring a level of uncertainty to how the question would be graded. A question should not be graded about how well you can argue. If the grader accepts the premises you can prove anything true if you are eloquent enough. I was never accused of being eloquent. These questions cannot be about experience. I think that I have more experience on projects than nearly all of my professors. I have been doing software since 1982...That was `82 with basic and assembler. So these guys don`t have anything on me in the way of software experience. I was working professionally in the industry for an educational software company before some of these PhD guys started programming. Anyway I see this question as not a concrete question. It is based on you experience. Some of the students taking this test will have only read about RUP and XP. They may never have worked in the industry. It might be different if others had written on the advantages and disadvantages of each. If someone has written this stuff it is there option and based on experience. Beside, these writings are not on the reading list. An example of perspective is when Kent Beck admits that he writes in the first person because it is his perspective on the ideas in XP in the acknowledgments in the forward of his book Extreme Programming Explained. Larmen in his book Applying UML and patterns goes out of his way to not draw opinion about XP but leaves it up to the reader to draw conclusions. He says that RUP is just a vehicle for presentation about iterative processes for projects that are using OOA/D. I find it reason enough to conclude that this question is unfair if the authors on the PhD reading list avoid such a question.

I have to run to church. It is Easter Morning. My son is getting ready for the Easter Egg Hunt.