process-management - studio - workey




Est-ce que quelqu'un croit encore au modèle de maturité des capacités pour les logiciels? (15)

Il y a dix ans, lorsque j'ai rencontré le CMM pour la première fois, je pensais, comme beaucoup d'autres, combien il semblait décisif de décrire l'état chaotique de «niveau un» du développement de logiciels dans de nombreuses entreprises, notamment en référence aux héros. Il a également semblé fournir des conseils réalistes à une organisation pour progresser dans les niveaux d'amélioration de leurs processus.

Mais alors qu'il semblait fournir un bon modèle et des orientations réalistes pour l'amélioration, je n'ai jamais vraiment vu une adhésion à la CMM avoir un impact positif significatif sur toute organisation pour laquelle j'ai travaillé, ou avec. Je connais un grand cabinet de conseil en logiciel qui revendique CMM niveau 5 - le plus haut niveau - quand je peux voir de première main que leurs processus sont aussi chaotiques, et la qualité de leurs produits logiciels aussi variés que les autres entreprises.

Je me demande donc si quelqu'un a vu un avantage réel et tangible de l'adhésion à l'amélioration des processus selon la CMM?

Et si vous avez constaté une amélioration, pensez-vous que l'amélioration était spécifiquement attribuable à la CMM, ou est-ce qu'une approche alternative (telle que six-sigma ) aurait été également ou plus bénéfique?

Est-ce que quelqu'un croit encore?

En aparté, pour ceux qui ne l'ont pas encore vu, découvrez cette drôle de parodie


Au coeur de la question se trouve ce problème, soigneusement décrit par le guide CMM lui-même ...

" ... Un bon jugement est nécessaire pour utiliser le CMM correctement et avec perspicacité. L'intelligence, l'expérience et les connaissances doivent façonner une interprétation appropriée du MCG dans un environnement spécifique. Cette interprétation devrait être basée sur les besoins de l'entreprise et les objectifs de l'organisation et des projets. Une application de la CMM axée sur la liste de contrôle, axée sur la liste de contrôle, pourrait nuire à une organisation plutôt que de l'aider ... »

De la page 14, section 1.6 du Modèle de maturité des capacités, Lignes directrices pour l'amélioration du processus logiciel par l'Institut de génie logiciel de l'Université Carnegie Mellon, ISBN 0-201-54664-7.


Il y a quelques bonnes idées qui peuvent facilement être adaptées et adoptées par n'importe quelle organisation pour leur propre bien, mais obtenir un badge est une douleur due à l'exigence de toutes sortes de documentation redondante.

Le problème est que CMMi n'est pas un processus mais simplement un guide pour tout processus que vous pourriez choisir d'avoir et qui en soi invite des idées à moitié cuites qui circulent.

Un autre point est que la migration est une vraie douleur quand vous commencez, mais c'est la même chose que n'importe quel autre problème de démarrage, je suppose.


À l'école, on m'a enseigné: CMM est une bonne idée, mais manquant de certification (tout le monde peut dire qu'ils sont de niveau 5 / niveau 4), il finit par être un outil de marketing pour les boutiques offshore. Donc, oui, l'idée est bonne, mais comment prouvez-vous l'adhérence?


CMM et CMMI offrent tous deux des avantages si votre organisation prend les lessions qu'elle essaie d'enseigner à cœur. Le problème est que l'accès aux niveaux supérieurs est très difficile et coûteux, et la seule fois où j'ai vu une organisation faire l'effort est parce que leurs clients ne les laisseront pas soumissionner sur des contrats jusqu'à ce qu'ils soient à un certain niveau.

Cela a pour effet que l'organisation fait tout ce qu'elle peut pour «obtenir le numéro» sans se préoccuper de l'amélioration de son processus.


CMMI ne consiste pas vraiment à améliorer votre logiciel, il s'agit de documenter ce que vous avez fait. Vous pouvez presque estimer le niveau CMMI d'une entreprise en fonction du poids de la documentation qu'il produit.

Contexte: J'ai étudié le CMMI dans mon programme d'études supérieures en génie logiciel et j'ai travaillé avec une équipe qui suivait ses lignes directrices.


J'ai fait beaucoup d'interviews pour de petites équipes en développement itératif. Personnellement, si je vois CMM sur un CV c'est un grand drapeau rouge qui signale l'intérêt dans le processus sur les résultats.


Je l'ai trouvé gonflé, exercice de documentation qui a été utilisé principalement comme un contrat d'acquisition / maintenance véhicule. Une fois le contrat conclu, il s'agissait d'un exercice visant à contourner le processus.

En tant que développeur, je n'en ai rien retiré, mais j'ai perdu des mois de ma vie professionnelle à jouer au CMMI.

La même chose vaut pour 6 Sigma, que j'ai marqué "Common Sense in a Box". Je n'avais pas besoin d'être entraîné pour savoir quel était le problème d'un processus - il était généralement évident.

Pour moi, les petites équipes et les mécanismes agiles fonctionnent beaucoup mieux. Cycles courts, beaucoup de communication. Cela pourrait ne pas fonctionner dans tous les environnements, mais cela fonctionne certainement dans le mien.

Juste mes deux cents.


La fin supérieure? Les magasins CMM-5 ne m'impressionnent pas.

L'extrémité inférieure? Oui. Les organisations CMM-1 me font peur.

CMM peut aider une nouvelle équipe à se mesurer et à faire l'auto-amélioration.


Lorsque j'ai travaillé sur un logiciel de vol commercial, nous avons utilisé le CMM et, au fur et à mesure que nos processus amélioraient notre capacité à prédire avec précision les temps d'exécution, nous nous sommes améliorés. Mais c'était un processus lourd, d'autres approches devraient fonctionner aussi bien.


Mon expérience est que le CMM est si vague qu'il est très facile à remplir. De plus, quand ils viennent vous certifier, ils regardent le projet que votre organisation choisit. Là où je travaillais, c'était le projet sans réel délai, beaucoup d'argent, et beaucoup de temps à consacrer à tous les coins et recoins du processus. Beaucoup d'autres projets ont continué avec peu ou pas de révision de code / conception parfois sans logiciel de version.

Je pense que l'accent mis sur la certification CMM est regrettable. Les entreprises savent comment travailler le système et le font. Au lieu de se concentrer sur l'amélioration réelle des processus qui répond à leurs objectifs, ils se concentrent sur l'obtention d'une certification et le fonctionnement du système. Honnêtement, je pense que la plupart des organisations préfèrent passer du temps sur le premier plutôt que de perdre du temps sur le second.

Ce qui compte vraiment, c'est d'avoir des gens consciencieux qui veulent prendre de bonnes décisions en matière de développement et savoir qu'ils auront besoin d'aide pour prendre ces décisions. Il n'y a pas de substitut à des programmeurs de qualité qui savent que la programmation est une activité de groupe continue où ils sont tout aussi susceptibles de faire une erreur que n'importe qui d'autre.


Pour un atelier de programmation type CMM de niveau 1, faire l'effort d'atteindre le niveau 2 en vaut la peine; Cela signifie que vous devez penser à vos processus et les écrire. Naturellement, cela va rencontrer la résistance des programmeurs de cowboy qui se sentent limités par les normes, la documentation et les cas de test.

L'effort pour passer du niveau 2 («il y a un processus») au niveau 3 («tout le monde a le même processus») s'embourbe normalement dans la guerre interministérielle, alors ça ne vaut probablement pas la peine de commencer.


Si vous voyez CMM s'exécuter. Et courir vite.


Agile est la prochaine CMM et les deux sont fragiles. Le domaine du conseil en processus et qualité est une bonne affaire dans n'importe quel secteur et, comme les ingénieurs, tout le monde a besoin de nouveaux mots à la mode pour que l'argent circule.

CMM quand il est sorti du SEI était un bon concept basé sur un travail académique solide mais il a été rapidement repris par les consultants de processus et est maintenant une certification sans valeur, qui est utilisée par la plupart des CIO pour couvrir leurs fesses choisir une société CMM niveau 5)

