quels enjeux

Post on 02-Jan-2016

43 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Processus de développement et nouvelles technologies Didier Girard Improve Didier.Girard@improve.fr. Quels enjeux. Les Nouvelles Technologies sont utilisées sur tous types de projets Applications B2E, B2B, B2C Produits Client-Serveur. Quels enjeux. Quelles technologies XML - PowerPoint PPT Presentation

TRANSCRIPT

Club Java

Processus de développement

et nouvelles technologies

Didier GirardImprove

Didier.Girard@improve.fr

Club Java

Quels enjeux

• Les Nouvelles Technologies sont utilisées sur tous types de projets– Applications

• B2E,

• B2B,

• B2C

– Produits

– Client-Serveur

Club Java

Quels enjeux

• Quelles technologies– XML – J2EE, .Net, Linux/Apache/MySQL/PHP– HTML, JavaScript– SOAP, CORBA, DCOM– Multi-threading

• Avec des exigences fortes– Robustesse– Sécurité– Évolutivité

• Sur des architectures variées– Architecture N tiers– Fat / Thin Client– Du PC au Terminaux mobiles

Club Java

Quels enjeux

Besoins

Réalisation

Production

Évolutions

Projet

Club Java

Quels enjeux

Besoins

Réalisation

Production

Évolutions

Projet Nouvelles Technologies Technologies

Club Java

Quels enjeux

Besoins

Réalisation

Production

Évolutions

Technologies

Nouvelles

nouvelle infrastructure,formation,

nouvelle méthode, prototypage,formation,

maquettes

Projet Nouvelles Technologies

Club Java

Quels enjeux

Besoins

Réalisation

Production

Évolutions

Projet Nouvelles Technologies Technologies

Nouvelles

, briser les rêves

modéliser,

prospection technologiquenombreux intervenants,

robustesse, sécurité

Nouvelles

nouvelle infrastructure,formation,

nouvelle méthode, prototypage,formation,

maquettes

transfert de compétences

Club Java

Les enjeux

• Il est nécessaire d’adapter son processus de développement pour répondre à ces enjeux technologiques

Club Java

Adapter son processus de développement

Phase projet Spécifications

Phase projet Conception

Phase projet Réalisation

Chef de projet Utilisateur

Spécificateur Analyste - Concepteur

Analyse des besoins

Rédaction des spécifications

générales

Rédaction des spécifications

détaillées

validation

ok

ko

validation

ok

ko

Cahier des charges

Spécifications

Analyse - Conception

Club Java

Processus en cascade

• Processus en cascade– Propose de dérouler les phases projet de façon séquentielle– Cité pour des raisons historiques

• Points forts– Distingue clairement les phases projet

• Points faibles– Non itératif– Ne propose pas de modèles de documents

Analyse

Conception

Programmation

Test

Maintenance

Club Java

RUP

• RUP– Promu par Rational

– Le RUP est à la fois une méthodologie et un outil prêt à l’emploi (documents types partagés dans un référentiel Web)

– Cible des projets de plus de 10 personnes

Analyse des besoins

Élaboration Construction TransitionProcessus projetProcessus organisationnelsSpécificationsAnalyse & ConceptionImplémentationTestsDéploiementSupport du projetConfigurationGestion du projetEnvironnement

Phases

Itérations

ItérationPréliminaire

Iter.#1

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Club Java

RUP

• RUP– Promu par Rational– Le RUP est à la fois une méthodologie et un outil prêt à l’emploi

(documents types partagés dans un référentiel Web)– Cible des projets de plus de 10 personnes

• Points forts– Itératif– Spécifie le dialogue entre les différents intervenants du projet :

les livrables, les plannings, les prototypes…– Propose des modèles de documents, et des canevas pour des

projets types

• Points faibles– Coûteux à personnaliser : batterie de consultants– Très axé processus, au détriment du développement : peu de

place pour le code et la technologie

