vendredi 23 mai 2008

AGILITE ET CMMi

Peut-on concilier Agilité et CMMi? Est-ce schizophrène? Voici un petit article sur le sujet.

vendredi 16 mai 2008

LEAN SOFTWARE STRATEGIES, Peter Middleton et James Sutton

J'ai honte, mais je n'ai pas réussi à finir ce livre ... Cela m'arrive très rarement.
Ce n'est pas les 400 et quelques pages qui ont eu raison de moi, mais le style et la manière de traiter le sujet.

A mon goût, le style manque de fluidité et de simplicité. C'est peut-être un objectif ambitieux pour un livre sur le développement logiciel, mais certains auteurs y arrivent très bien - comme Martin Fowler, Kent Beck, Andy Hunt ou Mary Poppendieck.

Enfin, j'ai trouvé la démarche trop théorique et analytique. Il manquait le pragmatisme pourtant si cher aux américains.

Néanmoins, j'ai appris plusieurs choses très utiles:
  • Le livre décrit très clairement les 5 piliers du Lean (value, value stream, flow, pull & perfection);
  • Les caractéristiques des modèles industriels de l'artisanat, de la production de masse et du Lean sont décrites et comparées.
  • La démarche d'amélioration continue du CMMi est comparée à celle du Lean. Cette partie m'a beaucoup intéressé car elle a mis des mots sur des choses que je ressentais (suite à un audit CMMi), mais que je n'arrivais pas à formaliser. J'écrirai un billet sur cette comparaison.
Bref, si vous souhaitez lire sur la transposition du Lean au développement logiciel, je vous conseille plutôt les 2 très bons livres de Tom et Mary Poppendieck:

jeudi 15 mai 2008

XP Days Paris 2008: Agilité et Avionique

Aux XP Days 2008 à Paris, j'ai eu le plaisir de présenter une conférence sur le thème "agilité et avionique".

Mon objectif était de faire réfléchir les auditeurs sur la question suivante: "Etes-vous prêts à confier votre vie à un logiciel développé par des praticiens de l'eXtreme-Programming?".

Sur la photo, on me voit en 4ème position à partir de la gauche. C'est le moment où le maître de conférence accorde une minute à chaque orateur pour présenter son sujet.

La présentation et l'article ayant servi à la conférence sont disponibles ici.

lundi 12 mai 2008

SCRUM ILLUSTRE

Voici un petit article pour découvrir Scrum en dessins.

SCRUM: Team, ScrumMaster & Product Owner

L'Equipe est composée de tous les profils nécessaires à la réussite du projet. Elle est responsable d'implémenter les fonctionnalités du produit, de résoudre les problèmes techniques et de s'organiser.

Le Product Owner est le responsable du produit à développer. Il représente le client et les utilisateurs. Il définit les fonctionnalités du produit et l'ordre dans lesquelles elles seront développées. Il est disponible pour répondre aux questions de l'Equipe.

Le ScrumMaster est responsable de l'application de la méthode Scrum. Il doit protéger l'Equipe des perturbations externes et doit supprimer tous les obstacles non-techniques qui gênent l'Equipe.

SCRUM: Practices

Scrum définit un jeu de pratiques.

SCRUM: Product Backlog

Le Product Owner est responsable de l'entretien du Product Backlog.
Il s'agit de la liste des fonctionnalités du produit à développer.
Le Product Owner attribue une priorité à chaque exigence de la liste.

SCRUM: Sprint Planning Meeting

Lors de la réunion de planification de la prochaine itération, ou Sprint Planning Meeting, l'Equipe estime le contenu du Product Backlog.

SCRUM: Sprint Planning Meeting & Sprint Backlog

En se basant sur les estimations de l'équipe, le Product Owner identifie le contour à développer lors de la prochaine itération parmi les fonctionnalités les plus prioritaires du Product Backlog.
Le contour opérationnel réalisable lors de l'itération est transformé par l'équipe en tâches estimées dans le Sprint Backlog.

SCRUM: Sprint

Le Sprint est une itération de trente jours calendaires pendant laquelle l'Equipe s'engage à implémenter l'incrément utilisable de produit défini par le Sprint Backlog.

SCRUM: Daily Scrum Meeting

Le Daily Scrum Meeting est une courte réunion quotidienne à laquelle participent l'Equipe et le ScrumMaster. A tour de rôle, chaque membre de l'Equipe répond à trois questions:
« Qu'ai-je accompli depuis la dernière réunion? »
« Qu'est-ce que je m'engage à accomplir aujourd'hui? »
« Quels obstacles m'empêchent de tenir mes engagements? »
Les engagements pris pour la journée doivent concerner les tâches les plus prioritaires du Sprint Backlog.

SCRUM: Sprint Review Meeting

A la fin d'un Sprint, le Product Owner, le ScrumMaster et l'Equipe mènent la réunion de fin de Sprint, ou Sprint Review Meeting.
L'Equipe présente au Product Owner l'incrément utilisable de produit réalisé lors de l'itération.
Celui-ci doit alors faire part à l'Equipe de ses remarques.

SCRUM: Sprint Retrospective Meeting

Lors du Sprint Retrospective Meeting, l'Equipe cherche à s'organiser pour améliorer son efficacité pour la prochaine itération.

SCRUM: BurnDown

L'avancement est mesuré à l'aide du Product Burndown Graph et du Sprint Burndown Graph. L'estimation du restant à faire est tracée en ordonnée pour la complétion du produit et du Sprint (respectivement). Le temps est représenté en abscisse en Sprints et jours (respectivement).


mercredi 7 mai 2008

EXTREME-PROGRAMMING, 2EME EDITION

Dans le numéro actuellement en kiosque du mensuel [Pro]grammez, vous trouvez le deuxième article que j'ai écrit pour eux. Il porte sur la deuxième édition de l'eXtreme-programming.
Coup de chance, ce numéro est sorti peu avant les conférences XP Day France 2008.
Malheureusement, l'article finit sur une note un peu négative: la note positive de la fin a été coupée à l'édition...

L'article non coupé est accessible ici.

Adapter le vocabulaire à l'auditeur

Pourquoi changer un truc qui "marche"?

TDD avec simulâcre d'OS temps-réel

Penser et/ou faire?

Réelle implication du client?

TDD avec simulâcre de HW

Trouver le niveau de formalisme requis

Traçabilité et couverture

Equipe complète?

Cycles TDD pour l'embarqué

Cycles de développement pour application embarquée

Contrat à contour variable

Code et tests? ... pas toujours ...

Ne pas brusquer le client ...

Deux styles d'équipe