I've worked on a project for almost a year. I have been on the team since the project was only on its specification stage. Our team was small (7 people) and the project was moderately large.
In the beginning our lead programmer decided to make use of XP techniques such as pair programming(and designing as well) but it did not work out because almost half of the team members have just been imported from a foreign country and they had communication problems, related to language problems and their personalities.
Later those 4 people(including the lead developer) decided to design everything by themselves, of course the rest of the team got isolated because all the communication was taking place in their native language though we were sitting right there too. Finally they came up with a design which was originally taken from a major e-commerce example they found on a java
related web site.
As a result my contribution was extremely limited plus one of those developers were extremely hard to work with, he wanted to do everything by himself.
He wrote a big chunk of the code by himself and nobody else knows the details of that code.We are a consultant company so later almost all of the team members have been replaced by the client company's own developers. Only myself and the above mentioned guy left from the original team.
We were supposed to hand out the project to the client's developers and train and help them for a smooth transition but this guy was not cooperative at all. He continued to isolate himself and tried to do everything by himself.The client had no choice but let him do whatever he wanted because they wanted the application to run no matter what. Eventually, the guy managed to get the whole project depend on him. Of course the client company's management's and developers' ignorance helped him a lot too. My role there was to fix the bugs and do some little side projects and mentor some of their developers on java programming issues. I could not do anything to prevent things from happening that way because our boss had assigned him the new project lead representing the consulting company.
Honestly, speaking the whole source code is a mess. Finally, they came to the conclusion that they have to make some very fundamental design modifications(high amounts of refactoring) to handle some new requirements. Of course, this guy heroically(!), jumped on the opportunity, he said he already knew the design was not good and etc. though he was one of the guys who came up with it.
In the beginning he was supposed to change some core server-side code but somehow he decided to modify the presentation layer code too(jsps and etc). So, as a result he started to rewrite the whole application by himself. The client company's project manager does not have much experience in the area so he totally let him take control of the whole project. Sometime later, the client company's upper management decided to cut off consultant charges so they have to send someone back of course that was me. I was glad I was leaving because this whole project is just a mess and symbol of failure.
I heard that the guy was still trying to finish up coding and in the meantime some other company was interested in buying the project from the client company.
Now, I am hearing that this prospective buyer is interested in hiring that guy to work on their project because he worked on this so-called project for almost a year. They are ready to pay high consulting charges for him. I am confident that he is going to play the same refactoring game there to get the project under his control and continue to charge them for a long time. What a sweet job!
As a result, let alone XP, nothing works for team(!) full of that kind of people! I don't know how to handle this kind of people. It's stressful and unfair.
But the story is not ending here, the company who is buying the application had offered me a job sometime ago, and I accepted it without knowing that they were going to buy the app. and hire that guy to work on it!! Now, I will have to work with him AGAIN! I don't know what to do! I just can't take it again. Any comments or recommendations?