Gestion du développement dans un grand projet

Sur plusieurs projets d'implémentation de systèmes d'entreprise, je suis tombé sur la tâche de planifier et de contrôler des tâches difficiles à prévoir. Imaginez qu'il soit nécessaire d'effectuer de nombreuses tâches similaires, et qu'un grand nombre de personnes y participent, alors que vous ne savez pas exactement dans quel ordre elles seront effectuées et combien de temps elles prendront.

Les diagrammes de Gantt familiers en gestion de projet fonctionnent mal dans ce cas. Un exemple typique est le développement d'extensions pour CIS.

Ci-dessous, je vais vous dire quelle méthode nous avons utilisée sur les projets afin de contrôler un grand nombre de tâches parallèles avec des coûts d'administration minimaux.

1. Planification du travail


Il y a environ cinq ans, j'ai écrit un article - des recommandations aux chefs de projet sur la planification. Les principes ont été testés par le temps et j'y adhère toujours.

Cependant, pour certains types de tâches, il est presque impossible de créer un calendrier détaillé cohérent. Dans une situation où de nombreuses tâches sont effectuées en parallèle, et la durée et la complexité de chacune ne peuvent être estimées qu'avec une erreur importante.

Un exemple classique est le développement. Chaque développement passe par plusieurs étapes, au moins - conception, codage, test. En règle générale, plusieurs itérations sont nécessaires lorsque la tâche passe à l'étape précédente. Le développement est passé du codage aux tests, le développeur a entrepris une autre tâche. Le développement est revenu au codage, le développeur termine la tâche précédente ou reprend immédiatement la correction des erreurs. Selon la situation et les priorités, il peut y avoir un ordre de travail d'équipe différent sur le pool de tâches. Le processus semble chaotique et incontrôlable. Le présenter sous la forme d'un diagramme de Gantt soigné, auquel les chefs de projet sont habitués, habitués à tout contrôler, est extrêmement laborieux et peu utile, si possible.

Comment être Comment contrôler l'avancement des travaux? Comment comprendre - à temps ou non; où sont les goulots d'étranglement; Y a-t-il suffisamment de ressources? qui fonctionne bien et qui ne fonctionne pas? Comment, finalement, rendre compte à la direction?

Voici une des options qui me semble optimale, et dans certaines conditions, la seule.

2. Utilisation d'un système de gestion du travail


Il convient de mentionner tout de suite que sans utiliser un système de gestion des tâches qui permet à chacun des participants de recevoir des tâches, de les transférer à d'autres participants et de marquer leur achèvement, il est impossible de construire un processus normal.

Dans ma pratique, j'ai utilisé différents outils et publié un article de synthèse sur ce sujet (voir l'article sur Habr: Outils du chef de projet ). Ici, je décrirai plus en détail l'expérience de l'utilisation de JIRA, que nous avons mis en place pour la gestion du développement, en utilisant des fonctionnalités standard, avec une utilisation minimale de plug-ins supplémentaires.

JIRA est le système de gestion des tâches (demandes) d'Atlassian. Le coût d'une licence, selon le nombre d'utilisateurs, commence à 10 $ pour 10 utilisateurs. Il existe des options d'installation par vous-même ou d'utilisation de l'application dans le cloud. Les prix de toutes les options peuvent être trouvés ici .

