Procéder étape par étape : un projet, puis un autre projet (en refactorant ce qui a été fait pour le premier).
Poursuivre à chaque fois les échanges avec les utilisateurs, pour les sensibiliser mais aussi pour comprendre leurs attentes.
Capitaliser sur les bonnes pratiques, extraire des éléments réutilisables dans ce qui a été mis en place concrètement pour un projet (au lieu d’implémenter dans le vide du code transverse).
Pas de grande théorie ou de consensus préalable.
Pas de solution générique, mais faire émerger des patterns, en mutualisant les aspects fastidieux.
Concentrer ses forces sur un petit nombre de cibles, pour être pertinent et efficace.
Eviter les gros chantiers à effet tunnel, se mettre au contraire en situation (migration à blanc, démonstrations et retours utilisateurs, mise à disposition d’un environnement de test par les utilisateurs).
Surtout : apprendre au fur et à mesure, ne pas hésiter à jeter quand on comprend mieux les besoins, et l’outil (contraintes, forces).