Crédit:MIT Sloan School of Management
Dans quelle mesure êtes-vous sûr que votre logiciel fonctionnera comme il est censé le faire au moment de vérité ? À quel point êtes-vous sûr qu'un système qui tombe en panne ailleurs dans votre secteur n'éliminera pas le vôtre ? trop, ou vice versa?
Rendre votre logiciel "sûr et sain" nécessite un mélange d'hyper-conscience, bonne planification et prévoyance, et apprendre rapidement de ses erreurs, selon Frédéric Véron, directeur de l'information et responsable de la sécurité et de la solidité de Deutsche Bank.
"La sécurité et la solidité concernent 'Comment rendre l'entreprise plus sûre et plus solide, dès le départ ?", a déclaré Véron le 23 mai lors du MIT Sloan CIO Symposium. "Pas seulement quand les choses arrivent, mais avant que les choses n'arrivent."
Il a dit que pour arriver à ce point, il s'agissait de connaître votre logiciel mieux que jamais.
Soyez hyper-conscient
D'abord, Véron a dit, de nombreuses organisations ne savent pas exactement comment les utilisateurs finaux utilisent leur logiciel, quelles fonctionnalités ils utilisent ou n'utilisent pas, à quoi ils les utilisent, et s'ils utilisent le logiciel à des fins pour lesquelles il n'était pas prévu à l'origine.
Il a prôné l'adoption d'une posture d'"hyper-conscience" qui consiste à savoir comment tous vos logiciels sont réellement utilisés au quotidien, s'assurer que toutes les parties prenantes du développement comprennent toute la portée du produit, et en prenant continuellement des mesures de base pour comprendre ce qui peut être considéré comme des conditions de fonctionnement normales pour un système.
« La connexion des différents contextes, pas seulement les informaticiens, mais les opérations et les affaires, aussi - vous connectez tout cela ensemble, de sorte que lorsque vous devez vous occuper d'un système, tu sauras ce qui est normal, " dit Véron.
Pour obtenir ce point de vue de l'utilisateur final, envoyer des développeurs pour observer les utilisateurs de logiciels en action.
Connaître et comprendre tous les aspects du logiciel et des systèmes avec lesquels il devra interagir, de la conception à la construction en passant par la production et les opérations permet à l'entreprise "d'aller au-delà du DevOps pour voir l'ensemble de la pile, se concentrer sur l'expérience client, " il a dit.
Assurer la préparation opérationnelle
Le développement de logiciels sûrs et sains ne consiste pas seulement à coder et à envoyer le produit fini en production, dit Véron. Pour s'assurer qu'un système est opérationnel, impliquer tout le monde plus tôt dans le processus de planification. Véron appelle cette approche du processus de conception « se déplacer vers la gauche ».
« Toutes les différentes procédures qui seront nécessaires pour maintenir le système en mode de production doivent être réfléchies à l'avance. Vous pouvez toujours tout verrouiller plus tard, mais cela vous coûtera plus d'argent et ce ne sera pas natif ou ne fonctionnera pas aussi bien, " dit Véron. " En attendant, vous risquez que votre système ne fonctionne pas."
Véron mesure en permanence l'état de préparation des nouvelles versions logicielles, et a déclaré qu'il rejetterait les modifications qui n'obtiennent pas un score supérieur à celui de la version précédente.
Échouez vite, s'adapter rapidement
Adopter agile et DevOps, qui sont conçus pour permettre une flexibilité itérative dans le développement de logiciels et une collaboration plus étroite avec les clients, vous permet d'adopter une position qui valorise « l'échec et l'adaptation rapide ».
Développer et lancer des produits minimum viables aide une entreprise à confirmer que son produit est sur la bonne voie, en tirer des leçons, et adapter le concept et la conception à la façon dont les gens l'utilisent. Le processus peut sembler plus lent que les méthodes de développement traditionnelles au début, Véron a dit, mais finalement, cela accélère le processus.
"Tout l'intérêt de l'agilité est d'adopter la philosophie selon laquelle vous décomposez les efforts majeurs en efforts plus petits, vous permettant de faire des versions incrémentielles afin que vous puissiez faire un petit changement, et si cela ne fonctionne pas, vous pouvez le retirer de la production rapidement sans impacter le tout, " dit Véron.