Archives pour juin 2010

JIRA & Confluence Dos and Don’ts

La montée de version d’une instance JIRA ou Confluence n’est jamais à prendre à la légère. Voici quelques éléments qui vous permettront d’éviter qu’elle ne tourne au cauchemar.

Avant toute chose, il est impératif de sauvegarder à la fois le système de fichiers applicatif, le répertoire data et la base de données.

Il également vivement conseillé de prendre connaissance des release et upgrade notes avant d’envisager toute montée de version.

Créez-vous une checklist pour valider la montée de version. Cela vous réduira le risque d’un oubli. Le suivi des modifications effectuées sur l’instance vous permettra de facilité la construction de cette checklist.

La montée de version régulière des produits permet de lisser l’effort à fournir. L’implication des utilisateurs clés dans le processus de test permet également de valider l’alignement des attentes des utilisateurs avec les nouvelles fonctionnalités.

Ce qui fonctionne pour JIRA ne fonctionne pas forcément pour Confluence et inversement, il faut donc éviter tout  raccourci allant dans ce sens.

Enfin, pensez à couper les systèmes de notifications pour vos tests. Utilisez pour cela le fichier bin/setenv.sh de cette manière :

JAVA_OPTS= »
-Datlassian.mail.senddisabled=true
-Datlassian.mail.fetchdisabled=true
-Datlassian.mail.popdisabled=true
$JAVA_OPTS »

export JAVA_OPTS

Tips via Twitter for JIRA issue tracker Tips via Twitter for Confluence enterprise wiki

La future version de JIRA (4.2)

Le prochaine version de JIRA comblera enfin quelques un des manques importants remontés par nos clients. Au menu aussi, une navigabilité améliorée pour gérer ses issues, notamment depuis l’issue navigator:

  • Time tracking accessible depuis une transition (ex: Transition Resolve).  Enfin de la valeur fonctionnelle pour les users JIRA !
  • Possibilité d’éditer l’original Estimate même si il y a déjà du worklog saisi,
  • Possibilité de mettre le remaining estimate à zero même sans saisie de worklog !
  • Plugin Label packagé par défaut
  • Menu accessible par raccourcis claviers
  • Utilisation de Popup plutôt que le changement page pour certaines opérations (ex: assign, edit, …), que ce soit depuis l’issue ou l’issue navigator. Cela permet un grande rapidité pour les opération courantes !
  • Le contenu des pièces attachées en zip est affichable
  • La GUI de l’issue navigator est maintenant similaire à celle des Issues
  • Possibilité d’avoir des filtres différents dans différents onglets du navigateur !
  • User Avatar
  • Possibilité d’ajouter un gadget « Filter » depuis l’issue navigator

Les détails ici: http://confluence.atlassian.com/display/JIRA/JIRA+4.2+EAP+1+Release+Notes
La version 4.2 est disponible en EAP

Monster builds

On parle ici de builds comme celui de JIRA, qui, avant que des mesures d’amélioration ne soient prises, prenait entre 30 et 60 heures à s’exécuter. Dans un cas comme celui-ci, la perte de vélocité de l’équipe de développement qu’entraîne le temps de build est souvent la principale raison pour chercher des pistes d’amélioration.

1. Optimisation

La première chose à faire est d’optimiser le build en capturant le « profil » de celui-ci. On analyse le processus de build pour savoir où celui-ci passe le plus de temps. Il est alors possible d’optimiser le build pour lui éviter les opérations inutiles ou des goulots d’étranglement. Pour Ant, un outil est disponible à l’adresse https://antutility.dev.java.net/.

2. Compatibilité

Un moyen très simple de réduire le temps d’un build est de réduire la taille de la matrice de compatibilité du projet. On entend par « matrice de compatibilité », un matrice contenant les combinaisons possible de configuration supportée pour le navigateur, le JDK, la base de données… Celle-ci a impact direct sur le temps d’exécution d’un build, puisque le nombre de cas de tests est directement proportionnel à sa taille.

3. Planification

La bonne planification des builds est très importante. Elle doit se faire en fonction du temps d’exécution des builds. On planifiera par exemple une compilation chaque heure, l’exécution des tests unitaires deux fois par jour et des tests fonctionnels chaque nuit.

4. Parallélisme

Si le ratio <temps de test>/<temps de build> est important, il est intéressant de paralléliser les tests. Par exemple, si un projet comporte 45 cas différents dans sa matrice de compatibilité, on pourra diviser le build en 15 plans à exécutés en parallèle, qui compileront chacun l’application en entier mais n’effectueront que 3 cas de tests chacun.

Pour en savoir plus: http://www.atlassian.com/summit/2010/presentations/development-speed/monster-builds-how-to-tame-them.jsp

Intégration de Sonar et Hudson à JIRA

Il est désormais possible d’intégrer Sonar et Hudson à JIRA par des plugins dédiés, open source (licence BSD), qui sont développés par Marvelution. Marvelution, est un nouvel acteur du monde open source (http://www.marvelution.com/).

Rappelons qu’Hudson est un outil de surveillance de jobs. Les jobs peuvent être par exemple : compiler un projet logiciel complet, ou lancer des traitements planifiés par Cron. Mais avant tout, Hudson est spécialisé dans l’intégration continue.

Quant à Sonar, il s’agit d’une plateforme open source dont le but est de gérer la qualité du code. Sonar permet d’analyser le code source en langage JAVA (nativement) ainsi que dans d’autres langages à l’aide de plugins (commerciaux ou non).

Lire la suite de l’article

JIRA pour la gestion de projet

Les possibilités intrinsèques de JIRA permettent d’outiller de façon efficace les tâches de la gestion de projet.

La première utilisation de base est la gestion des actions du projet.

Les paramètres utiles mis en œuvre pour une gestion efficace des actions sont :

  • Le responsable
  • La priorité
  • La date de fin

Sur les gros projets les tâches peuvent être regroupées par chantier.

Les systèmes d’affectation et d’alertes permettent ainsi au chef de projet d’avoir un tableau de bord et un suivi particulièrement efficace des actions en cours.

JIRA

JIRA Navigateur de demandes

Une utilisation plus avancée est la gestion des risques.

Lire la suite de l’article