L’agilité au sein des entreprises ne fait plus de doute. Mais si la plupart des organisations s’accordent sur la pertinence des méthodes agiles pour améliorer leur efficacité, leur productivité et leur efficience, toutes n’emploient les mêmes techniques. Alors pour uniformiser les pratiques, il y a les principes SAFe DevOps.
Qu’est-ce que le SAFe DevOps ?
SAFe est l’anagramme de Scaled Agile Framework. Il s’agit alors de définir un cadre pour les entreprises utilisant les méthodologies agiles dans leur business. À travers différents principes, la base de connaissances SAFe permet aux organisations d’apporter toujours plus de valeur, tout en améliorant leur productivité.
D’ailleurs, cet objectif s’inscrit parfaitement dans la continuité du mouvement DevOps qui vise à favoriser la livraison rapide de logiciels ou d'applications, tout en répondant au plus près des besoins du client.
Nous allons justement voir en quoi les principes SAFe et DevOps peuvent aider les organisations à optimiser leur avantage concurrentiel.
Quels sont les grands principes de SAFe DevOps ?
1 - Adopter une vision économique
Afin de réduire les délais d'exécution tout en garantissant une qualité optimale, les collaborateurs doivent impérativement comprendre l'impact économique de leurs choix (retard de livraison, erreur humaine, bug informatique, …).
Si cette affirmation semble logique, ce n’est pas toujours intégré à 100 % par les entreprises. En effet, dans de nombreuses organisations, les budgets ne sont connus que des organes de direction et des départements financiers. Ainsi, les décisions quotidiennes d’un collaborateur (quelle que soit son expertise métier) sont prises sans cette connaissance. Or, cela peut produire des retards, des erreurs, une certaine inefficacité ou encore un manque d’autonomie.
À l’inverse, l'adoption d’une vision économique permet de prendre de meilleures décisions à tous les niveaux, de fluidifier les tâches, et de respecter les contraintes budgétaires.
2 - Appliquer la pensée systémique
La pensée systémique est l’un des principes fondateurs de framework SAFe DevOps. L’idée est alors d'envisager la solution comme un système. Ainsi, lorsque les DevOps développent un nouveau logiciel ou une application, ils doivent y intégrer tous ces aspects : de la conception à la maintenance en passant par l’intégration et le déploiement.
Cela permet aux équipes de faire face à la complexité du développement en optimisant les méthodes de travail tout au long du cycle de vie logiciel. Résultat : les délais de mise sur le marché sont les plus courts et le produit final apporte un maximum de valeur ajoutée aux utilisateurs.
3 -Assumer la variabilité et préserver les options
Par définition, chaque innovation n’a jamais été testée. Le développement de logiciels ou d'applications est donc intrinsèquement incertain. Rien ne permet de garantir son succès à 100 %. Notamment du fait des évolutions techniques ou des évolutions du marché qui interviennent en cours de développement.
C'est pourquoi, il est primordial d’envisager plusieurs options lors du développement d’un logiciel. C’est le principe de “Set based design” repris par le framework SAFe DevOps. Cela permet ainsi d’apprendre à synchroniser avec la variabilité tout en la réduisant autant que possible.
4 - Construire progressivement avec des cycles d’apprentissage rapides et intégrés
En début de projet, lorsque les fonctionnalités ne sont pas encore toutes disponibles, la valeur réelle est faible. Et pourtant, elle est bien là.
L’idée est donc d’évaluer la solution à toutes les phases du projet de développement. Et ce, le plus rapidement possible. Pour cela, il est primordial de définir des niveaux d’exigence aux différentes étapes.
Cela permet ainsi de réduire le risque d’erreur, de limiter les coûts, de réduire les délais de livraison et de renforcer la confiance de la part du client.
5 - Poser des Jalons permettant de tester et d'aligner régulièrement le système de travail
La méthode Safe DevOps recommande l’implémentation d’un système construit par incréments. L’idée est alors de définir plusieurs jalons. Chacun d’entre eux démontre la faisabilité de la solution en cours de développement. Pour cela, il convient d’adopter le cycle PDCA. À savoir, planifier, faire, vérifier et ajuster. Ainsi, la performance de la solution est testée dès le début du projet.
6 - Visualiser et limiter les work in progress
Si les méthodes Agiles et DevOps reposent sur le workflow, toute interruption doit être identifiée et traitée de manière systématique. Pour cela, les entreprises doivent réagir rapidement aux changements du marché et éliminer le cycle traditionnel “démarrage-arrêt-démarrage”.
Pour améliorer leur réactivité, elles peuvent réduire le volume des lots, la longueur des files d’attente, ou éviter les tâches qui se chevauchent. Cela permet ainsi de favoriser la production de valeur en continu.
7 - Appliquer une cadence et se synchroniser avec la planification inter-domaine
Si l'élaboration de solutions est un processus incertain, la méthode Safe DevOps encourage la définition d’une "zone de sécurité". Celle-ci permet alors de réduire l’incertitude tout en laissant la place à la liberté. Pour cela, il est recommandé d’appliquer une cadence pour toutes les tâches. L’idée est d’implémenter un maximum de routines (notamment à travers des réunions d’évaluations régulières), afin que les développeurs puissent se concentrer sur la gestion des éléments incertains de la conception logiciel.
8 - Déverrouiller la motivation intrinsèque des collaborateurs
Ce principe résulte de plusieurs constats :
- Les travailleurs sont les plus qualifiés pour prendre des décisions sur la manière d'effectuer leur travail ;
- Les collaborateurs ont besoin d'autonomie ;
- L'innovation permanente doit faire partie du travail, des tâches et des responsabilités des développeurs et des équipes opérationnelles.
Partant de ces affirmations, SAFe DevOps encourage les organisations à susciter la motivation des équipes. Par exemple, à travers un coaching personnalisé, une plus grande responsabilisation, etc.
9 - Décentraliser la prise de décision
Toute décision qui doit être transmise à des niveaux d'autorité supérieurs entraîne un retard. Alors pour fournir un maximum de valeur aux clients dans le délai le plus court possible, il est primordial de décentraliser du processus décisionnel.
C’est d’autant plus important que les décisions prises au niveau supérieur peuvent souffrir d’une moindre qualité (à cause du délai d'attente ou de l’absence de proximité avec la problématique donnée).
Ainsi, les collaborateurs participant au développement du projet doivent aussi participer à la prise de décision.
10. Organiser autour de la valeur
Ce sont les valeurs fondamentales du mouvement SAFe DevOps à savoir
- L’alignement ;
- La qualité ;
- La transparence ;
- L’exécution du programme ;
- La direction.
SAFe DevOps - Ce qu’il faut retenir
- SAFe DevOps est un guide de bonnes pratiques à destination des entreprises utilisant les méthodes Agiles.
- Parmi les principes fondateurs, on retrouve la conception progressive, l’implémentation de jalons, la décentralisation, etc.
- Ces principes s’adaptent parfaitement au travail des DevOps qui doivent faire preuve d’agilité pour livrer rapidement un produit de qualité.