JIRA se distingue par une interface un peu démodée (c'est un système d'un âge très respectable qui a déjà passé un très long chemin de développement), la fiabilité, un système flexible pour configurer tout ce qui est possible (workflow, type d'écrans, accès, système de notification), un grand nombre de plug-ins, payants et gratuits, et la possibilité d'un développement profond.

Nous n'avons pas eu besoin de révision, nous avons mis en place et amélioré constamment le workflow (le processus de travail est l'ensemble et l'ordre des statuts de la tâche et les transitions entre eux), ainsi que l'accès des participants et des tableaux de bord pour contrôler le travail.

Je ne me donne pas pour tâche de décrire en quelque sorte en détail les fonctionnalités et les possibilités d'utilisation de l'application, mais pour une présentation plus approfondie, il est important d'illustrer certains points.

3. Flux de travail de gestion des tâches


Le flux de travail reflète le cycle de vie de la tâche, dans notre exemple - conception, tests de codage. En fait, le processus est beaucoup plus compliqué. En fonction des caractéristiques de l'organisation du projet, du recrutement des participants, des exigences de contrôle, le nombre d'étapes peut varier de manière assez importante.

Par exemple, l'un des projets avait le flux de travail suivant pour suivre une tâche de développement.



De nombreuses étapes de coordination, de répartition du travail, de test sur toutes les instances du système ... Mais cela a permis de confirmer chaque étape du système, de suivre les responsabilités et de savoir exactement qui et à quelle étape se situe la tâche.

4. La complexité de la tâche


La complexité de la tâche était divisée en deux volets: la conception et la construction. La conception est le travail d'un analyste pour préparer des documents et développer des tests. Le bâtiment est le travail du développeur pour le développement de la conception technique, du codage, des tests propres avant de le transmettre à l'analyste.

Évaluer la complexité d'une tâche à l'avance sans plonger dans les détails est assez difficile, surtout s'il y a plusieurs milliers de tâches, comme c'était le cas dans notre cas. Mais il est nécessaire d'évaluer afin de comprendre la quantité totale de travail, la quantité de ressources requise et déterminer le calendrier.

Pour une évaluation approximative, une calculatrice est utilisée, qui, selon le type et la complexité de la tâche, lui est attribuée la complexité planifiée.

La complexité de la tâche est déterminée en fonction de l'objet et de la quantité de travail avec lui. Par exemple, pour développer un formulaire dans Oracle eBS, les critères de complexité sont décrits comme suit:

  • Très simple - forme de bloc unique avec 8 colonnes ou moins. Il ne nécessite pas de logique fonctionnelle particulière.
  • Simple - forme simple et multi-blocs (2-3 blocs) avec 20 colonnes ou moins. Une logique fonctionnelle simple (édition simple, édition croisée (éditions croisées), calculs simples, totaux et sous-totaux) est requise.
  • etc.

Le type de tâche reflète le contenu de la tâche, les spécificités de la technologie, de l'application ou d'une partie de celle-ci.

Par exemple:

- Formulaires nouveaux ou modifiables.
- Rapports nouveaux ou révisés.
- Programmes de base de données nouveaux ou modifiables.
- Scripts SQL * Loader.
- Signaux (alertes).
- Personnalisation.
- etc.



En fonction de la complexité et du type de développement, la calculatrice calcule la complexité planifiée.
Et bien que l'erreur d'estimation puisse être significative, en grand nombre, statistiquement, ces erreurs sont nivelées et une idée générale de la quantité de travail peut être utilisée à des fins de planification de projet.

5. Surveillance des performances des tâches


Ainsi, ayant l'état de la tâche et sa complexité, comment évaluer l'avancement des travaux?

L'option traditionnelle consiste à planifier le nombre de tâches que vous devez effectuer pour une certaine période et à suivre périodiquement l'achèvement des tâches. Le problème est que certaines tâches prennent du temps et s'étendent sur plusieurs périodes de planification. Et dans certaines périodes, de nombreuses tâches sont terminées, dans d'autres trop peu. Cela ne permet pas de comprendre la situation, en particulier au début et à la fin du projet.

Vous pouvez essayer de planifier l'achèvement des différentes étapes de la tâche. Dans l'exemple ci-dessus, nous avons utilisé 21 étapes, chacune impossible à planifier. Nous choisissons les principaux - achèvement de la conception, achèvement du codage, achèvement de la tâche entière. Nous planifions une date pour chaque tâche, nous contrôlerons les écarts. Cela semble faisable. Cependant, tout en travaillant sur un grand nombre de tâches en même temps, il est assez difficile de voir quelque chose dans plusieurs centaines d'écarts et de tirer les bonnes conclusions. Pour chaque écart, il y aura une explication, une raison objective. Quelque chose se fera tard, quelque chose de plus rapide.

Sur l'un des projets, nous avons essayé d'utiliser la méthode de contrôle de la date. La date prévue a été fixée par les interprètes. Le fait a été automatiquement enregistré dans le système lors de la transition du statut correspondant.



La figure montre un histogramme des écarts par la date à laquelle la conception fonctionnelle (FD) est prête. Les valeurs positives indiquent une avance, les valeurs négatives indiquent un décalage dans le graphique. On peut voir que le plus grand nombre de PD est remis par les exécuteurs avec un décalage de 3,8 à 1,7 jours. Dans ce cas, les valeurs extrêmes sont de 43 jours de retard à 67 jours d'avance.

Dans cette situation, on constate que dans la grande majorité des cas, les artistes interprètes ou exécutants violent les délais fixés par eux. Cette erreur systématique mérite d’être réfléchie. Cependant, à condition que l'équipe soit motivée et que tout le monde travaille de bonne foi, cela signifie seulement que les gens ne peuvent pas indiquer le temps réel, les interprètes ne prennent pas en compte les facteurs de complication qui surviennent dans la plupart des cas pendant le travail.

Du temps supplémentaire est consacré à la planification, mais en fait, personne n'est responsable du respect des délais. Si vous introduisez des sanctions pour violation, elles fixeront des dates avec une grande marge et la situation de performance deviendra encore pire.
Si vous voulez contrôler quelque chose, pensez à ce que vous ferez des résultats du contrôle, quelles décisions pouvez-vous prendre en fonction des données collectées?

6. Méthode du volume gagné


Les tentatives de gestion centrale à un niveau détaillé, pour un grand nombre de tâches avec un haut degré d'incertitude sont vouées à l'échec.

Vous pouvez diviser ces tâches en groupes, déléguer une planification détaillée à des groupes. Plusieurs personnes, plusieurs dizaines de tâches peuvent être organisées dans une chaîne, répondre rapidement aux changements, prendre des décisions sur l'évolution des priorités. Mais au niveau du projet, d'autres méthodes sont nécessaires.

La méthode du volume utilisé vient à la rescousse. Sans entrer dans la théorie, je décrirai comment cette méthode est mise en œuvre pour le contrôle plan-fait du développement.

Nous avons déjà déterminé le cycle de vie de la tâche et déterminé la complexité prévue de chacun d'eux. Maintenant, nous attribuons le pourcentage d'achèvement de la tâche de chaque étape. Dans notre cas, car il y avait une division de l'apport de travail dans la conception et le codage, un pourcentage est attribué à chacune des valeurs.
La cession d'intérêt est effectuée par un expert, évaluant combien nous considérons la tâche accomplie, combien il reste de travail à ce stade.



Une fois qu'un tel tableau a été compilé, pour chaque tâche, il est possible de déterminer combien de jours-personnes par rapport au plan déjà maîtrisé et ainsi mesurer la progression de chaque tâche.
Par exemple, une tâche a une entrée de main-d'œuvre planifiée de 10 heures pour la conception et de 20 heures pour le développement. Ensuite, au stade des tests, nous pensons qu'il est achevé à 80% en termes de travail de l'analyste (encore 20% de la main-d'œuvre nécessaire pour terminer le test) et 50% en termes de travail du développeur. Nous sommes prêts à admettre que la conception a fonctionné 8 heures et en cours de développement - 10 heures. Au total, sur 30 jours-hommes, 18 ont déjà été achevés.

Dans le même temps, nous ne tenons pas compte du fait que, en fait, d'autres heures peuvent être consacrées. Pour les fins énoncées, cela n'a pas d'importance.

7. Rapports de projet


Avoir un tableau dans lequel pour chaque tâche nous avons une complexité planifiée et un volume maîtrisé, il est facile de comprendre comment les choses se passent.

Il est possible de diviser les tâches en directions, composants et jalons du projet afin de pouvoir analyser à un niveau plus détaillé et faire des tableaux récapitulatifs dans toutes les sections nécessaires.

L'image globale du projet devient pratique pour une présentation au niveau du leadership:

Tableau récapitulatif de téléchargement JIRA



contrôle du plan fait pour l'ensemble du projet





Cette méthode ne trouve pas toujours de compréhension. Les jours-hommes mythiques sont moins compris que les éléments de développement. Et il n'annule pas la planification détaillée au niveau du groupe et des artistes individuels. Cependant, il s'agit de la méthode la plus objective pour évaluer la situation actuelle et prévoir l'achèvement des travaux.

Source: https://habr.com/ru/post/fr428850/


All Articles