5 points par GN⁺ 2024-03-14 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Estimation de projet logiciel : décomposer les tâches

  • Lors de la planification d’un projet logiciel, il est important de définir clairement la liste des tâches.
  • Le processus de décomposition des tâches peut sembler intuitif, mais il doit suivre des étapes concrètes.
  • La décomposition des tâches consiste à diviser le projet en tâches qui le composent, puis à définir chacune d’elles en détail.

Décomposer les tâches à travers un exemple

  • L’article montre le processus de décomposition des tâches à travers l’exemple de la création d’un tracker de streaks personnel.
  • Le tracker de streaks suit les activités de plein air ; il ressemble à l’application Streaks, mais inclut diverses options d’activités extérieures ainsi que la fonctionnalité de « gel de série » de Duolingo.

Première tentative

  • On commence par un croquis pour visualiser ce que l’on veut créer.
  • Pour un projet personnel, un croquis simple peut suffire, mais si l’on doit déléguer le travail ou estimer le temps nécessaire, une décomposition plus détaillée est indispensable.

Deuxième tentative

  • On élargit une tâche unique en composants pour établir le plan, en tenant compte des dépendances, sans encore se préoccuper de la taille ou du périmètre des étapes.
  • On dresse une liste de tâches comme la modélisation des données, la vue calendrier, le calendrier interactif, le calcul et l’affichage du streak actuel, ainsi que l’implémentation du gel de série.

Troisième tentative

  • On divise les étapes les plus importantes en composants plus petits et on ajoute des détails.
  • Des tâches comme la modélisation des données, la vue calendrier statique, la vue calendrier hebdomadaire dynamique, le calcul et l’affichage du streak, ainsi que le gel de série, sont définies de manière plus fine.

Processus de décomposition des tâches

  • La décomposition des tâches est un processus interactif : on pense à une grosse tâche, puis on la découpe en petites étapes que l’on consigne.
  • Il faut vérifier si chaque tâche est suffisamment définie ; sinon, on répète l’algorithme pour la subdiviser plus finement.

Qu’est-ce qu’une tâche ?

  • Une tâche doit être suffisamment définie, constituer un travail complet et produire un changement.
  • Une tâche « suffisamment définie » nécessite une vue d’ensemble claire, et une tâche « complète » doit inclure tout le travail nécessaire.

Qu’est-ce qu’une tâche suffisamment définie ?

  • La personne qui exécute la tâche doit comprendre le changement attendu, savoir à quoi ressemble l’état « terminé » et pouvoir définir toutes les étapes qui mènent à cet état.

C’est une compétence qui demande de la pratique

  • La décomposition des tâches est une compétence qui se développe avec la pratique.
  • Elle peut sembler intuitive pour les développeurs expérimentés, mais être difficile pour les personnes moins expérimentées.
  • Il est important de demander de planifier des projets dans un environnement d’apprentissage sûr, de décomposer les tâches et de fournir du feedback.

Résumé de l’algorithme de décomposition des tâches

  • On part d’une liste de tâches, d’un croquis ou d’une idée.
  • On détermine si chaque élément est suffisamment défini et, si la réponse est « non », on décompose davantage la tâche.
  • On répète jusqu’à ce que toutes les tâches soient suffisamment découpées.

Bonus sur l’estimation de projet

  • Comme la série porte sur l’estimation, l’article complète aussi une estimation du projet.
  • La charge de travail réelle a peut-être été surestimée, le design peut être simplifié, et l’algorithme de « gel » peut contenir des bugs.

L’avis de GN⁺

  • La décomposition des tâches est une compétence centrale en gestion de projet et en développement logiciel, et cet article peut aider les ingénieurs logiciel débutants à comprendre son importance et sa mise en pratique.
  • Elle est essentielle pour définir clairement le périmètre du projet et gérer efficacement le temps et les ressources.
  • L’article explique le processus étape par étape, ce qui en fait un bon exemple à consulter pour une application dans des projets réels.
  • La précision de la décomposition des tâches peut fortement influencer la réussite d’un projet, et il est important de réduire au minimum les erreurs ou omissions possibles dans ce processus.
  • Parmi les outils de gestion de projet offrant des fonctionnalités similaires, on peut citer Jira, Trello et Asana, qui permettent de visualiser et de gérer le processus de décomposition des tâches.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.