Lean Software Développent est un paradigme qui décrit un ensemble idéal théorique des circonstances de création de logiciel. Il est important de penser à Lean Software Développement en tant que l'une des nombreuses théories sur le développement de logiciels, chacun avec ses avantages et ses inconvénients. Lorsque vous utilisez le modèle Lean Software Développent, il ya sept points cruciaux pour comprendre: l'élimination des déchets, d'amplifier l'apprentissage, la décision tardive de décisions, la livraison rapide, l'équipe de l'autonomisation, le renforcement de l'intégrité et de la visualisation de l'ensemble.
L'élimination des déchets est à la fois un moment et objective économiser de l'argent. En réduisant la quantité de code et des fonctionnalités superflues excédent de Lean Software Développement, l'équipe de développement logiciel économise de l'argent et fournit serrée code pour l'utilisateur final. Ainsi, les programmes créés à l'aide du modèle Lean Software sont moins gourmand en ressources et plus ciblée.
Apprendre amplification en Lean Software Développement se réfère à l'idée d'utiliser des cycles courts entre les phases de tests. En théorie, cela fournit une rétroaction plus constante aux ingénieurs, à leur tour, ce qui permet de problèmes soient identifiés plus tôt dans la chaîne de développement. Les utilisateurs finaux sont inclus dans ces phases, et veillent à ce que les versions bêta du programme répondent à leurs besoins.
Prise de décision tardive permet une plus grande souplesse dans le calendrier de conception, permettant décisions à prendre une seule fois le nombre maximum de faits ont été recueillis. Par exemple, décider avant de commencer le développement du programme que X devrait avoir Caractéristiques A, B et C peut sembler une bonne idée, jusqu'à ce que sur le terrain les tests révèlent que ces fonctionnalités ne sont pas possible de terminer à temps. Dans Lean Software Développement, la décision d'inclure A, B et C serait retardée jusqu'à ce qu'il soit certain que ce soit réellement possible.
La livraison rapide se réfère à une préférence pour fournir à l'utilisateur final avec un modèle bêta travaillons aussi vite que possible - peut-être lorsque le programme est de 85 à 90 pour cent complet - et continue de patcher et de mise à niveau de ce modèle au cours de la durée de vie du programme. Cela contraste avec l'attente jusqu'à ce que le programme est 100 pour cent et de le livrer ensuite. En théorie, cela permet à l'utilisateur final de tirer plus de vie hors du programme, ainsi que permettre à l'équipe de développement des commentaires supplémentaires à partir du modèle bêta travail.
Équipe autonomisation signifie donner à l'équipe une plus grande autonomie au cours du processus de programmation. En conséquence, ils seront théoriquement devenir plus investis dans le projet. En outre, cela signifie en leur donnant accès aux clients, correspondant plus étroitement aux attentes de la livraison effective.
Enfin, l'intégrité et la construction de voir l'ensemble axé sur la visualisation du programme comme une seule unité. Cela contraste avec d'autres systèmes, permettant de visualiser un programme comme un ensemble disparate de systèmes différents. Ce "big picture" façon de penser théoriquement fournit un produit plus complet, que toute l'équipe est sur la même page quand il s'agit de produits finis.