Développement d'applications mobiles

Méthodologie Agile

Description d’un ensemble de principes et recommandations à appliquer dans un contexte de développement logiciel dans le but de faciliter et favoriser le travail d’équipe collaboratif et organisé.

Agile?

  • Planification dynamique, s’adaptant aux changements
  • Développement itératif et évolutif
  • Livraison rapide pour une rétroaction rapide
  • Réponse favorable aux changements

Ou agile?

Cascade vs. Agile

Manifesto

  • Individuals and Interactions over processes and tools
    Environnement auto-organisé favorisant la motivation, valorisation et implication des membres d’une équipe multifonctionnelle
  • Working Software over comprehensive documentation
    Alléger les artéfacts et mettre l’accent sur un produit fonctionnel accélère le cycle rétroaction -> réaction
  • Customer Collaboration over contract negotiation
    Il est très difficile de définir l’ensembles des exigences/besoins dès le départ, le client doit être un partenaire impliqué dans le développement
  • Responding to Change over following a plan
    Privilégier l’amélioration continue et la réponse rapide au changement

📚 Manifesto

Les 12 principes Agile

  1. Customer satisfaction by early and continuous delivery of valuable software
  2. Welcome changing requirements, even in late development
  3. Working software is delivered frequently (weeks rather than months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals, who should be trusted
  6. Face-to-face conversation is the best form of communication (co-location)
  7. Working software is the principal measure of progress
  8. Sustainable development, able to maintain a constant pace
  9. Continuous attention to technical excellence and good design
  10. Simplicity—the art of maximizing the amount of work not done—is essential
  11. Best architectures, requirements, and designs emerge from self-organizing teams
  12. Regularly, the team reflects on how to become more effective, and adjusts accordingly

Objectifs

  • Offrir une méthode de travail aux équipe
  • Réduire les risques associés aux projets logiciels
  • Assurer un apport positif(valeur) maximal constant
  • Offrir une mesure de l’avancement du projet
  • Faciliter la collaboration
  • Encourager la qualité et l’efficacité

Éviter les extrêmes, structure trop rigide ou désorganisation chaotique, pour permettre aux acteurs du projet de vivre une expérience agréable et valorisante.

Proposition de valeur

Agile selon Uncle Bob

Références