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

StackOverflow https://stackoverflow.com/questions/65296

  •  09-06-2019
  •  | 
  •  

Question

Il y a dix ans, lorsque j'ai rencontré pour la première fois le CMM pour les logiciels , j'étais, je suppose, comme beaucoup , frappé par la précision avec laquelle il semblait décrire le "niveau un" chaotique. l’état du développement logiciel dans de nombreuses entreprises, en particulier en ce qui concerne le recours aux héros. Cela semblait également fournir aux organisations des indications réalistes pour progresser de niveau en améliorant leurs processus.

Même si cela semblait fournir un bon modèle et une orientation réaliste pour l'amélioration, je n'ai jamais vraiment constaté qu'une adhésion à CMM avait un impact positif significatif sur toutes les organisations pour lesquelles j'ai travaillé ou qui travaillaient pour elle. Je connais un grand cabinet de conseil en logiciel qui revendique le niveau 5 (CMM) - le plus haut niveau - quand je constate que leurs processus sont aussi chaotiques et que la qualité de leurs logiciels est aussi variée que celle d’autres entreprises non-CMM.

Je me demande donc si quelqu'un a constaté un bénéfice réel et tangible de l'observance de l'amélioration des processus selon CMM?

Et si vous avez constaté une amélioration, pensez-vous que cette amélioration est spécifiquement imputable à CMM, ou serait-ce une approche alternative (telle que six-sigma ) ont-ils été tout aussi bénéfiques?

Quelqu'un croit-il encore?

En passant, pour ceux qui ne l’ont pas encore vu, jetez un œil à cet amusant parodie

Était-ce utile?

La solution

Pour un magasin de programmation CMM de niveau 1 typique, faire l'effort de se rendre au niveau 2 en vaut la peine; Cela signifie que vous devez penser à vos processus et les écrire. Naturellement, cela rencontrera la résistance des programmeurs cow-boy 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’engloutit généralement dans une guerre entre départements, il est donc probablement inutile de commencer.

Autres conseils

J'ai trouvé qu'il s'agissait d'un exercice de documentation gonflé qui était principalement utilisé pour l'acquisition / la maintenance de contrats. Une fois le contrat signé, c’était un exercice de contournement du processus.

En tant que développeur, je n’en ai pas tiré profit mais j'ai perdu des MOIS de ma vie professionnelle à jouer du violon avec CMMI.

Il en va de même pour 6 Sigma, que j'ai qualifié de "Common Sense in a Box". Je n'avais pas besoin d'être formé pour savoir quel était le problème d'un processus - c'était généralement assez évident.

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

Seulement mes deux sous.

Au cœur du problème se trouve ce problème, décrit avec précision dans les directives du CMM lui-même ...

& # 8220; ... Un bon jugement est nécessaire pour utiliser le MMT correctement et avec perspicacité. L'intelligence, l'expérience et la connaissance doivent former une interprétation appropriée de la CMM dans un environnement spécifique. Cette interprétation devrait être fondée sur les besoins et les objectifs de l'organisation et des projets. Une application du CMM axée sur des listes de contrôle peut potentiellement nuire à une organisation plutôt que de l’aider ... & # 8221;

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

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

CMM et CMMI offrent tous les deux des avantages si votre organisation prend les devoirs qu’elle essaie d’apprendre à cœur. Le problème est qu’il est très difficile et coûteux d’atteindre des niveaux plus élevés, et la seule fois où une organisation a fait de gros efforts, c’est parce que ses clients ne lui laissent pas soumissionner avant d’être à un certain niveau.

Ceci a pour effet que l’organisation fait tout ce qui est en son pouvoir pour "obtenir le numéro". sans réellement s’intéresser à l’amélioration de leur processus.

Le haut de gamme? Les magasins CMM-5 ne m'impressionnent pas.

Le bas? Oui. Les organisations CMM-1 me font peur.

CMM peut aider une nouvelle équipe / novice à se mesurer et à se perfectionner.

Le CMMI ne vise pas vraiment à améliorer votre logiciel, mais à documenter ce que vous avez fait. Vous pouvez presque estimer le niveau CMMI d'une entreprise à l'aide du poids de la documentation produite.

Contexte: j'ai étudié le CMMI dans le cadre de mon programme d'études supérieures en génie logiciel et j'ai travaillé au sein d'une équipe qui a suivi ses directives.

