L'objectif de ce laboratoire est d'établir un processus de développement à partir du projet décrit ci-dessous. Le client pour ce projet est représenté par les profs et les assistants.
Selon l’Office fédéral de la statistique (OFS), 17 436 accidents impliquant des dommages corporels ont eu lieu sur les routes suisses en 2021. En moyenne, 4 personnes par semaine ont perdu la vie dans la circulation routière. La sécurité routière reste un enjeu important et chaque accident évité est une victoire. Les avancées techniques et technologiques ont aidé à diminuer le nombre de blessés graves sur les routes ces dernières décennies.
Sur les routes à double sens, un moment particulièrement critique est lorsqu’un véhicule essaie de dépasser un poids lourd (ex. camion, bus, autocar...) ou un engin agricole. Dans cette situation, la visibilité du véhicule est très faible sur l’autre voie (sens inverse). Le conducteur souhaitant dépasser ne peut pas facilement déterminer si le dépassement, en toute sécurité, est possible. Les conditions météorologiques dégradées et la nuit augmentent encore la dangerosité d’un tel dépassement.
L’idée de ce projet est de concevoir un dispositif IoT à installer sur les poids lourds et les engins agricoles, capable de détecter la présence de véhicules dans l’autre sens et d’afficher un message aux véhicules à l’arrière pour alerter en cas d’impossibilité de dépassement. Il doit aussi permettre de collecter des statistiques sur le nombre de situations de dépassement dangereuses, leurs dates, heures, durées et les routes sur lesquelles elles ont eu lieu. Ces statistiques, complètement anonymes, permettent de mieux comprendre le trafic routier et d'adapter ainsi l'aménagement et la signalétique routière.
Votre mission est de rédiger un cahier des charges et de décrire un processus de développement adapté pour ce projet. Pensez au fait que ce projet implique des logiciels et de l'électronique. Plus précisément, vous devez:
- Établir le cahier des charges à partir de la description du projet. Éliciter (clarifier) les besoins si nécessaire.
- Établir et décrire un processus de développement adapté à ce projet
- Choisir et justifier la mise en œuvre de 3 pratiques agiles
- Identifier et décrire les personas
- Rédiger des stories utilisateur
- Décomposer les stories en tâches
- Estimer le temps de chaque tâche en trois points (optimiste, attendu, pessimiste)
- Réaliser un Kanban avec des colonnes adaptées à votre processus de développement
- Remplir la colonne backlog du Kanban
- Sélectionner les tâches les plus pertinentes pour la première itération
Le repo Github contenant :
- Un document "cahier des charges".
- Un document "processus de développement" contenant la description du processus, les pratiques agiles et les personas.
Un projet Github associé au repo avec :
- Un kanban adapté à votre processus de développement.
- Un backlog avec les stories utilisateur.
- La première itération avec les tâches les plus pertinentes.
Ce laboratoire est noté et doit être réalisé en groupe de 3 à 4 étudiants. Tous les contenus doivent être rendus sur GitHub. Le temps imparti est de quatre semaines.