mercredi 26 novembre 2008

Fusionner une installation de TFS 2008 avec son SP1

Comment pouvons nous installer un TFS 2008 avec le SP1 surtout dans une configuration Windows Server 2008 & SQL Server 2008.

J'ai fait une petite vidéo simple permettant de le faire rapidement.

Fusion de TFS2008 avec le SP1


vendredi 14 novembre 2008

Team-Building ou comment construire son équipe

Gérer son équipe peut devenir très rapidement source de conflits et d'incompréhension. Connaitre le problème de ce mal être n'est pas évident et bien entendu le projet en ressent directement les effets. Dans un cas comme celui-ci il faut absolument stopper le projet afin de rétablir la communication et arrivé à une solution. Je parlerais plus longuement des pratiques possibles dans ce cas de figure dans un prochain post. Avant d'arriver à ce stade critique il faut mettre en pratique le Team-Building qui est tout simplement comme sa traduction l'indique, la "construction de l'équipe".



C'est simple me diriez vous, ou au contraire que ce n'est pas évident car je n'ai que deux ou trois développeurs. Effectivement c'est simple et compliqué à la foi. Simple si nous connaissons notre équipe et quelle se connaisse elle même. Compliqué également car les hommes ne sont pas tous fais pour travailler ensemble et j'ai pu m'en apercevoir il y a encore peut de temps.
C'est là qu'intervient "Team-Building", la définition que nous pouvons trouver sur WikiPedia est la suivante :

"Un team building est un processus permettant de développer des valeurs collectives au sein d’une entreprise, comme la cohésion, l’interdépendance, ou l’implication. Grâce à des activités à caractère évènementiel, souvent de nature collective et interactive, les participants cultivent leurs facultés à travailler en équipe."

Pour construire son équipe il faut :

Observer : Chaque individu réagit différemment aux divers étapes du projet. Stress, angoisse, panique, soulagement ... Observer son équipe c'est pouvoir identifier le caractère de chaque membres.

Construire/Assembler : Chaque compétences, trait de caractère (Compétence/Incompétence, Stress compétitif/Stress pathologique, Communicatif/Renfermé ...) sont autant d'éléments à prendre en compte. Il faut faire avec, chaque personne reste une personne unique. Tisser ces compétences pour les rendre complémentaires. Par exemple, une personne incompétente (Débutant, changement de technologie...) doit pouvoir devenir compétent mais surtout pas en l'isolant mais en l'intégrant dans l'équipe.

Produire/Performance : La performance peut être sujet à discussion mais dans ce cas, j'emplois ce mot dans le sens de l'aboutissement d'une action. Sur le site "EducInfo" la définition donnée ce rapproche du sens que je souhaite utiliser pour ce mot:

"Ce terme désigne l’atteinte des objectifs de l’administration dans la réalisation d’un programme. La performance est définie selon trois critères :
l’impact ou le résultat final de l’action publique (efficacité) ;
l’amélioration du rapport entre les moyens consommés et la réalisation (efficience) ;
• la qualité du service apporté à l’étranger
."

Votre équipe doit pouvoir produit un projet en y mettant une certaine performance. Chaque membre de l'équipe doit pouvoir contribuer à une partie de la réussite du projet. Être performant c'est COMMENCER une tâche, FAIRE cette tâche et surtout FINIR cette tache.

Pour illustrer le Team-Building voici une fable:

Le Lion dans sa tête avoit une entreprise.
Il tint conseil de guerre, envoya ses prévots,
Fit avertir les animaux ;
Tous furent du dessein,
chacun selon sa guise :
L’éléphant devoit sur son dos
Porter l’attirail nécessaire,
Et combattre à son ordinaire ;
L’ours, s’apprêter pour les assauts ;
Le renard, ménager de secrètes pratiques ;
Et le singe, amuser l’ennemi par ses tours.
Renvoyez, dit quelqu’un, les ânes qui sont lourds,
Et les lièvres, sujets à des terreurs paniques.
Point du tout, dit le roi, je les veux employer :
Notre troupe sans eux ne seroit pas complète.
L’âne effraîra les gens, nous servant de trompette ;
Et le lièvre pourra nous servir de courrier.
Le monarque prudent et sage
De ses moindres sujets sait tirer quelque usage,
Et connoît les divers talents.
Il n’est rien d’inutile aux personnes de sens.
Jean de La Fontaine, Fable XIX, Livre V.

