Agile Data Science - Concepts méthodologiques

Dans ce chapitre, nous nous concentrerons sur les concepts de cycle de vie du développement logiciel appelé «agile». La méthodologie de développement logiciel Agile aide à créer un logiciel grâce à des sessions d'incrémentation en courtes itérations de 1 à 4 semaines afin que le développement soit aligné sur les besoins changeants de l'entreprise.

Il y a 12 principes qui décrivent la méthodologie Agile en détail -

Satisfaction des clients

La priorité la plus élevée est donnée aux clients qui se concentrent sur les exigences grâce à la livraison précoce et continue de logiciels précieux.

Accueillir les nouveaux changements

Les changements sont acceptables pendant le développement du logiciel. Les processus agiles sont conçus pour fonctionner de manière à correspondre à l'avantage concurrentiel du client.

Livraison

La livraison d'un logiciel fonctionnel est donnée aux clients dans un délai d'une à quatre semaines.

Collaboration

Les analystes d'affaires, les analystes qualité et les développeurs doivent travailler ensemble pendant tout le cycle de vie du projet.

Motivation

Les projets doivent être conçus avec un clan d'individus motivés. Il fournit un environnement pour soutenir les membres individuels de l'équipe.

Conversation personnelle

La conversation en face à face est la méthode la plus efficace et la plus efficace pour envoyer des informations à et au sein d'une équipe de développement.

Mesurer les progrès

Mesurer les progrès est la clé qui aide à définir l'avancement du projet et du développement logiciel.

Maintenir un rythme constant

Le processus Agile se concentre sur le développement durable. L'entreprise, les développeurs et les utilisateurs doivent être en mesure de maintenir un rythme constant avec le projet.

surveillance

Il est obligatoire de maintenir une attention régulière à l'excellence technique et à une bonne conception pour améliorer la fonctionnalité agile.

Simplicité

Le processus Agile garde tout simple et utilise des termes simples pour mesurer le travail qui n'est pas terminé.

Termes auto-organisés

Une équipe agile doit être auto-organisée et indépendante avec la meilleure architecture; les exigences et les conceptions émergent d'équipes auto-organisées.

Revoir le travail

Il est important de revoir le travail à intervalles réguliers afin que l'équipe puisse réfléchir à la façon dont le travail progresse. La révision du module en temps opportun améliorera les performances.

Stand-up quotidien

Le stand-up quotidien fait référence à la réunion de statut quotidienne entre les membres de l'équipe. Il fournit des mises à jour liées au développement du logiciel. Il se réfère également à la résolution des obstacles au développement de projets.

Le stand-up quotidien est une pratique obligatoire, quelle que soit la façon dont une équipe agile est constituée, quel que soit l'emplacement de son bureau.

La liste des caractéristiques d'un stand-up quotidien est la suivante -

  • La durée de la réunion quotidienne de stand-up devrait être d'environ 15 minutes. Il ne devrait pas durer plus longtemps.

  • Le stand-up devrait inclure des discussions sur la mise à jour du statut.

  • Les participants à cette réunion ont généralement l'intention de se réunir rapidement.

Histoire de l'utilisateur

Une histoire est généralement une exigence, qui est formulée en quelques phrases dans un langage simple et doit être complétée en une itération. Une user story doit inclure les caractéristiques suivantes -

  • Tout le code associé doit avoir des enregistrements associés.

  • Les cas de test unitaires pour l'itération spécifiée.

  • Tous les cas de test d'acceptation doivent être définis.

  • Acceptation du product owner lors de la définition de l'histoire.

Qu'est-ce que Scrum?

Scrum peut être considéré comme un sous-ensemble de la méthodologie agile. C'est un processus léger et comprend les fonctionnalités suivantes -

  • Il s'agit d'un cadre de processus, qui comprend un ensemble de pratiques qui doivent être suivies dans un ordre cohérent. La meilleure illustration de Scrum est de suivre des itérations ou des sprints.

  • Il s'agit d'un processus «léger», ce qui signifie que le processus est maintenu aussi petit que possible, afin de maximiser le rendement productif dans une durée donnée spécifiée.

Le processus Scrum est connu pour son processus distinctif par rapport à d'autres méthodologies d'approche agile traditionnelle. Il est divisé en trois catégories suivantes -

  • Roles

  • Artifacts

  • Boîtes de temps

Les rôles définissent les membres de l'équipe et leurs rôles inclus tout au long du processus. L'équipe Scrum se compose des trois rôles suivants -

  • Scrum Master

  • Propriétaire du produit

  • Team

