Define the helping person

This item will be useful if the project already exists and your team simply joins it. The helping person (or buddy) should be responsible for introducing the newcomers to the rest of the team. It will start the process of onboarding and help the new employee to join the development environment. Also, the direct introduction to the team members allows the newcomer to participate in all discussions and contact members of the team directly.

Buddy could arrange a tour on the project and serve as a resource for any of the newcomers’ questions. He’ll help to solve problems or give a piece of advice on how to proceed with tasks, deal with complications answer any questions or address any difficulties, etc.

The accounts setup

The new member should get access to all services used during development and the whole work. For example:

Financial tools: setup in accounting and time tracking service

(create the project, add the team member)

(create the project, add the team member) Project repository

Collaboration tools

External testing services

Performance services

Errors tracking

and so on.

The project canvas

This information should explain what the project purpose is and what it does. Define long-term and short-term goals — that is important. It’s also recommended to have screencasts showing the features of the application.

With that information, the developer has a concept of the client’s expectations and the application’s functional side.

Definition of the development process

Before running the development process, it should be clarified and agreed by both the client’s and the developer’s side.

Photo by Dylan Gillis on Unsplash

We define such questions:

Which channel(s) is used to share the finished job with a client?

How and who creates task lists and assigns tasks?

How to ask for the task verification?

What defines the “completed” job?

What are the code review requirements?

Is writing daily standups necessary?

When does sprint planning take place?

How and when do retrospectives take place?

‘Who does what?’ questions:

Before running the development process, it should be clarified and agreed by both the client’s and the developer’s side. So it’s important to know the role of everyone working on the project:

Who is responsible for code quality?

Who writes tests and/or deals with support?

What is the stakeholders’ role in the project? How deep are they involved in development?

Who maintains technical documentation, supports the product?

Who is in charge of architectural decisions?

How and who creates task lists and assigns tasks?

Who manages the development process, deals with requirements, business analysys, etc.?

Who communicates with customer/product users?

The answers to these questions help to avoid misunderstanding and build trust between both sides.

Set availability per person

When the work is going to be asynchronous, it is desirable to have information about the availability of the team members responsible for critical tasks. It helps to prevent knocking on the closed door and plan the whole process thoroughly.

Also, the process of communication should be clarified and agreed. For example, the items that could be included:

the frequency of meetings

tools for communication

availability on meetings

regular text standups (e.g. they may contain goals for the day or progress report)

and so on.

Guide about infrastructure and architecture of the project

Another useful information is a guide about the project’s components. It could be information about existence and interaction with:

Continuous Integration

Continuous Delivery

Servers URL

Guides for UI

Guides and conventions for Code

Technical Debts and Long-term Refactoring in progress

The first tasks for the onboarding

From the beginning, it is essential to lay the foundation for trust. The goals definition of the first week/sprint helps clarify the expectations and diminish the misunderstanding.

To start off, it is better to define tasks related to the setup process, test fixing, or tasks which don’t touch a lot of other components. It facilitates the process of the onboarding.

For the first time, it is better to start with simple, small, and clear tasks and then go to more complicated tasks step by step.

Conclusion

This list can be modified during the process and adapted to specific requirements. However, at the beginning of cooperation, it could help to lay a solid foundation of friendly and professional relations and find the understanding between the customer and performer.