Les méthodes agiles visent à fluidifier la relation entre utilisateurs et informaticiens. Après des années de médiatisation par des partisans souvent dogmatiques, elles sont désormais mises en œuvre avec précaution et pragmatisme.
Lorsqu'il s'agit de développer une application, de paramétrer un progiciel ou de monter un site web un tant soit peu complexe, les interactions entre informaticiens et utilisateurs sont souvent difficiles à organiser. La démarche traditionnelle consiste à demander aux utilisateurs de réaliser un cahier des charges qui permet aux développeurs de se mettre au travail. Ces développeurs livrent le résultat plusieurs mois plus tard et sont alors confrontés à la réaction d'utilisateurs estimant avoir été mal compris ou dont les besoins ont évolué.
C'est pour combattre cette relation rigide que sont nées les méthodes dites agiles, comme Scrum (la plus connue), Extreme Programming ou Unified Process. Elles préconisent une relation permanente avec les utilisateurs, une livraison régulière de versions de l'application, ainsi qu'un mode de travail horizontal, avec une responsabilisation de chaque développeur. Mais ces méthodes ont souvent été mises en œuvre de façon dogmatique, au point d'effrayer aussi bien les utilisateurs que les développeurs. Désormais, la réussite passe par certaines précautions et compromis.
[...]
Chez Smile, on combine Scrum (pour l'aspect itératif et les possibilités de faire des démonstrations régulières aux clients), Unified Process (pour sa définition d'un certain formalisme que délaisse Scrum) et Extreme Programming (intégration continue et vérification du code).