Club Java

XP

• XP– Ensemble de « Bests Practices » de développement

(travail en équipes, transfert de compétences…)

– Cible des projets de moins de 10 personnes

Club Java

XP

• XP– Ensemble de « Bests Practices » de développement (travail en équipes,

transfert de compétences…)

– Cible des projets de moins de 10 personnes

• Points forts– Itératif

– Simple à mettre en œuvre

– Fait une large place aux aspects techniques : prototypes, règles de développement, tests…

– Innovant: programmation en duo, kick-off matinal debout …

• Points faibles– Ne couvre pas les phases en amont et en aval au développement : capture

des besoins, support, maintenance, tests d’intégration…

– Élude la phase d’analyse, si bien qu’on peut dépenser son énergie à faire et défaire

– Assez flou dans sa mise en œuvre: quels intervenants, quels livrables ?

Club Java

2TUP

• 2TUP– S’articule autour de l’architecture

– Propose un cycle de développement en Y

– Détaillé dans « UML en action »

– Cible des projets de toutes tailles

Club Java

2TUP

• 2TUP– S’articule autour de l’architecture– Propose un cycle de développement en Y– Détaillé dans « UML en action »– Cible des projets de toutes tailles

• Points forts– Itératif– Fait une large place à la technologie et à la gestion du risque– Définit les profils des intervenants, les livrables, les plannings, les

prototypes

• Points faibles– Plutôt superficiel sur les phases situées en amont et en aval du

développement : capture des besoins, support, maintenance, gestion du changement…

– Ne propose pas de documents types

Club Java

Open Source

• http://www.samoore.com/teach/cis320/fall2000/documents/open-source-decision.jpg

Club Java

Open Source

• L’open source fait référence à tout programme dont les sources sont disponibles pour modification par les utilisateurs.

• L’idée de base est simple :– quand les programmeur sur internet peuvent lire,

redistribuer et modifier le source, il évolue dans le bon sens.

– Les développeurs améliorent, adaptent et corrigent.

Club Java

Open Source et XP

• Les quatre valeurs :– communication, principe de base de l’open

source

– simplicité, gage de réussite d’un projet open source, le code complique n’est pas relu

– feedback, principe de base

– courage, travailler pour la reconnaissance est un gage de courage.

Club Java

Open Source et XP

• Conception Simple• Remaniement• Tests• Refactoring• Pair Programming• Responsabilité collective du code• Règle de codage• Métaphore• Intégration continue• Livraison fréquentes• Planification itérative• Client sur site • 40 Heures par semaine

Club Java

Adapter son processus de développement

• Travailler de façon itérative et incrémentale– Que ce soit au niveau des plannings, des spécifications, ou

des développements…

• L’itératif permet une gestion efficace des risques,– Aborder dès les premières itérations, les points difficiles

– Par exemple, les premières itérations de la phase technique aborderont les aspects sécurité et transaction.

• L’itératif permet de présenter rapidement des éléments de validation aux utilisateurs– Réaliser des prototypes de validation

Club Java

Résumé

• Les processus peuvent se compléter plus qu’ils n’entrent en concurrence

Analyse des besoins

Élaboration Construction TransitionProcessus projetProcessus organisationnelsSpécificationsAnalyse & ConceptionImplémentationTestsDéploiementSupport du projetConfigurationGestion du projetEnvironnement

Phases

Itérations

ItérationPréliminaire

Iter.#1

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

RUP

2TUP

XP

Club Java

Conclusion

• Ne passez pas des mois à définir votre méthodologie de développement !

• Prenez connaissance des processus les plus utilisés pour en intégrer un ou plusieurs à votre méthodologie de projet.

• Exemple– Les valeurs d’XP et quelques règles (communication,

simplicité, feedback et énergie)

– Les documents types du RUP et leur enchaînement

– La branche technique du 2TUP

– Des prototypes marquant la fin d’une itération

top related