Mon expérience est que le CMM est tellement vague qu’il est très facile à remplir. De plus, lorsqu'ils viennent vous certifier, ils se penchent sur le projet que votre organisation a choisi. Là où j’ai travaillé, c’était un projet sans véritable échéance, avec beaucoup d’argent et beaucoup de temps à consacrer à tous les recoins du processus. De nombreux autres projets ont continué avec peu ou pas de révision de code / conception, parfois sans logiciel de gestion de versions.

Je pense que l'accent mis sur la certification CMM est malheureux. Les entreprises savent comment faire fonctionner le système. Au lieu de se concentrer sur une amélioration réelle des processus répondant à 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 les premières plutôt que de perdre autant de temps sur les dernières.

Ce qui compte vraiment, c’est d’avoir des personnes consciencieuses qui souhaitent prendre de bonnes décisions en matière de développement et qui savent qu’elles auront besoin d’aide pour les prendre. Il n'y a pas de substitut pour les programmeurs de qualité qui savent que la programmation est une activité de groupe en cours où ils sont tout aussi susceptibles de se tromper que quiconque.

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

Toutes les méthodes formelles existent pour vendre des livres / formations / certifications, et pour aucune autre raison. C'est pourquoi il y a tant de méthodes formelles. Une fois que vous vous en rendez compte, vous êtes libre: -)

Yourdon toujours croit . Mais il pourrait aussi toujours croire que le monde va finir avec le passage à l’an 2000.

Personnellement, ce n’est pas une chose en laquelle je crois beaucoup ou dans laquelle je voudrais être attelé à l’avenir. Mais souvent, notre raison n’est pas de nous expliquer pourquoi…

P.S. Bien qu'un peu hors sujet, je voudrais mentionner que les fausses certifications CMMI sont très courantes, de même que les certifications réelles obtenues grâce à la corruption.

CMM ne parle pas vraiment de la qualité du logiciel, mais plutôt de la documentation et de la répétabilité du processus. En d’autres termes, il est possible d’avoir un processus de développement ordonné et reproductible tout en créant un logiciel de mauvaise qualité. Tant que le processus est correctement documenté, il est possible d’atteindre le niveau 5 du CMM.

À la fin de la journée, CMM est un autre outil qui peut être utilisé ou mal utilisé. Si l'objectif final est d'améliorer la qualité du logiciel, il est possible d'utiliser CMM pour améliorer le processus de développement et la qualité du logiciel. Si l’objectif est d’atteindre un certain niveau de CMM, la qualité du logiciel en souffrira probablement.

Le modèle perd de sa crédibilité, d’abord parce que les entreprises l’ont adopté non pas à la recherche d’un modèle de développement logiciel plus mature, mais à une évaluation au niveau CCMI.

Et l'autre problème, celui qui, à mon avis, conduit à la perte de crédibilité, c'est qu'en tant qu'entrepreneur, vous n'avez aucune garantie que le projet vendu par votre fournisseur d'évaluation CMMI vous sera développé à l'aide des pratiques modèles. Le label CMMi indique uniquement que la société a déjà développé des projets qui ont été évalués en tant qu’adhérents à un niveau de maturité CMMi spécifique.

Le problème ne concerne pas uniquement CMMi, mais le processus mis au point par les entreprises. Le CMMi ne décrit pas le processus lui-même, mais juste ce que le processus devrait faire. Vous avez le même problème avec PMBOK. En réalité, le problème ne concerne pas uniquement le PMBOK, mais principalement les mauvais chefs de projet qui prétendent suivre les déclarations PMI.

À l’école, on m’a appris: le CMM est une bonne idée, mais sans certification (tout le monde peut dire qu’il est de niveau 5 / niveau 4), il s’avère être un outil de marketing pour les magasins offshore. Donc, oui, l’idée est bonne, mais comment prouver l’adhésion?

Je l'habitude. Mais maintenant, je trouve que CMM et CMMI ne correspondent pas vraiment bien aux approches agiles.

Oh, bien sûr, vous pouvez presser les choses pour placer cette cheville carrée dans le trou rond, mais lorsque les choses se gâtent, vous basez toujours votre approche sur une capacité à prédire tout ce qui est nécessaire et à anticiper tout ce qui se produira, lors de la construction d’un système logiciel.

