Aspiration and Advisory

View Original

How To Move Developers Between Projects

See this content in the original post

Nowadays, most software development companies use agile methodologies to move developers across multiple projects flexibly. Although some developers do not like switching between projects, the idea of redistributing the load and resources is excellent. Let us see how to do it with a minimum amount of time and minimize the negative consequences.

Setup And Introduction

Every project uses typical software and hardware, and every new developer has to know how to work with them. It may require some time to adapt to a new environment, and it has to be taken into account.

The best practice here is to use standard hardware (e.g., standard laptop models) with standard software like OS image, virtual machine, or a container that contains most of the required software. Such a standard setup significantly decreases the time developers spend to start working on a new project.

Another best practice is to have and maintain documentation about the project. It may be architectural diagrams, technical data, functional descriptions, video manuals, Q&A lists, and so on. Every piece of information that may be useful for newcomers should be documented and shared with every team member, including new developers.

First Steps

It is an excellent idea to provide extra support to new developers in the very beginning. There are many ways to do it.

The first option is to temporarily assign a mentor to such developers to answer typical questions and help with typical issues. This person may also help during the implementation of the first tasks to demonstrate best practices and ensure the required level of quality.

Another good idea is to give newcomers easy or medium-complexity tasks. They will have some time to practice with more straightforward features before moving to more complicated areas. Another benefit is the small scope of work for such tasks, so if new developers do not make the task correctly, it can be easily fixed or refactored.

Finally, every new team requires continuous evaluation of their work, e.g., every week. There should be a call or a meeting where somebody (e.g., mentor) evaluates the latest results of the team’s work and provide feedback. Such conversations are also useful to collect feedback from the team about the project status and general situation.

Typical Complaints

Developers almost always have a certain degree of perfectionism, and it is normal for them to complain. A good project manager listens to these complaints and tries to adjust the environment to make their life comfortable.

The first set of complaints is related to the direct environment. These are team communication issues, unknown or new technologies, new workflows, etc. People need some time to get used to all these things.

Another group is about context switching and lack of possibility to focus. The developer should not work on more than one project simultaneously, especially if the project is complicated or essential. Concentration on one task or a project is a must if high-quality results are expected.

Finally, developers often complain about project quality. These complaints may relate to code quality, test coverage, too strict time limits, etc. In most cases, these things make sense, so a project manager should consider and address the most critical issues.

So, here are best practices on how to move developers between projects and simplify the adaptation project. Just remember that each developer is a person and sometimes requires an individual approach.

See this content in the original post