Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been involved in many development models, and have found XP to be the best for a new programmer from the aspect of learning, as the collaboration between the team members is very high and the opportunities to share knowledge are great.

What are the expert opinions on this?

share|improve this question

closed as primarily opinion-based by gnat, Tulains Córdova, MichaelT, GlenH7, Giorgio Aug 10 '14 at 8:27

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 8 down vote accepted

I would say regardless of methodology, the group must have the right attitude when sharing their knowledge. Where participants don't worry about prestige, and dare to ask questions from each other.

share|improve this answer
+1 because it's not the methodology it's about the right people talking openly to each other to solve the problem – Gary Rowe Nov 9 '10 at 9:33
Yes it's not about XP iself, it's more about values such as trust and courage (which btw is an integral part of using XP). – Martin Wickman Nov 9 '10 at 10:30
ok good ans it means XP is only successful when people comes up with right attitude for shearing. – Badr uz Zaman Nov 9 '10 at 11:35

I don't think you can beat an excellent teacher who knows his stuff.

The temptation of pair programming is. you just need a domain expert, teaching skills not required. In my experience, that works only for the very few students who wouldn't strictly need a teacher anyway.

share|improve this answer

Yes it will helps a lot. Thanks to pair programming and highly self managing team.

Other systems like Scrum are also very well suited to work with XP.

share|improve this answer

It helps, but only when the more knowledgable programmer of a pair works to transmit that knowledge to the other. For instance, if he does all the programming while the newbie is watching, that won't help (much). However, if the new guy does some of the work with the more experienced programmer helping him, he will learn more and the more experienced programmer will be able to hone his teaching skills.

share|improve this answer

While I'm not an expert, there are different ways that people learn things which should be acknowledged. Some people can handle being given all the abstract details and then go and implement it with little difficulty while others would struggle to get through the first example. If the expert goes too fast, bullies the other developer, or uses language that the other developer doesn't understand this can cause problems for the non-expert and thus not be the best way to learn.

I have seen coding camp examples done where I learned a lot though this is from watching and absorbing what is being shown. While having a consultant can be useful, it can also be overwhelming in some cases to try to absorb so much if they are only there for a short time. Some of what was shown is still with me, but other parts are long gone.

share|improve this answer

I would say that listening and watching closely is the best way of learning from experts. You can do this without XP. You can even do it when they don't know you're doing it.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.