WikiSource

vendredi 7 novembre 2008

La méthode "Café".

Qu'est ce que la méthode "Café" ?
Aujourd'hui nous voyons apparaitre dans le décor de multitude méthodologie dite AGILE ou CLASSIQUE. Il faut bien comprendre que la meilleure méthode n'est pas décrite dans un livre ou sur un site web quellque soit sa réputation.

Dans la plupart des méthodologies nous parlent d'équipe, de collaboration.
Que signifient ces termes ? Collaboration ? Equipe ?
Pas si simple de mettre en place une définition exacte pouvant s'appliquer au cœur de métier qui est le votre:


Les dictionnaires nous disent :
Equipe : Une équipe est un groupe d'individus partenaires dans un but commun.
Collaboration : Travail où les artistes participants se partagent de façon égale les tâches liées à la recherche artistique et à la création


La collaboration est à mon sens une discution avant tout. Nous pouvons mettre les meilleurs outils en place, définir des réunions à des heures précises ou non, s'assurer de la présence des personnes, centraliser les documents...
Mais pour ma part la collaboration est avant tout basé sur la communication (je ne parle pas de Skype, MSN ...) mais de ce voir, de parler.
L'équipe maintenant ce n'est pas un ordinateur (non je vous promets qu'il ne fait pas parti de votre équipe, bien que vous ayez des sentiments pour lui ça ne reste qu'une machine). L'équipe c'est votre voisin, votre chef de projet ou vos développeurs. C'est aussi le Directeur technique mais également le service commercial, l'équipe c'est toutes les personnes permettant de vous sentir HUMAIN.
En reprenant ces deux éléments fondamentaux d'un projet, nous pouvons définir que l'élément permettant de faire le lien est la communication. Alors pourquoi ne pas prendre le temps de boire un café, d'échanger, de dialoguer. Lors de pause café c'est le meilleur moment de connaitre l'état moral ou/et de santé de votre équipe. D'accord vous êtes le chef de projet, mais vous n'êtes qu'une partie de l'équipe. Ce sont vos développeurs qui permettront au projet d'arrivé à bon port.
La méthode "Café" à un seul fondement (concept) prenez un bon café avec votre équipe afin d'améliorer la communication pour connaitre l'état de santé de votre projet.

Pour la petite histoire, ce post est fait depuis un petit café rue du fourbourg des poissonière ;)

dimanche 2 novembre 2008

[VSTS]Déployer des fichiers, dll ... avec les Tests

Bonjour à toutes et à tous

il arrive qu'il soit nécéssaire de déployer des fichiers lors des tests . Un test unitaire c'est rarement pour un méthode du style :

public double Multiplication(double x, double y)
{
return y * x;
}

Les méthodes utilisées dans la plupart des développements sont complexes, dans un développement que j'ai vu, il a fallut pour le bon déroulement, déployer des fichiers XML dans le répertoire des tests.

Il faut savoir que l'exécution de ces tests créée un répertoire spécifique avec deux répertoires (IN et OUT)

Pour pouvoir déployer ces fichiers XML il faut aller dans les propriétés du test



Puis la propriété "Déployment Items":


C'est dans cette fenêtre qu'il va être possible d'indiquer tous les fichiers qui doivent être déployer. Lors de la génération du test les fichiers seront déployés comme l'indique l'image suivante:

Le fichier "mapping.eum.xml" ce trouve bien dans le répertoire de mon test.

Il est également possible de l'ajouter dans les attributs du test unitaire:

-------------------------------------------------------------------------

[DeploymentItem("mapping.eum.xml"), TestMethod()]

public void SimpleTest()

{

using (IRepository rep = new ServiceBase().GetRepository())

{

Parameter p = new Parameter();

p.Package = "F1";

p.Name = "test1";

p.ValueType = "Int32";

p.Value = "4";

rep.Add<Parameter>(p);

rep.Complete();

}

}

--------------------------------------------------------------------------


Bon test ;)