Originally posted by Tad Takahashi:
I am doing a research about social impact in/of software development for one of the graduate college courses I am taking.
We have to ask people for their real work experience.
I chose eXtreme Programming as my topic.
I thought that it would be a good idea to start a new discussion
here about it.
The followings are the questions I would like to ask.
Any feedback will be greatly appreciated.
1. What were the benefits (in social context) you found when you implemented Extreme Programming?
(Did it change your relationships with your colleague or manager? Did it change the group dynamics of your team? How did that social aspect in return affect the quality of the software you developed?)
We used pair programming in some of our classes which were teaching introduction to OOP programming (Java) here at the Dept of Informatics, University of Oslo, Norway. I can't speak for XP as a whole since this was only done on a small population and only one time, so statistically I'd be careful about concluding to much.
The problem initially was that the fail percentage was fairly high after we switched from Simula (OO language since 1967 to Java. To remedy that several methods where looked at with the aim to make them better programmers at the end of the semester.
The result was that when the two programmers were at the same level and the chemistry was good, these people felt support by having one extra pair of eyes and also made code with better readability and less errors.
2. What were the disadvantages (in social context) you found when you implemented Extreme Programming?
(Did it change your relationships with your colleague or manager? Did it change the group dynamics of your team? How did that social aspect in return affect the quality of the software you developed?)
Ofcourse, in a introductory course when you most likely don't know anyone prior to attending the course there was ofcourse a few where maybe the ambitions differed or that the chemistry and differences was too big to overcome.
The result could be that one person did most of the coding while the other were inactive and did not manage to understand what all the code did.
3. Extreme Programming has some controversial pieces (e.g. Pair Programming). When you or your organization started using Extreme Programming, how was the reaction of your colleague, your manager, or the whole of your team?
I'd ve sceptical about working in a pair for all my programming, but it is certainly a good thing to discuss and share code. Its often that I have some code with an impossible to find bug, but upon showing it and explaining it to a friend which knows some about the inner workings and ask some questions I usually discover the code much quicker than if I were to fiddle around by myself.
4. Related to Question 3, how did you, your colleague, your manager, or the whole of your team deal with the reaction?
5. If you have anything else your found related to social aspect of implementing Extreme Programming, please describe it here.
Like it was said in another thread. eXtreme Programming is all in whole fairly extreme, but it does have some really good points which could be introduced without to much trouble. The more extreme parts could be introduced gradually on a long term and adapted to what does work in your company/situation.
Thank you