Et nous savons tous à quel point cette approche fonctionne dans la vie réelle! (-:

acclamations,

Rob

Agile est le prochain CMM et les deux sont fragiles. Le domaine du conseil en processus et qualité est une bonne affaire dans tous les secteurs et, comme les ingénieurs, tout le monde a besoin de nouveaux mots à la mode pour que l’argent coule à flot.

À l’origine, le CMM était un bon concept basé sur un travail académique solide, mais il a rapidement été repris par les consultants en processus. Il s’agit maintenant d’une certification sans valeur qui est utilisée par la plupart des DSI licencié pour avoir choisi une entreprise CMM de niveau 5)

Agile va bientôt suivre cette voie et nous pourrons être sûrs de voir bientôt la prochaine solution miracle à l’horizon:)

Lorsque je travaillais sur un logiciel de vol commercial, nous utilisions CMM et nos processus amélioraient notre capacité à prévoir avec précision les délais d'exécution. Mais c’était un processus fastidieux, d’autres approches devraient aussi bien fonctionner.

Les petits projets dépendent moins du processus pour réussir. La métrique clé est le ratio héros / spectateur. Tout projet dont le rapport HTBR est inférieur à 0,2 a de sérieux problèmes.

Il existe bon nombre de bonnes idées qui peuvent facilement être adaptées et adoptées par toute organisation, mais l'obtention d'un badge est une tâche pénible en raison de la nécessité de disposer de tous types de documents redondants.

Le problème, c’est que CMMi n’est pas un processus, mais seulement un guide du processus que vous choisirez et qui invite en lui-même à faire circuler des idées à moitié cuites.

Un autre point est que la migration est une vraie douleur quand vous commencez, mais c'est la même chose que tout autre problème de jeunesse, je suppose.

Pour comprendre la valeur de CMMi, le principal problème est de comprendre CMMi lui-même.

CMMi est une approche documentée de l’amélioration continue de la production de logiciels.

Comprendre l’amélioration continue avec SPC est assez difficile à fabriquer, mais il faut ajouter le logiciel immatériel et la difficulté est exponentielle.

Je recommanderais à quiconque, ou à toute organisation, débutant dans CMMi: de documenter leur processus actuel, puis d'examiner quels résultats (coût / bénéfice) peuvent être mesurés indépendamment du processus. De cette manière, si un processus quelconque, la procédure de norme était modifiée, donnerait-il un «meilleur» résultat. La condition préalable à cet exercice est un processus reproductible stable et documenté, car il est impossible de mesurer les avantages d'un changement dans un environnement ad-hoc, car vous ne comparez pas 'à l'identique'.

En se concentrant initialement sur les concepts ci-dessus, l’organisation commencera à comprendre et à adopter la valeur essentielle du CMMi.

Selon la légende, le département de la Défense des États-Unis, qui a passé beaucoup de contrats, a constaté que nombre de ses projets étaient dépassés en temps et en coûts, et même lorsqu'ils ont été livrés, ils ne correspondaient pas exactement aux commandes.

Ils voulaient donc trouver un moyen de s’assurer qu’un sous-traitant serait en mesure de livrer à temps, dans les limites du budget et dans les limites du délai requis. Ainsi, le modèle de maturité des capacités était né.

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

Pendant tout ce temps, ils ne se sont jamais laissés aller à envisager le coût de tout cela. Parce que du point de vue du DoD, s’il donnait un projet d’un million de dollars pour obtenir quelque chose en un an et finissait par payer 10 millions de dollars sur 10 ans et ne pas obtenir ce qu’ils désiraient, et maintenant, ils auraient plutôt à payer 5 millions de dollars pour la même chose pour obtenir ce qu'ils voulaient réellement en deux ans, ils économisent encore 5 millions de dollars, sans compter qu'ils obtiennent réellement quelque chose.

Donc, si vous êtes contractant avec le US DoD ou quelque chose du genre, procurez-vous CMM, car ce serait une obligation. Mais si vous êtes en concurrence avec des milliers d’ateliers de développement logiciel sur elance, pour obtenir des projets avec des budgets limités, un temps limité, etc., CMM n’est pas un bon choix.

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

En bref, examinez les zones de traitement et comparez-les à vos zones de douleur, et prenez en compte les suggestions de CMM. La façon dont vous la mettez en œuvre est la vôtre. Et vous pouvez toujours le mettre en œuvre de manière à ne pas prendre trop de temps ni coûter trop d’argent. Mais je suppose que la même chose s’applique même aux normes ISO / CEI pertinentes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top