I am currently a Project Manager, but I have some years working as developer, and I can tell you my experience.
I was changing on some projects when I was quite a fresh developer. In fact, I think that the little experienced you are, the more likely that PM will ask you to change projects.
Reasons:
- You have little experience overall or little experience in the project. In all cases you are not key member and your moving out of
project will not affect its status.
- When you are not very experienced and young, you are more eager to learn new technology. Manager can move you to researching project,
sometimes not-very-important project for testing some idea and
technology.
- In Offshore Sofware Development Center (OSDC) model, clients can pick the most experienced members to work for them and they don’t want
and will not allow replacing their current developers with others,
especially when I don’t know about the new people’s expertise.
That is not to say, experienced members do not have to move. When current projects finish, when manager want to build team with both seniors and juniors, when seniors actively ask for a move, etc.., they will be assigned to new projects. In my opinion, team is formed mostly to do projects. Team and projects go together, no managers create team just for the sake of creating team.
Back to my story: The 1st move was when I moved from Php team to ios team. Actually the team had only 1 member – me. The company which was doing well in web technology, now want to experiment in new field – mobile application. I was young, eager and super fast in learning new technology, so I was moved to the project. I lasted for 6 months and I finished the project. The experience was quite positive – I learnt about mobile technology which I never had chance to learn, and I was quite enjoyed the technology.
The 2nd move is not a good one. After the 6-month project I was one again moved to Java Web team. Reason: the company somehow did not want to proceed with creating mobile team. They had projects in Java that was more lucrative and less risky. At the moment I got the feeling of unstability, uncertainty that if I kept changing that frequently, I would end up no expert in (many) technologies. So it was negative experience for me, to the extent that I thought of changing company.
Generally, human resource changes should not happen in middle of development, unless you are convinced that there are something of importance that need to address, you don't have other options than moving people, and you have strong willingness of people who move.
Otherwise you will have many problems:
- Replanning of current projects because of human changes
- Feeling of uncertainty and unstability resulting in low morale