samedi 20 octobre 2012

Cascade Modèle Vs Agile


Développement de logiciels, comme n'importe quel processus métier d'autre part, a certains objectifs ciblés qui doivent être atteints dans un délai fixe. Il existe différentes stratégies pour atteindre ces objectifs de développement de logiciels. Deux des modèles les plus populaires de développement de logiciels sont le «modèle cascade» et le «modèle Agile». Cet article Buzzle fait un modèle en cascade vs modèle de comparaison agile, qui servira à souligner les différences entre ces deux différentes méthodes de développement logiciel.

Cascade Modèle Vs Agile Modèle: Histoire

Avant d'entrer dans comparant modèle de cascade versus modèle agile, penchons-nous sur l'histoire de leur développement. Modèle de cascade en génie logiciel, s'est officiellement présenté comme une idée, à travers un papier publié par Winston Royce en 1970. Cependant, il est ironique qu'il avait lui-même présenté comme un exemple d'une méthode de développement de logiciel défectueux, qui est vulnérable en raison de ses nombreuses lacunes. Néanmoins, chaque méthode a ses preneurs et modèle de cascade a été appliquée avec succès par de nombreux partenaires éditeurs.

Philosophie modèle de cascade a été hérité des stratégies de fabrication du matériel et des stratégies de construction qui étaient en pratique au cours des années 1970. C'est pourquoi, il a une approche très structurée de développement de logiciels. Modèle de cascade, expliqué plus loin, permettra de clarifier ce que j'essaie de dire ici.

D'autre part, le modèle agile de développement de logiciels, a évolué dans les années 1990, quand les développeurs ont décidé de rompre traditionnels structurés, segmentés, les approches bureaucratiques au développement de logiciels et se dirigea vers des styles de développement plus souples. Le «Agile» ou «légers» des méthodes comme on les appelait, ont été formellement défini dans un document de recherche par Edmonds en 1974. Certaines des méthodes les plus éminents et populaires agiles de développement de logiciels, qui ont ensuite évolué, sont «Scrum» en 1995, «Crystal Clear», «Extreme Programming» en 1996, «Développement logiciels adaptatifs», «méthode dynamique de développement des systèmes" en 1995 et «Feature Driven Development». En 2001, un groupe de pionniers dans le développement agile de logiciels se sont réunis et ont déclaré le «Manifeste Agile», qui est un ensemble de règles canoniques de toutes sortes, des méthodes agiles de développement logiciel.

Cascade Modèle Vs Agile Modèle: différence conceptuelle

Après cet interlude bref historique, nous allons commencer le modèle de cascade réelle par rapport à la comparaison des modèles agile, en commençant par les principales différences conceptuelles entre les deux approches. Ensuite, nous allons comparer la différence dans le cycle de vie du développement logiciel, impliqué dans les deux approches. Enfin, nous allons discuter les avantages et les inconvénients du modèle cascade, après avoir plonger dans le concept principal.

Modèle de cascade de développement de logiciels, comme son nom lui-même signifie, est un processus séquentiel de développement de logiciels. Tout comme dans une chute d'eau, l'eau tombe progressivement d'une altitude inférieure à l', de la même manière, le cycle de production évolue de façon séquentielle, d'un stade à l'autre (illustré par un diagramme de modèle de cascade dans les manuels scolaires).

Les phases du modèle cascade de développement de logiciels sont les suivants: définition des besoins, la conception, l'analyse, la conception, codage, tests et le débogage, l'installation et, enfin, de l'entretien. Dans cette approche séquentielle structurée, l'équipe de développement va de l'avant à la prochaine étape de développement, mais seulement après l'étape précédente est pleinement accomplie. Sociétés de développement de logiciels, l'adoption de ce modèle, dépenser une somme considérable de temps dans chaque étape du développement, jusqu'à ce que tous les doutes sont effacés et toutes les exigences sont satisfaites. La croyance qui anime ce genre de modèle de développement de logiciels est que le temps considérable passé à l'effort de conception initiale corrige des bugs à l'avance. Une fois la phase de conception est terminée, il est mis en œuvre exactement dans l'étape de codage, sans aucune modification ultérieure. Souvent, l'analyse, la conception et les équipes de codage sont séparés et de travailler sur de petites pièces dans l'ensemble du processus de développement. L'accent est mis sur la documentation de toutes les étapes de développement de logiciels.

