Je suis curieux de savoir si quelqu'un connaît des méthodologies qui sont significativement différentes (pas une recombinaison) et j'apprécierais particulièrement ceux qui ont apporté une expérience avec des alternatives.
la source
Je suis curieux de savoir si quelqu'un connaît des méthodologies qui sont significativement différentes (pas une recombinaison) et j'apprécierais particulièrement ceux qui ont apporté une expérience avec des alternatives.
Wikipedia les répertorie en tant que méthodologies / processus de développement :
Agile - basé sur un développement itératif et incrémental, où les exigences et les solutions évoluent grâce à la collaboration d'équipes multidisciplinaires auto-organisatrices.
Salle blanche - Le processus de la salle blanche met l'accent sur la prévention des défauts, plutôt que sur l'élimination des défauts.
Itératif - un processus de développement logiciel cyclique développé en réponse aux faiblesses du modèle en cascade. Cela commence par une planification initiale et se termine par un déploiement avec les interactions cycliques entre les deux.
RAD - utilise une planification minimale en faveur du prototypage rapide. La "planification" d'un logiciel développé à l'aide de RAD est liée à l'écriture du logiciel lui-même.
RUP - RUP (Rational Unified Process) est un cadre de processus de développement logiciel itératif adaptable, conçu pour être personnalisé en sélectionnant les éléments du processus appropriés.
Spiral - combinant des éléments de conception et de prototypage par étapes, dans le but de combiner les avantages des concepts descendants et ascendants. Ce modèle de développement combine les caractéristiques du modèle de prototypage et du modèle en cascade.
Chute d'eau - séquentielle à travers les phases de conception, d'initiation, d'analyse, de conception, de construction, de test et de maintenance.
Lean - une traduction des principes et des pratiques de fabrication lean et Lean IT dans le domaine du développement de logiciels; tout ce qui n’ajoute pas de valeur au client est considéré comme du gaspillage.
Modèle en V - Au lieu de descendre de manière linéaire, les étapes du processus sont recourbées vers le haut après la phase de codage, pour former la forme en V typique. Le modèle en V montre les relations entre chaque phase du cycle de développement et la phase de test associée.
TDD - repose sur la répétition d'un cycle de développement très court: le développeur écrit d'abord un scénario de test automatisé défaillant qui définit une amélioration souhaitée ou une nouvelle fonction, produit ensuite du code permettant de réussir ce test et, finalement, reformule le nouveau code selon des normes acceptables.
Codage cowboy
Développement pur, libre, non structuré, non géré. Cela peut être utile pour les petits projets de loisir ne disposant pas de délai ni d'objectif précis, mais ne fonctionnant probablement pas dans une entreprise.
la source
Le modèle en spirale
Le modèle en spirale est un processus de développement logiciel combinant des éléments de conception et de prototypage par étapes, dans le but de combiner les avantages des concepts descendants et ascendants. Également appelé modèle de cycle de vie en spirale (ou développement en spirale), il s'agit d'une méthode de développement de systèmes (SDM) utilisée dans les technologies de l'information (TI). Ce modèle de développement combine les caractéristiques du modèle de prototypage et du modèle en cascade. Le modèle en spirale est destiné aux grands projets coûteux et compliqués.
- Wikipedia
la source
Plan
Asseyez-vous avec le client (ou l'utilisateur final) et concevez une série de cas d'utilisation.
Conception
Disposez le système sur du papier / tableau blanc au-dessus de quelques bières et pizzas. Snicker quand quelque chose a l'air phallique.
Confirmer
Confirmez la conception avec le client (ou l'utilisateur final) et gelez les exigences.
Code
Auto-explicatif.
la source
Cet argument de la cascade a été utilisé pendant un certain temps et utilisé par les leaders d'opinion agiles dès le début. Eux aussi ont rencontré la "réalité" de la cascade comme une "alerte rouge".
Lorsque vous commencez à travailler sur un projet de développement logiciel, vous constaterez rapidement que la méthodologie de développement utilisée aura un rôle majeur à jouer dans la rapidité et la qualité du code développé. et les inconvénients de l’agilité, vous permettant ainsi de déterminer s’il s’agit de la solution la mieux adaptée aux résultats attendus de votre projet.
Le développement logiciel agile est un cadre conceptuel pour la réalisation de projets de génie logiciel. La plupart des méthodes agiles tentent de minimiser les risques en développant des logiciels dans des boîtes de temps courtes, appelées itérations, qui durent généralement de une à quatre semaines. Chaque itération est semblable à un projet logiciel miniature et comprend toutes les tâches nécessaires à la publication de la mini-incrémentation de nouvelles fonctionnalités: planification, analyse des exigences, conception, codage, tests et documentation.
C'est un bon processus pour l'entreprise car il inclut le client dans le processus de développement et le rend responsable de la livraison du produit. De l’autre côté, les clients sont contents car ils se retrouvent eux-mêmes impliqués dans le développement du produit.
Démérites pour Agile:
Bien pour une méthodologie intéressante qui pourrait fonctionner comme une alternative pour AGILE peut être mieux vu sous ces 3 liens:
Kanban comme implémentation alternative agile
Développement de logiciels Kanban
Développement de logiciels allégés sur le cloud
la source