Agile Data Science - Concepts Méthodologiques

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

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

Satisfaction des clients

La plus haute priorité est accordée aux clients se concentrant sur les exigences grâce à la livraison précoce et continue de logiciels précieux.

Accueillir de nouveaux changements

Les modifications sont acceptables pendant le développement du logiciel. Les processus agiles sont conçus pour fonctionner afin de 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 commerciaux, les analystes qualité et les développeurs doivent travailler ensemble tout au long du cycle de vie du projet.

Motivation

Les projets doivent être conçus avec un clan de personnes motivées. 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 développement de projets et de logiciels.

Maintenir un rythme constant

Le processus agile se concentre sur le développement durable. L'entreprise, les développeurs et les utilisateurs devraient pouvoir 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 doit être 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 progression du travail. 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 logiciel. Il se réfère également à l'élimination des obstacles au développement du projet.

Le stand-up quotidien est une pratique obligatoire, quelle que soit la manière dont une équipe agile est établie quel que soit l'emplacement de son bureau.

La liste des fonctionnalités d'un stand-up quotidien est la suivante -

  • La durée de la rencontre quotidienne de stand-up devrait être d'environ 15 minutes. Il ne devrait pas s'étendre sur une durée plus longue.

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

  • Les participants à cette réunion se tiennent généralement avec l'intention de terminer la réunion 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 dans 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 tests unitaires pour l'itération spécifiée.

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

  • Acceptation du propriétaire du produit lors de la définition de l'histoire.

Modèle Scrum Agile

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 la suite d'itérations ou de sprints.

  • Il s'agit d'un processus «léger» signifiant 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 de distinction en comparaison avec d'autres méthodologies d'approche agile traditionnelle. Il est divisé en trois catégories:

  • Rôles

  • Artefacts

  • 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

  • Équipe

Les artefacts Scrum fournissent des informations clés que chaque membre doit connaître. Les informations comprennent des détails sur le produit, les activités planifiées et les activités terminées. Les artefacts définis dans le cadre Scrum sont les suivants -

  • Carnet de produit

  • Carnet de sprint

  • Tableau de combustion

  • Incrément

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 de produit est une liste d'histoires d'utilisateurs. Ces histoires d'utilisateurs sont classées par ordre de priorité et transmises aux réunions des utilisateurs pour décider laquelle doit être prise en compte.

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 propriétaire du produit de différentes manières:

  • Trouver des techniques pour atteindre un backlog efficace de produits d'histoires d'utilisateurs et les gérer.

  • Aider l'équipe à comprendre les besoins des éléments de backlog de produits clairs et concis.

  • Planification de produits avec environnement spécifique.

  • Veiller à ce que le propriétaire du produit sache comment augmenter la valeur du produit.

  • Faciliter les événements Scrum selon les besoins.

Scrum Team

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

  • Coaching de l'organisation dans son adoption Scrum.

  • Planification des implémentations Scrum pour 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 les Scrum Masters des 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 des 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 chronologique et une rétroaction continue du propriétaire du produit garantissant que le produit est en état de marche. 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 prises en compte lors de la planification du sprint. Il garantit que chaque livraison de sprint, les exigences des clients sont remplies. Sinon, les exigences sont notées et sont planifiées et prises pour le sprint.

Organisation

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

Chefs de produit

La principale responsabilité des chefs de produit est de garantir le maintien de la qualité du produit. 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 une nature temporelle et des sprints gardés pour une durée plus courte, l'équipe de développement devient enthousiaste de voir que le travail est réfléchi 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 qui sont conçues pour chaque sprint deviennent une priorité 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 à respecter le plan conçu et à exécuter toutes les activités conformément au plan. L'autorité de ScrumMaster ne doit jamais s'étendre au-delà du processus. Il / elle devrait être potentiellement capable de gérer chaque situation.