Maintenant, penchons-nous sur la méthode de développement agile de logiciels. Par rapport à l'approche «set-in-pierre» des modèles de développement en cascade, la race agile de modèles, se concentrer sur «agilité» et «adaptabilité» dans le développement. Au lieu d'un calendrier de développement fastidieux et rigides, les modèles agiles impliquent de multiples calendriers de développement itératif qui cherchent à améliorer le rendement à chaque itération. Chaque itération passe par toutes les étapes de la conception, de codage et de test. Le design n'est pas gravé dans la pierre et est maintenu ouvert à des changements de dernière minute en raison de la mise en œuvre itérative. La structure de l'équipe est interfonctionnel, étroitement soudée et d'auto-organisation. L'idée de conception n'est jamais totalement gelé ou gravé dans la pierre, mais il est permis d'évoluer à mesure que de nouvelles idées viennent avec chaque nouvelle version. Moins d'importance est donnée à la documentation et à accélérer plus d'offrir un programme de travail. Les clients peuvent être fournis manifestations à la fin de chaque itération et leurs commentaires peuvent déterminer le cours suivant de changements dans la prochaine itération. Le cycle itératif continue jusqu'à ce que le client est livré avec un produit qui répond exactement à ses attentes.

Cascade Modèle Vs Agile Modèle: Efficacité

Dans la comparaison continue des modèle de cascade versus modèle agile, nous allons voir comment ces deux idéologies comparer à l'égard de l'efficacité du développement. L'efficacité est décidée par la qualité du produit logiciel ultime, le nombre de bugs et le temps de développement consommé. Grâce à mes propres recherches dans le fonctionnement de ces deux modèles, j'ai trouvé les modèles agiles pour être plus efficace que le modèle de cascade, en raison de leur capacité d'adaptation au monde réel. La «Phase One» et le cycle «rigide» le développement d'un modèle de cascade, il est difficile de faire des changements de dernière minute dans les exigences ou de conception. Bien que les méthodes agiles, en raison de leur nature itérative et adaptable, peut intégrer les changements et sortir un produit, en moins de temps. Bien sûr, les modèles agiles ne sont pas parfaits non plus, mais ils sont certainement plus largement applicable que le modèle de cascade. Bien sûr, l'expertise, l'ensemble des compétences, l'attitude et la capacité des membres de l'équipe travaillant sur le projet est un facteur primordial qui influe sur l'efficacité. Que ce soit agile ou le modèle de cascade, qui est adoptée, la communication au sein des membres de l'équipe et avec le client, définition des objectifs et une meilleure planification contribue à l'amélioration de l'efficacité.

Cascade Modèle Vs Agile Modèle: Adéquation

Le modèle de cascade est adapté pour le développement de programmes qui sont déjà stable. Autrement dit, leur conception n'a pas besoin d'une cure de jouvence majeure. Dans les situations où les concepteurs d'un logiciel peut prédire avec précision les défauts qui peuvent survenir, à l'avance, modèle de cascade est le choix approprié. Malgré tous ses défauts, un design modèle de cascade est plus facile à gérer et les coûts de développement peuvent être déterminés à l'avance. Modèle de cascade est un choix naturel lorsque le client a fourni une liste claire des exigences, qui ne sont pas susceptibles d'être modifiées. D'autre part, lorsque le client n'est pas clair sur ses exigences ou les attentes du produit final, d'adopter le modèle Agile est logique. L'expérience des membres de l'équipe dans la manipulation du type spécifique de projet doivent également être prises en considération. Si les développeurs sont assez expérimentés dans le maniement de ce projet, alors l'approche Agile est une meilleure option.

Un autre point à considérer est le délai dans lequel le projet devrait être terminé. Lorsque le délai est assez long, en choisissant la voie cascade est possible, tandis que les projets de livraison rapides sont mieux gérées de la manière agile. Le coût du projet est un autre point de considération, ce qui peut influencer votre choix.

Modèles Agiles sont applicables dans tous les domaines du développement de logiciels. Cela dépend beaucoup plus de l'effort de l'équipe ci-dessus programmeurs moyenne, que de compter sur un peu de programmeurs experts. Il est le mieux adapté pour les applications Web où son caractère itératif aide à l'intégration et à corriger les divers bugs qui surviennent au fil du temps. Choisissez un modèle qui convient le mieux l'expérience de votre équipe.

Alors, ce fut un modèle de cascade vs modèle de comparaison agile, qui a tenté de comparer les différences fondamentales entre les deux. Quel est idéalement besoin est un modèle qui allie la responsabilisation et la prévisibilité d'un modèle de cascade, avec l'agilité et l'adaptabilité du modèle agile. Autrement dit, un bon équilibre entre les deux idéologies pouvez créer un modèle de logiciel plus efficace du développement....

Aucun commentaire:

Enregistrer un commentaire