Les artefacts Scrum fournissent des informations clés dont chaque membre doit être conscient. Les informations comprennent des détails sur le produit, les activités prévues et les activités réalisées. Les artefacts définis dans le framework Scrum sont les suivants -

  • Backlog produit

  • Backlog de sprint

  • Tableau de combustion

  • Increment

Les boîtes de temps sont les user stories qui sont planifiées pour chaque itération. Ces user stories aident à décrire les fonctionnalités du produit qui font partie des artefacts Scrum. Le backlog produit est une liste de user stories. Ces user stories sont classées par ordre de priorité et transmises aux réunions d'utilisateurs pour décider laquelle doit être reprise.

Pourquoi Scrum Master?

Scrum Master interagit avec chaque membre de l'équipe. Voyons maintenant l'interaction du Scrum Master avec d'autres équipes et ressources.

Propriétaire du produit

Le Scrum Master interagit avec le Product Owner des manières suivantes -

  • Trouver des techniques pour réaliser un backlog produit efficace des user stories et les gérer.

  • Aider l'équipe à comprendre les besoins d'éléments clairs et concis du backlog de produit.

  • Planification de produit avec environnement spécifique.

  • S'assurer que le propriétaire du produit sait comment augmenter la valeur du produit.

  • Faciliter les événements Scrum en cas de besoin.

Équipe Scrum

Le Scrum Master interagit avec l'équipe de plusieurs manières -

  • Accompagnement de l'organisation dans son adoption Scrum.

  • Planifier les implémentations Scrum dans l'organisation spécifique.

  • Aider les employés et les parties prenantes à comprendre les exigences et les phases de développement de produits.

  • Travailler avec Scrum Masters d'autres équipes pour augmenter l'efficacité de l'application de Scrum de l'équipe spécifiée.

Organisation

Le Scrum Master interagit avec l'organisation de plusieurs manières. Quelques-uns sont mentionnés ci-dessous -

  • L'équipe de coaching et de mêlée interagit avec l'auto-organisation et comprend une fonctionnalité de fonctionnalité croisée.

  • Coaching de l'organisation et des équipes dans les domaines où Scrum n'est pas encore totalement adopté ou n'est pas accepté.

Avantages de Scrum

Scrum aide les clients, les membres de l'équipe et les parties prenantes à collaborer. Il comprend une approche temporelle et un retour d'information continu du propriétaire du produit garantissant que le produit est en état de fonctionnement. Scrum offre des avantages aux différents rôles du projet.

Client

Les sprints ou itérations sont considérés pour une durée plus courte et les user stories sont conçues selon la priorité et sont reprises lors de la planification du sprint. Il garantit que chaque livraison de sprint, les exigences des clients sont satisfaites. Sinon, les exigences sont notées et sont planifiées et prises pour le sprint.

Organisation

L'organisation avec l'aide de Scrum et Scrum masters peut se concentrer sur les efforts requis pour le développement des user stories, réduisant ainsi la surcharge de travail et évitant les retouches le cas échéant. Cela contribue également à maintenir une efficacité accrue de l'équipe de développement et la satisfaction des clients. Cette approche contribue également à augmenter le potentiel du marché.

Gestionnaires de produits

La responsabilité principale des chefs de produit est de s'assurer que la qualité du produit est maintenue. Avec l'aide de Scrum Masters, il devient facile de faciliter le travail, de recueillir des réponses rapides et d'absorber les changements le cas échéant. Les chefs de produit vérifient également que le produit conçu est aligné selon les exigences du client à chaque sprint.

Équipe de développement

Avec la nature limitée dans le temps et le maintien des sprints pendant une durée plus courte, l'équipe de développement devient enthousiaste de voir que le travail est reflété et livré correctement. Le produit de travail incrémente chaque niveau après chaque itération ou plutôt nous pouvons les appeler «sprint». Les user stories conçues pour chaque sprint deviennent la priorité du client, ajoutant plus de valeur à l'itération.

Conclusion

Scrum est un cadre efficace dans lequel vous pouvez développer des logiciels en équipe. Il est entièrement conçu sur des principes agiles. ScrumMaster est là pour aider et coopérer l'équipe de Scrum de toutes les manières possibles. Il agit comme un entraîneur personnel qui vous aide à vous en tenir au plan conçu et à effectuer toutes les activités selon le plan. L'autorité de ScrumMaster ne devrait jamais s'étendre au-delà du processus. Il / elle doit être potentiellement capable de gérer chaque situation.