Agile va bientôt descendre sur cette route et nous pouvons être sûrs de voir la prochaine balle d'argent à l'horizon bientôt :)


Toutes les méthodes formelles existent pour vendre des livres / cours de formation / certification, et pour aucune autre raison. C'est pourquoi il y a tellement de méthodes formelles. Une fois que vous réalisez cela, vous êtes libre :-)


Selon la légende, le département américain de la Défense, qui a passé beaucoup de contrats, a constaté que beaucoup de ses projets étaient confrontés à des dépassements de temps et de coûts, et même lorsqu'ils étaient livrés, les projets n'étaient pas exactement ceux qui étaient commandés.

Donc, ils voulaient un moyen de s'assurer qu'un entrepreneur serait en mesure de livrer à temps, dans les limites du budget et près de ce qui était nécessaire. Ainsi, le modèle de maturité des capacités est né.

La thèse est que si les choses sont écrites, elles survivent à l'attrition. Mais dire que tout écrire ne suffirait pas, il faut vérifier qu'ils sont correctement écrits. Entre autres.

Tout au long de tout cela, il ne leur est jamais venu à l'esprit de considérer le coût de tout cela. Parce que du point de vue du DoD, s'il donnait un projet de 1 million de dollars pour obtenir quelque chose en un an, il finissait par payer 10 millions de dollars sur 10 ans et ne recevait pas ce qu'il voulait, et maintenant si Pour payer 5 millions de dollars pour la même chose afin d'obtenir ce qu'ils voulaient en deux ans, ils économisent encore 5 millions de dollars, sans compter qu'ils obtiennent quelque chose.

Donc, si vous êtes un entrepreneur du DoD des États-Unis ou quelque chose du genre, allez-y et obtenez le CMM, parce que ce serait une exigence. Mais si vous êtes en concurrence avec les milliers de boutiques de développement de logiciels sur elance, pour obtenir des projets avec des budgets limités, un temps limité et ainsi de suite ... CMM n'est pas un bon choix.

Cela dit, n'hésitez pas à lire le pdf CMMI Dev (v 1.3 au moment de la rédaction). Cela fait beaucoup de bons points. Il déconstruit très bien l'organisation. Et si vous voyez des points qui vous font aller 'aha! J'ai ce problème », puis certainement utiliser cette sagesse pour résoudre votre problème. Dans notre cas, un petit changement que nous avons fait était de faire en sorte que nous fassions une liste de toutes les personnes autorisées à nous donner des exigences. S'il y avait plus d'une personne autorisée à nous donner des exigences, alors toute exigence provenant d'une source a été distribuée aux autres, et ils ont dû dire «d'accord» avant de l'ajouter à l'arriéré. Ce petit changement a fait une grande différence dans la quantité de travail et de retouche.

En bref, regardez les zones de processus et comparez-les à vos zones de douleur, et prenez les suggestions données par CMM. La façon dont vous l'appliquez est la vôtre. Et vous pouvez toujours l'implémenter d'une manière qui ne prend pas trop de temps ou ne coûte pas trop d'argent. Mais je suppose que la même chose s'applique même aux normes ISO / CEI pertinentes.