Il y a des défis et des questions qui nous sont souvent posées. Peu importe si votre service se rapporte du côté “affaires” ou du côté “technologie” au sein de votre organisation, vous faites probablement face à certains de ces défis vous-mêmes et vous n’êtes pas sûr de ce qu’il faut faire. Si les afirmations qui suivent vous semblent familières, je vous invite à poursuivre votre lecture.
- Mon équipe manque constamment ses délais de livraison.
- L’équipe de projet dépasse constamment son budget d’opérations.
- Les livrables de mon équipe de projet ne rencontrent pas les besoins des utilisateurs.
- Les utilisateurs ne savent pas ce qu’ils veulent.
- Les besoins évoluent constamment et ceci impact notre plan projet.
- L’équipe de projet développe des composants logiciels qui ne semblent pas avoir de valeur pour l’entreprise et elle semble produire plus de papier que logiciel.
- Mon équipe développe des logiciels qui ne correspondent pas au besoin de mes utilisateurs.
- L’équipe de projet trouve habituellement des problèmes dans le processus de développement avec beaucoup de retard.
- L’équipe de projet n’a pas les compétences requises.
- L’équipe de projet est fatigué, personne ne s’amuse et nous avons perdu plusieurs bonnes ressources.
- J’ai besoin d’attendre longtemps avant que l’équipe de projet me fournisse l’information dont j’ai besoin.
- Nous savons que nous avons des problèmes mais nous ne savons pas par où commencer.
- Nous avons besoin d’externaliser ou d’impartir nos activités de développement logiciels afin de réduire nos coûts d’exploitation.
- L’équipe de projet livre du logiciel de mauvaise qualité.
- Nous avons commencé à utiliser Agile pour un petit projet et notre équipe de direction souhaite que toute l’organisation passe à l’agilité.
Les principes Agiles peuvent s’appliquer à votre projet d’entrepôt de données et d’intelligence d’affaires, mais il est essentiel de déterminer a priori quels problèmes vous tentez de résoudre afin d’appliquer la bonne solution. Nous vous présentons une liste de questions fréquemment demandées et vous offrons des solutions possibles pour chacune d’elles.
Défi: Mon équipe manque constamment ses délais de livraison.
Solution: L’utilisation de l’approche de gestion de projet Scrum pourrait vous aider à anticiper les retards et à adresser ceux-ci en temps opportun. De plus, l’utilisation fréquente de communication face-à-face plutôt que les communications par l’intermédiaire d’un plan de projet augmentera sensiblement la productivité de votre équipe, la performance de membres de l’équipe de projet et le respect des échéanciers tel que définis.
Défi: L’équipe de projet dépasse constamment son budget d’opérations.
Solution: La situation pourrait être pire que vous ne le pensez puisqu’une partie de votre budget peut-être dépensée inutilement en développant des fonctionalités qui ne seront pas utilisées. L’approche traditionnelle qui favorise une planification à long terme se traduit souvent par des écarts élevés entre le budget estimé et les coûts réels alors que l’utilisation d’une approche de livraison des logiciels par courtes itérations (jusqu’à 4 semaines) vous permettra de mieux contrôler vos coûts tout en vous assurant d’atteindre les résultats escomptés.
Défi: Les livrables de mon équipe de projet ne rencontrent pas les besoins des utilisateurs.
Solution: Cela pourrait cacher deux problèmes différents soit les exigences ne sont pas bien définies par les utilisateurs ou les exigences ne sont pas bien comprises par l’équipe de projet. Dans les deux cas, une étroite collaboration entre les utilisateurs et l’équipe de développement permettrait d’accroître sensiblement les chances de livrer le bon logiciel. De plus, la situation pourrait être renversée en mettant en œuvre les processus qui permettent de recevoir les demandes de changements au cours de la phase de développement et ainsi de s’adapter à l’évolution des besoins de l’entreprise.
Défi: Les utilisateurs ne savent pas ce qu’ils veulent.
Solution: Ce n’est pas forcément un problème avec vos utilisateurs. Avec l’utilisation d’une approche développement traditionnelle, les utilisateurs sont typiquement rencontrés au début du projet pour exprimer besoins et éventuellement ne voient les résultats que plusieurs mois ou années plus tard lorsque le logiciel final est livré. Avec une approche Agile, les utilisateurs sont invités à définir leurs besoins à court terme (pour les 4 prochaines semaines) au lieu de définir l’ensemble de leurs besoins pour le projet en entier ce qui permet à l’équipe de projet de mieux comprendre les besoins réels et de rencontrer les objectifs fixés.
Défi: Les besoins évoluent constamment et ceci impact notre plan projet.
Solution: En effet, si vous utilisez une méthode traditionnelle de développement de logiciels, il est difficile de vous adapter aux demandes de changements résultant de l’évolution de la dynamique de votre secteur d’activités. Avec une approche Agile, votre équipe ne sera pas seulement en mesure d’apprendre à faire face aux demandes de changements mais elle sera même receptive aux changements et sera en mesure de s’y adapter.
Défi: L’équipe de projet développe des composants logiciels qui ne semblent pas avoir de valeur pour l’entreprise et elle semble produire plus de papier que logiciel.
Solution: Pourquoi en est-ce ainsi? Le but de votre équipe de développement devrait être de livrer de la valeur à l’organisation, soit du logiciel. Si, une grande partie du temps, de l’effort et des énergies de votre équipe de développement sont consacrés à travailler sur des documents (plans de projet, exigences, architecture, modèles, etc.) au lieu de travailler sur la livraison de logiciels, vous avez probablement besoin de reconsidérer la démarche de développement logiciel que vous utilisez. L’utilisation d’une approche pragmatique et réaliste, comme agile pour votre processus de développement logiciel traitera les problèmes les plus graves généralement rencontrées par votre équipe de développement et accroîtra votre retour sur investissement.
Défi: Mon équipe développe des logiciels qui ne correspondent pas au besoin de mes utilisateurs.
Solution: Satisfaire les besoins de vos utilisateurs est essentiel pour une équipe de développement logiciel agile et l’application de pratiques bien définies aidera énormément. L’intégration des utilisateurs dans le cadre des activités de l’équipe de développement est une excellente façon pour les utilisateurs d’exprimer leurs besoins et ceux-ci seront beaucoup mieux compris et pris en compte.
Défi: L’équipe de projet trouve habituellement des problèmes dans le processus de développement avec beaucoup de retard.
Solution: Il est fréquemment reconnu que plus les problèmes sont trouvés tards dans le cycle de développement, plus ils deviennent coûteux à corriger. Sur la base de cette conclusion, la mise en œuvre d’une approche de développement Agile de logiciels forces l’équipe à présenter fréquemment les résultats de leur travail à leurs utilisateurs afin de démontrer la qualité du logiciel avant que les coûts continuent d’augmenter.
Défi: L’équipe de projet n’a pas les compétences requises.
Solution: Bien que ce soit possible, il est peu probable que vos ressources ne soient pas qualifiées pour votre projet. Votre équipe a peut-être besoin d’accompagnement autour de certaines pratiques de génie logiciel. Les membres de l’équipe pourront ainsi améliorer leurs compétences de développement et rencontrer vos exigences.
Défi: L’équipe de projet est fatiguée, personne ne s’amuse et nous avons perdu plusieurs bonnes ressources.
Solution: Il a souvent été démontré que des employés motivés fournissent de meilleurs résultats. Si vous souhaitez que votre projet et votre équipe réussissent, créer un environnement où les gens peuvent apprendre et sentent qu’ils contribuent à la réussite de l’organisation.
Défi: J’ai besoin d’attendre longtemps avant que l’équipe de projet me fournisse l’information dont j’ai besoin.
Solution: Vous utilisez probablement une approche traditionnelle en cascade où l’équipe de développement demande les exigences des utilisateurs, débute le développement et teste ensuite les requêtes et les rapports et une fois que l’équipe de développement se sent à l’aise avec les résultats, ceux-ci sont finalement présentés aux utilisateurs. En incluant les utilisateurs au sein de l’équipe de projet et en favorisant l’utilisation d’un cycle de développement incrémental, vous pouvez voir progresser rapidement vos demandes et pouver ainsi influencer la quantité de détails requis.
Défi: Nous savons que nous avons des problèmes mais nous ne savons pas par où commencer.
Solution: Un diagnostic vous permettrait d’identifier rapidement vos opportunités d’amélioration. De plus, il a été démontré qu’une approche flexible permet d’améliorer les communications au sein de l’équipe de développement et avec les utilisateurs permettant ainsi d’identifier clairement et rapidement les situations problématiques à régler.
Défi: Nous avons besoin d’externaliser ou d’impartir nos activités de développement logiciels afin de réduire nos coûts d’exploitation.
Pas nécessairement, une meilleure approche de développement logiciel peut vous aider à réduire vos coûts. Le Standish Group Study (Rapporté au XP2002 par Jim Johnson) a montré que jusqu’à 64% des fonctionnalités logicielles ne sont jamais utilisées. Ainsi, l’utilisation d’une approche agile pour développer vos logiciels réduira immédiatement vos coûts globaux de développement.
Défi: L’équipe de projet livre du logiciel de mauvaise qualité.
Solution: En plus de modifier votre façon de développer des logiciels, il serait avantageux d’utiliser de courts cycles de développement et la démonstration fréquente des résultats afin de gagner en visibilité sur le logiciel et régler les problèmes en temps opportun. Vous pourriez décider d’utiliser le développement généré par les essais (test-driven development ou TDD) ou la programmation en binôme pour de meilleurs résultats.
Défi: Nous avons commencé à utiliser Agile pour un petit projet et notre équipe de direction souhaite que toute l’organisation passe à l’agilité.
Solution: Merveilleux. Maintenant que vous avez pu constater les avantages de l’agilité dans votre organisation il serait pertinent que vous obteniez de l’accompagement et des conseils pour vous aider à déployer la nouvelle approche dans le reste de votre organisation. Nous pouvons vous aider.