J'ai été chargé d'améliorer le processus de développement de logiciels grâce à la mise en œuvre d'améliorations de processus, dont nous utiliserons très probablement CMMI pour le développement, version 1.3 comme ligne directrice et adopter les meilleures pratiques en tout ou en partie. Quelle est la meilleure façon d'introduire des normes et des améliorations de processus afin que le degré de refoulement et de résistance des développeurs soit minimisé?
10
Réponses:
Il vous sera également utile de trouver toutes les personnes au sein de votre organisation qui sont vraiment préoccupées par la qualité. Il s'agit très probablement de la ressource la plus importante pour vous aider à promouvoir des changements et à établir des pratiques matures.
la source
Quelques réflexions de l'école des coups durs:
1) La plupart des initiatives d'amélioration des processus consacrent 80% de leur temps à la conception des processus et 20% à l'éducation et à la socialisation. Inversez ces pourcentages. Un standard médiocre qui est suivi bat un parfait qui ne l'est pas.
2) Identifiez les raisons claires pour lesquelles vous demandez aux gens de changer leur façon de travailler. Quel est le cas commercial? Idéalement, cela profite à chaque équipe individuellement. Parfois, ce n'est qu'une amélioration systémique. Dans tous les cas, rendez le boîtier visible.
3) Simplifiez, puis standardisez, et non l'inverse.
4) Vous ne pouvez pas entièrement déléguer cela à un PMO. Les gestionnaires directs doivent être achetés et le chef de l'unité commerciale devra rompre les liens lorsque des plaintes arrivent.
5) Trouvez des adopteurs précoces amicaux. Les gens se plaindront du temps que cela prendra. Vous avez besoin de quelqu'un vers qui vous pouvez pointer du doigt et dire: "ça ne leur a pris que 15 minutes"
6) Pour les métriques, insistez pour que le quantitatif soit le qualitatif. Sinon, vous avez des projets qui sont verts jusqu'à la veille de la mise en ligne, lorsque tout glisse d'un mois.
7) Mettez l'accent sur les techniques plutôt que sur les outils. Une bonne planification est plus importante que MS Project.
8) Mettre en place un niveau de processus par rapport aux besoins. Chaque restaurant a besoin d'un processus, mais Nobu et la French Laundry ont besoin d'un type différent de McDonalds. Même chose avec les éditeurs de logiciels.
Bonne chance!
la source
Baser vos efforts sur le CMMI est probablement une bonne idée, même si vous ne subissez pas les évaluations et ne vous faites pas auditer et noter officiellement. Il existe de nombreuses publications sur le CMMI , le CMMI et d'autres techniques d'amélioration des processus telles que Lean et Six Sigma , et CMMI et le développement de logiciels agiles . Le SEI dispose d'une collection complète de ressources , certaines disponibles gratuitement, sur différents aspects du CMMI et des conseils pour différents types d'organisations.
Je recommanderais de regarder en profondeur l'approche continue de la mise en œuvre de CMMI, plutôt que l'approche par étapes. Cela me semble être un moyen beaucoup plus efficace de déterminer exactement où en est votre organisation et de s'améliorer dans les domaines qui ajoutent le plus de valeur commerciale. Cela vous permettra non seulement d'aligner vos efforts d'amélioration avec les objectifs commerciaux, mais également de réaliser rapidement des étapes de progrès et de démontrer les effets de l'amélioration, en augmentant l'adhésion à tous les niveaux.
Cependant, il faut garder à l'esprit que l'amélioration des processus est généralement plus efficace lorsqu'il s'agit d'un effort de base. Lorsque les changements de processus sont dictés par le haut - par des gens que les développeurs "dans les tranchées" peuvent considérer comme déconnectés de la façon dont les choses se font dans les tranchées - il y aura probablement un refoulement, même si l'idée est bonne. Soyez prêt pour cela.
Un certain type de groupe de processus d'ingénierie pourrait également être bénéfique. Réunir des représentants des différentes composantes organisationnelles et des équipes impactées par l'amélioration afin que la voix de chacun soit entendue. Cela comprendrait non seulement des représentants de chaque rôle, mais peut-être diverses équipes de développement de produits. Sans savoir comment votre organisation est structurée, je ne peux pas dire exactement qui vous voudrez regarder, mais inclure des personnes de tous les niveaux de l'organisation dans le groupe. De plus, mettez les discussions et les décisions prises par ce groupe à la disposition de l'organisation pour commentaires et soulèvement de tout problème.
la source
Pour chaque changement:
De toute évidence, l'analyse doit se produire au fil du temps, mais aucun changement ne doit être accepté tant qu'il n'est pas démontré qu'il est efficace. C'est aussi pourquoi je n'implémenterais pas plus de 2-3 changements par cycle, sinon vous ne pouvez souvent pas mesurer s'il y a eu une amélioration ou non.
Rien ne m'irrite plus que de suivre aveuglément les meilleures pratiques sans faire l'analyse pour montrer qu'il s'agit en fait d'une meilleure pratique pour votre environnement. Une meilleure pratique qui ne démontre pas d'amélioration est au mieux du gaspillage et au pire des dommages.
Toutes les étapes de votre processus et toutes les pratiques méthodologiques doivent être analysées et s'avérer bénéfiques. Si ce n'est pas le cas, il doit être supprimé. Cette analyse doit être effectuée sur une base continue, indépendamment de l'ajout ou de la suppression d'étapes ou de pratiques.
la source