Team of extreme flying programmers

Could you recommend the extreme programming methods used in organizations where team composition often changes? If in an extreme programming scenario a team becomes volatile halfway, what would you recommend? Thanks.

+4
source share
5 answers

I would suggest that the problem of team volatility is considered in the first place. No process will work very well if you first have a revolving door in your office, and I would say that using a process that is more dependent on individual performance and input than is intended for use with replaceable cogs in the car, "if possible, will be even worse.

Steam programming can work in this situation, provided that you can keep some people for a long enough time so that they can transfer their knowledge to new team members. However, part of the problem is that you cannot practice a pair of paired pair programs, and you will end up in the alleged high / low situation simply because one half of the pair does not know the code is enough.

Most development processes depend on a relatively stable team that knows the code base well. If you do not have this, you need to develop a process around the fact that you will be dealing with developers who are trying to understand the code base at the same time as they are trying to be productive.

+4
source

Pairing the programmer becomes mandatory. The practice of engineers (XP), together with control methods (SCRUM), allows for uninterrupted operation. One of the first things you should emphasize for a work team is to keep it together. If this is not possible, pairing programming is even more important!

For a waterfall, a project begins, people gather, then they have to go through Form, Storm, Norm then Perform. As soon as the team finds out how to work together, the project ends and the working group is disbanded. Then the process repeats again. Do you see the problem? Who has so much money that they can continue to pay teams for Form, Storm, Norm, and then Run again and again?

Thus, each team will see that the people of the team come and go. Thanks to the pairing of programmers, you can invite new people to the team, and they will become effective almost immediately. By pairing, they quickly recognize the business domain, application code, and engineering practice.

We took a team of 4 pairs and added 3 new pairs to the team. We have joined all the new developers with experienced team members. We gave us 30 days to bring new members to speed. The team hit all the results. Could you add 6 developers to the team of 8 developers in the waterfall team. The team would almost cease to assimilate new team members.

On the bottom line, hold the function group together. If this is not possible, use mating effectively to bring new people quickly.

+1
source

What process will work when the team is unstable? At least with XP, using pair programming, you have a certain hope that several team members are familiar with all parts of the code. FWIW, I don’t practice XP, I just don’t see how the problem is aggravated with XP.

0
source

Pair programming should help in getting new team members up to speed as well as osmotic communication in the command room. Extensive test suites for developers and clients should ensure that new team members do not interrupt existing functions. High quality code should help them find their way faster.

Having said that, unstable teams are really strong opponents. Why do you have them in the first place?

0
source

A high level of test coverage and continuous integration can help ensure that new team members do not violate what was previously implemented. Steam programming is the fastest way I've found to help someone get to know a project. Meeting scheduling, short iterations, and tracking speed on these iterations can also help new developers easily bite small pieces that are easier to manage.

0
source

All Articles