Developers aren't common human resources...So
Which is the best process to integrate New developers in a small team ?
The SMALL team is important, because old developers haven't a lot of time for the integration of new developers !
Thanks for your time
views:
153answers:
4This totally depends on how you have your existing team.
I prefer to have a full continuous integration environment set up. To me this means that everything is delivered to the developer when he/she sits at their desk and does a "get" on the source control trunk. Then it is a matter of running a batch file to install the database, get any environment variables set up, etc.
Once their dev environment is up and running I would give them a document that specifies my coding standards. I would also explain to them how NDepend works and how it will help enforce coding standards as part of the build process.
I would also suggest frequent code reviews (I would start by looking at every build they check in to identify areas that need work). And if need be pair programming is wonderful to make sure that they are up to speed with the rules and so on of your existing team.
Believe that there was a recent question about this on the S.O. podcasts.
I've always find that giving hem something very small to work on to start with is a good idea. could be something as simple as fixing one piece of HTML in the UI, this will give them time to get used to the Dev/build/release process that you have in your team.
basically, don't underestimate the learning curve of finding their way around the code base, knowing where all the bug tracking tools are etc.
..almost like 'coding kata' - small iterations of the release cycle to enable the person to build up muscle memory specific to your release process
You have to make at least some time for your new developers. How much will depend on your codebase and their skillset. If you're desperately short of senior dev time, give the newbie a list of small tasks, that way if they can't get someone to answers questions immediately they can just shift onto something else. Make sure you have regular sessions to see how they're getting on though.
You need time from the other developers. If nobody helps getting the person on speed she will not be effective for a very long time.
I would find one developer who is working on the same part of the system and design him to the new developer. Then have the person maybe pair up with this developer for the first days so that the new developer will see how work is done. Then set up the working environment and work on some small problems with a code review after solving.
The moment a bigger problem is assigned I would go for pair programming again so that an old developer can see how the new one is working to correct code style, programming habits and work flow.
Maybe this is a good chance for the team to see where documentation is missing regarding code and working environment.