Logiciel
: est produit pour répondre aux besoins d’une large variété de domaines et systèmes.
Systèmes :
Systèmes d’information le plus souvent des systèmes transactionnels construits autour d’une
base de données
Systèmes temps réel, qui doivent répondre à des événements dans des limites de temps
prédéfinies et strictes
Systèmes distribués sur un réseau de machines (distribution des données et/ou des
traitements)
Systèmes embarqués et systèmes critiques, interfacés avec un système à contrôler
Génie Logiciel : se préoccupe des procédés de fabrication des logiciels de façon à s’assurer que les
quatre exigences suivantes soient satisfaites.
Exigences Fonctionnelles (Besoins, Spécifications fonctionnelles) des utilisateurs.
Exigences de Qualité spécifiées dans un contrat de service initial.
Exigences de Coût. Le coût de production doit rester dans les limites prévues au départ.
Exigences de Délai. Le délai de production doit rester dans les limites prévues au départ.
Le cycle de vie du logiciel : Contient toutes les étapes du « processus de développement » d'un
logiciel, depuis sa conception jusqu’à sa disparition.
Il comprend généralement les activités suivantes :
Définition des objectifs : définir la finalité du projet et son inscription dans une stratégie
globale.
Analyse des besoins : la formalisation des besoins client et de l'ensemble des contraintes.
Conception générale : Il s'agit de l'élaboration des spécifications de l'architecture générale du
logiciel.
Conception détaillée : définir précisément chaque sous- ensemble du logiciel.
Codage : la traduction dans un langage de programmation.
Tests unitaires : vérifier individuellement que chaque sous- ensemble du logiciel est
implémentée.
Intégration : l'objectif est de s'assurer de l'interfaçage des différents éléments du logiciel.
Qualification : la vérification de la conformité du logiciel aux spécifications initiales.
Documentation : visant à produire les informations nécessaires pour l'utilisation du logiciel.
Mise en production : le logiciel est mis en service.
Maintenance : comprenant toutes les actions correctives.
Projet : est une entreprise temporaire, visant à créer, un produit et/ou un service unique.
Caractéristiques du projet :
Périmètre : En quoi consiste ce projet (Quoi).
Enjeux et Objectifs : Utilité de ce projet (Pourquoi).
Charges : Budget (Combien), Délais (Quand) et Ressources humaines nécessaires (Qui).
Une Méthodologie : Selon quelle méthode on va exécuter le projet et suivre son avancement
(Comment).
Gestion du Projet (conduite de projet) : est une démarche visant à structurer, assurer et optimiser le
bon déroulement d’un projet.
NB : Les livrables doivent être clairement définis pour un résultat conforme à des normes de qualité,
pour le moindre coût et dans le meilleur délai possible.
Agile : Est un ensemble de principes utilisés dans la gestion de projet et le développement de
logiciels.
Les processus dits agiles : incrémentales, entrelacées et prototype rapidement les interfaces.
Le manifeste agile –Valeurs : on 4 valeurs
La collaboration avec les clients, des logiciels opérationnels, les individus et leurs interactions et
l’adaptation au changement.
Le manifeste agile –Principes : on a 12 principes
Satisfaire le client
Accueillir favorablement les demandes de changement
Livrer le plus souvent possibles des versions opérationnelles de l’application
Assurer une coopération permanente entre le client et l’équipe projet
Construire des projets autour d’individus motivés
Privilégier la conversation en face à face
Mesurer l’avancement du projet en termes de fonctionnalités de l’application
Faire avancer le projet à un rythme soutenable et constant
Porter une attention continue à l’excellence technique et à la conception
Faire simple
Responsabiliser les équipes
Ajuster à intervalles réguliers son comportement et ses processus pour être plus efficace
Scrum : est un Framework ou cadre de développement de produits logiciels complexes. Il est défini
par ses créateurs comme un « cadre de travail holistique itératif qui se concentre sur les buts
communs en livrant de manière possible.
Scrum teams : Scrum Master, Product Owner et Development team
Scrum master :
Responsabilité
Il a pour responsabilité, dans le cadre du développement d'un produit, d'aider l'équipe à
travailler de façon autonome et guide l'équipe dans l'utilisation efficace de scrum.
Mission du ScrumMaster
Animant les réunions qui constituent le cérémonial (Planification du sprint, Mêlée
quotidienne, Revue du sprint et Rétrospective).
Product owner :
Responsabilité
Il est responsable de définir les caractéristiques du produit développé par l'équipe.
C'est lui qui définit l'ordre dans lequel ces éléments seront développés en fonction de la
valeur qu'ils apportent aux clients et utilisateurs.
Cela permet d'alimenter l'équipe avec un backlog de produit prêt pour la planification des
sprints.
Participation au cérémonial Scrum
Réunion de planification de sprint : max 8H
Scrums quotidiens (au moins 2 / semaine) : max 15 mn
Revue de sprint : max 4 H
Rétrospective de sprint : max 3 H
Implication au jour le jour
Mettre à jour le backlog de produit, Répondre aux questions sur le produit et Définir et
passer les tests d’acceptation.
Development team :
Responsabilité
Un groupe auto-organisé de développeurs de logiciels, qui ne devrait pas être plus de 7
personnes. Ils sont responsables du développement du logiciel et des autres documents
essentiels du projet.
Les cérémonies Scrum
Sprint rétrospective : est une réunion focalise sur la manière de travail.
Objectifs Du meeting : Rassembler les bonne et mauvaise pratiques des participants, Préparer les
actions a exécuter pour le but d’amélioration de la pratique, En se basant sur le brainstorming et le
vote des idées et Discussion et dissolution des conflits.