Qu'est-ce que le développement de logiciel Lean?
Le développement logiciel Lean est un paradigme qui décrit un ensemble de circonstances idéales théoriques pour la création de logiciels. Il est important de penser au développement logiciel Lean comme à l’une des nombreuses théories du développement logiciel, chacune avec ses avantages et ses inconvénients. Lorsque vous utilisez le modèle de développement logiciel Lean, vous devez comprendre sept points cruciaux: éliminer le gaspillage, amplifier l'apprentissage, prendre des décisions tardives, accélérer la livraison, responsabiliser les équipes, renforcer l'intégrité et visualiser l'ensemble.
L'élimination du gaspillage est un objectif à la fois d'économie de temps et d'argent. En réduisant le surplus de code et les fonctionnalités superflues dans le développement logiciel Lean, l’équipe de développement logiciel permet de réaliser des économies et d’offrir un code plus précis à l’utilisateur final. Ainsi, les programmes créés à l'aide du modèle Lean Software nécessitent moins de ressources et sont plus ciblés.
L'amplification de l'apprentissage dans le développement de logiciels Lean fait référence au concept d'utilisation de cycles courts entre les phases de test. En théorie, cela fournit un retour d'information plus constant aux ingénieurs, ce qui permet d'identifier les problèmes plus tôt dans la chaîne de développement. Les utilisateurs finaux sont inclus dans ces phases, garantissant que les versions bêta du programme répondent à leurs besoins.
La prise de décision tardive permet une flexibilité supplémentaire dans le calendrier de conception, permettant de prendre des décisions uniquement lorsque le nombre maximal de faits a été collecté. Par exemple, décider avant de commencer le développement que le programme X ait les fonctionnalités A, B et C peut sembler une bonne idée, jusqu'à ce que des tests sur le terrain révèlent qu'il est impossible de terminer ces fonctionnalités à temps. Dans le développement de logiciels Lean, la décision d'inclure A, B et C serait reportée jusqu'à ce qu'il soit certain que cela serait réellement possible.
Une livraison rapide signifie préférer fournir le plus rapidement possible un modèle bêta fonctionnel à l'utilisateur final - éventuellement lorsque le programme est terminé à 85-90% - et continuer à corriger et à mettre à niveau ce modèle tout au long de sa vie. Cela contraste avec attendre que le programme soit achevé à 100% et le diffuser ensuite. En théorie, cela permet à l'utilisateur final de prolonger la durée de vie du programme, tout en permettant à l'équipe de développement de faire un retour supplémentaire des modèles bêta en fonctionnement.
L'autonomisation d'une équipe signifie donner plus d'autonomie à l'équipe pendant le processus de programmation. En conséquence, ils vont théoriquement investir davantage dans le projet. En outre, cela implique de leur fournir un accès aux clients et de mieux faire correspondre leurs attentes à la livraison effective.
Enfin, le développement de l’intégrité et la vision globale mettent l’accent sur le programme comme une seule et même unité. Comparez cela avec d'autres systèmes, qui considèrent un programme comme une collection en mosaïque de différents systèmes. Cette façon de penser "globale" fournit théoriquement un produit plus complet, car toute l'équipe est sur la même longueur d'onde en ce qui concerne le produit fini.