Récemment, un nouveau directeur de mon département est entré et a exprimé son souhait que nous devenions un "centre d'excellence". Je m'attendais à ce que comme il est mon premier patron qui a en fait une formation en programmation, il y aurait une description de cela. Cependant, il en est resté là.
En réfléchissant à cela au cours des derniers jours, je me dis que ce que signifie réellement un CoE ne se limite pas à «être efficace» dans la livraison du produit. Voici les principaux éléments avec lesquels je me bats:
S'agit-il simplement d'un terme utilisé par les types de gestion?
Quelles qualités rendent un groupe de développeurs de logiciels et de testeurs excellents?
Comment mesurez-vous l'excellence dans ce contexte?
terminology
Excité
la source
la source
Réponses:
Oui, ce n'est qu'un terme utilisé par les types de gestion, mais si vous supprimez le langage de gestion, ce qu'il dit, c'est qu'il veut un département qui est perçu comme utilisant et incarnant les meilleures pratiques de l'industrie d'une manière que d'autres aspirent et font. afin de fournir de grandes solutions que les gens aiment.
(Ce dernier élément est important - si vous ne livrez pas réellement, peu importe la qualité de tout le reste et votre gestionnaire ne restera pas longtemps).
La complexité se présente de deux manières principales:
1) Veut-il cela parce qu'il comprend que c'est la bonne façon de développer des logiciels et que c'est ainsi que vous produisez de bons produits, ou le veut-il parce qu'il veut pouvoir s'en vanter?
2) Acceptera-t-il le coût initial (temps, argent, crédibilité et risque) associé à la mise en œuvre des meilleures pratiques? C'est bien de dire «allons-y agile», mais il met sa réputation sur le fait que cela améliorera les choses et devra passer beaucoup de temps à le vendre à l'organisation. Presque toujours, les avantages sont à long terme, les coûts sont à court terme et c'est la partie la plus difficile. En fin de compte, est-il vraiment sérieux à ce sujet?
En termes de ce à quoi cela ressemblerait, bien, cela dépend de ce que vous faites, mais vous devez penser en termes de processus de développement et de gestion de projet, quels outils vous utilisez, quel kit les gens ont, etc. . Le test Joel est toujours un bon point de départ et en particulier je voudrais voir un processus de contrôle de version vraiment solide, un très bon suivi des bogues et de très bons processus de construction.
J'examinerais également si les méthodologies agiles vous conviennent (SCRUM en particulier), dans quelle mesure les tests automatisés pourraient aider (sans déclencher une guerre de religion, les opinions divergent quant au point auquel la complexité des tests l'emporte sur les avantages qu'ils fournir) si vous avez les outils et le kit nécessaires pour faire le travail. En règle générale, je suggère que vous souhaitiez que les outils soient à la pointe, mais pas à la pointe du progrès. Il convient de souligner qu'il ne s'agit pas d'avoir des jouets, mais de donner à tous les membres de l'équipe les outils nécessaires pour être aussi productifs que possible pendant une grande partie de la journée de travail. L'exemple le plus évident est les mauvais PC - est-ce vraiment excellent de payer les développeurs pour regarder un curseur pendant que leur projet prend 5 minutes à construire quand ils le construisent une demi-douzaine de fois par jour?
Quelques autres choses qui vont probablement être visibles dans un centre d'excellence: je dirais qu'un centre d'excellence en logiciels a probablement un assez bon programme de formation - peut-être pas des cours formels mais certainement des budgets de livres, du temps d'étude, du mentorat et comme.
Et je dirais qu'il fait probablement aussi une petite quantité (au moins) de R&D. Par cela, je ne veux pas dire des choses complètement bleues, mais donner aux développeurs de la place pour essayer de nouvelles choses et évaluer de nouveaux outils et langages sans la pression continue de livraison au client. Voilà comment vous allez de l'avant et restez en forme l'année prochaine, l'année suivante, etc.
Comment pouvez-vous le mesurer? Ah, la vieille question. En fin de compte, mesurer le développement logiciel est difficile, voire impossible, et mesurer l'excellence dans le développement logiciel est tout aussi difficile.
La seule chose que je peux vraiment suggérer qui serait utile et qui est largement adoptée par de nombreuses entreprises est la satisfaction des clients et du personnel. C'est une mesure indirecte, mais je pense que si vous n'êtes pas excellent, il est peu probable que vous obteniez de très bons niveaux de satisfaction client et de très bons niveaux de satisfaction du personnel.
la source
C'est le problème avec les mots belettes ; ils ont l'air de vouloir dire quelque chose ... mais ce n'est vraiment pas le cas.
Du contexte, il semble que votre entreprise produit un produit et que votre directeur souhaite simplement que votre service soit aussi efficace et efficace que possible. IME, cela signifie qu'ils ont l'intention de faire une ou toutes les actions suivantes:
Donc, pour répondre directement à vos questions:
la source
Au cours de mes 30 années d'expérience, une phrase comme celle-ci signifie généralement que nous voulons que vous produisiez plus avec moins de personnes.
la source
En réponse à votre point numéro 1:
La réponse est certainement oui , c'est un terme qui ressemble aux joueurs de Bullshit Bingo expérimentés . Cela ne signifie pas pour autant que le terme n'a pas de sens.
Passons au numéro 2:
Tiré de Wikipédia : Centre d'excellence: un ensemble de connaissances et d'expérience formellement désigné et accepté de manière informelle sur le sujet. Oublions les nominations formelles et acceptées de manière informelle, et nous concentrons sur l'ensemble des connaissances et de l'expérience. Je considérerais la connaissance comme un fond théorique, l'expérience finale comme quelque chose qui vient d'une application pratique. Pour atteindre l'excellence, vous avez besoin des deux. Outre ces qualités (assez évidentes), je pense qu'une troisième est essentielle pour atteindre l'excellence: la capacité de se remettre en question, de réfléchir à ce que vous faites et de chercher des moyens de vous améliorer. Les connaissances que vous apprenez en tant qu'étudiant, mais vous devez constamment y travailler, suivre les derniers développements, etc. L'expérience que vous accumulez est l'expérience, celle-là est presque inévitable. La partie la plus délicate du point de vue de la gestion est de créer une culture de réflexion et de perfectionnement personnel (bonne chance à votre patron avec celle-là ;-)
Quant à votre question numéro 3:
je pense que vous ne pouvez pas. Je parle ici de bien plus que de réussir des projets ici (ce qui est déjà difficile à mesurer, entre autres en raison d'une tendance à déclarer que même le projet le plus bâclé est un succès car il est plus joli dans la présentation PowerPoint). La véritable excellence vient de l'attitude de tous les membres d'une équipe pour donner le meilleur d'eux-mêmes, pour s'améliorer, leurs outils, leurs processus, etc. Votre meilleur coup est de trouver un moyen de mesurer l'efficacité d'un processus d'amélioration continue prédéfini
la source
La première personne qui me vient à l'esprit quand je pense au "Software Center of Excellence" est Oncle Bob Martin
Oncle Martin est depuis longtemps un défenseur de l'excellence dans le développement de logiciels sous la forme connue sous le nom de Software Craftsmanship . Comme wikipedia l'a décrit
Écoutez-le sur le podcast suivant alors qu'il explique ce qu'est l'artisanat logiciel:
Consultez également le Manifeste pour la fabrication de logiciels , qui met en évidence l'importance de logiciels bien conçus, la valeur ajoutée, la communauté de professionnels et les partenariats productifs
EDIT: Étant donné qu'un centre d'excellence en logiciels nécessite des programmeurs parfaitement formés, vous pouvez également consulter les ressources suivantes:
la source
Il me semble qu'il vient de dire qu'il veut avoir une culture de la qualité plutôt que de la quantité, mais là encore, il pourrait simplement parler de son @ss. En tant que programmeurs, je pense que nous avons tendance à trop penser à ce que les gens disent. Au moins, je sais que je le fais. En ce qui concerne la façon dont il l'a dit, c'est juste un discours d'entreprise, mais n'y pensez pas trop. Comme d'autres l'ont dit, demandez-lui.
la source