# Rôles au sein d'un projet/Introduction
## Introduction

Lors de l'élaboration d'un logiciel, une équipe de développement se décompose en trois parties :

##### La partie managériale

Les acteurs de la partie managériale d'une équipe doivent :
* Gérer les ressources humaines
* Prendre les décisions relatives au développement du logiciel, et à l'environnement de développement (l'aspect budgétaire par exemple)
* Assurer la cohésion du groupe, au niveau relationnel et au niveau de l'organisation
* Gérer les relations avec le ou les clients s'il y en a un
Le manager et le tracker sont les deux rôles qui agissent dans cette partie.

##### La partie développement

Les acteurs de la partie développement d'une équipe doivent :
* Assurer la mise en œuvre des décisions qui émanent de la partie managériale
* Assurer la création des fonctionnalités demandées par le client
Le développeur et le testeur sont les deux rôles qui agissent dans cette partie.

##### La partie intégration

Les acteurs de la partie intégration d'une équipe doivent :
* S'assurer que le logiciel répond bien aux attentes du client
* Étudier l'environnement d'intégration du logiciel afin que la partie développement sache comment coder et avec quoi
* Mettre en place le logiciel dans son environnement final d'utilisation
* S'assurer du bon fonctionnement du logiciel dans son environnement final d'utilisation
* Résoudre les problèmes techniques
L'intégrateur et l'expert technique sont les deux rôles qui agissent dans cette partie.
Chacune de ces parties a son importance dans la création d'un logiciel. Elles sont également indépendantes et ne peuvent être oubliées si l’on souhaite développer de manière professionnelle ou du moins "propre".

## L'importance des rôles

Il est très important d'attribuer un rôle à chaque acteur dès le début du projet afin que chacun puisse se concentrer sur un seul type de tâche. Le cas idéal serait de fournir un rôle unique pour chaque équipier du projet. Cependant, les équipes de développement de logiciel ne se composent pas toujours de plus de 5 personnes, et il faut donc attribuer plusieurs rôles à une même personne. La meilleure des solutions est d'attribuer des rôles qui correspondent à une même partie pour que les types de tâches rencontrées diffèrent le moins possible. Par exemple, un développeur pourra également être testeur, vu que ces deux rôles appartiennent tous les deux à la partie de développement.
La décomposition d'une équipe en rôle permet également d’avoir une vision plus claire de la répartition des tâches et permet de savoir qui fait quoi,où, comment, et avec quel matériel. Cela évite des pertes de temps pour chercher qui a effectué telle tâche ou qui doit s'en occuper.
Cela impacte également au niveau de la productivité. Savoir ce que l’on a à faire permet de se spécialiser et donc de développer plus rapidement ses compétences dans tel ou tel domaine. De plus, le fait de savoir que le coéquipier d'à côté évolue de la même manière rassure. Il est toujours préférable de s’adresser à une personne qui sait ce qu'elle fait plutôt qu’à une personne qui "s'y connait un peu mais qui va essayer".
L'attribution des rôles dans une équipe n'est donc pas obligatoire, comme tout domaine du génie logiciel. Elle permet seulement de mieux répartir les tâches et les compétences en fonction de chacun et ainsi d'augmenter la productivité, la stabilité et la cohésion d'une équipe. Le logiciel n'en sera que plus fiable.
| Sommaire | Manager |