Évaluation. Calculer et rencontrer

La prĂ©visibilitĂ© des dĂ©lais joue un rĂ´le important dans le dĂ©veloppement de projets informatiques. Et en raison de la grande complexitĂ© des processus, l'Ă©valuation des tâches est un problème difficile, qui n'a pas d'algorithme explicite ni de plan simple. Ceci est aggravĂ© par le fait que dans le processus de communication sur les Ă©valuations, les affaires, la gestion de projet et le dĂ©veloppement peuvent parler diffĂ©rentes langues, ne comprennent pas et ne veulent pas comprendre les problèmes et les valeurs des autres. Le rĂ©sultat est une "dĂ©sinscription" sur laquelle des efforts sont dĂ©ployĂ©s, mais ils n'apportent pas l'effet nĂ©cessaire. 

L'article sera utile aux développeurs qui souhaitent améliorer et rendre le processus d'évaluation plus confortable pour eux-mêmes. Dans ce document, je partagerai l'approche développée, qui nous permet d'accroître la compréhension mutuelle avec d'autres unités, ainsi que de réduire le niveau de nos propres efforts d'évaluation. Nous analyserons pourquoi nous avons besoin d'estimations, comment évaluer les grandes tâches et les sous-tâches décomposées. Et, plus important encore, que faire pour entrer dans ces évaluations.

La version vidéo de la présentation est disponible ici .

Eh bien, maintenant au point.

Pourquoi donner des notes


image

Dans la vie de chaque développeur, ce moment désagréable vient quand «ils» viennent à nous et demandent: «quand sera-t-il prêt?». "Ils" sont des managers, des produits, des chefs d'équipe, des patrons ... La question est, pourquoi est-ce "eux"? Que vont-ils faire avec ça? Si nous comprenons cela, nous pouvons leur donner exactement ce dont ils ont besoin et gagner du temps. Il existe plusieurs options, et voici les principales.

  • Le manager doit Ă©valuer l'Ă©tendue des travaux (livraison, release, sprint): le calendrier et leur volume total. Dans ce cas, il est important d'entrer dans l'Ă©valuation globale, entrer dans chaque tâche spĂ©cifique n'a pas d'importance (quelque part dĂ©pensĂ© plus, quelque part moins - gĂ©nĂ©ralement convenu). Ă€ l'avenir, le travail des autres dĂ©partements est prĂ©vu Ă  ce sujet et les indicateurs que l'entreprise gère en dĂ©pendent. Et l'entreprise a besoin de prĂ©visibilitĂ©: pour rĂ©duire les risques et amĂ©liorer la gĂ©rabilitĂ©.
  • . , . /. , , (, , ) . : , - . , . .
  • ( ). , . , : , . , /, , ( ), . (, , ), .

Eh bien, pourquoi ces "eux" ont-ils été démantelés. Mais en avons-nous besoin? Imaginez que votre manager soit parti en vacances. Pour toujours. Et donc vous vous asseyez, travaillez tranquillement, un jour, deux, une semaine. Personne n'a besoin de notes, la vie est belle. Allez-vous vous évaluer?

Leur donner ou non est une affaire personnelle, mais voici les arguments pour cela.

  • L'Ă©valuation montre comment terminer la tâche. Le cerveau humain est une chose coĂ»teuse, et une personne n'aime pas penser - c'est difficile. Par consĂ©quent, le dĂ©sir naturel de penser le moins possible. Mais comment le faire? Vous pouvez diviser l'activitĂ© en une activitĂ© plus Ă©troite. Nous partageons la planification et l'exĂ©cution: nous pensons d'abord Ă  la mĂ©thode (pendant l'Ă©valuation), puis nous passons Ă  l'exĂ©cution et pensons Ă  l'exĂ©cution (dans le processus). 
  • , «» . , — . , () ( ) , . , - . 
  • — . — . , , . . , . 2 . 2 , -  , . . , , — . , , — . ( /), . , , : « , !!». , , . ? . «», , . , , — - .
  • L'effet psychologique. Si la tâche est complexe, elle change au cours du processus de dĂ©veloppement ou nos connaissances Ă  ce sujet changent. Si nous n'avons pas donnĂ© une Ă©valuation initiale, la tâche dans le processus Ă©tait envahie de nouveaux dĂ©tails, et en consĂ©quence nous n'y sommes pas arrivĂ©s - nous ne nous souvenons pas pourquoi. Après plusieurs itĂ©rations de ce type, l'effet d'un imposteur frappe Ă  la tĂŞte. Et s'ils avaient donnĂ© une Ă©valuation initiale, la raison aurait Ă©tĂ© fixĂ©e: ils pensaient que 5 perroquets Ă©taient nĂ©cessaires, mais il s'est avĂ©rĂ© 10. Pourquoi cela s'est avĂ©rĂ© ĂŞtre la deuxième question, ils s'en souviennent bien. Et la raison n’est pas toujours («Les dĂ©veloppeurs ne font toujours rien» / «Ces produits ne peuvent pas penser pour rien pour toujours, puis ils apparaissent»).

Nous avons donc décidé: des évaluations sont nécessaires à la fois pour «nous» et «eux». Il est logique de poursuivre la lecture de l'article.

Objectif de l'Ă©valuation


Il est inutile de deviner la durée de la tâche. Vous ne pouvez pas deviner exactement, et si vous le pouvez, vous ne pourrez pas le dire de manière fiable tant que vous ne le ferez pas: alors j'ai deviné ou je ne l'ai pas deviné. Et à ce stade, personne n'est intéressé par l'évaluation.

Ainsi, une évaluation n'est pas une tentative de deviner combien de temps prendra une tâche. L'évaluation est un accord entre le client et l'entrepreneur sur le cadre et (éventuellement) la manière dont la tâche est exécutée .

Habituellement, une entreprise adéquate n'a pas de tâche à écraser dans un délai précis; une entreprise a besoin de prévisibilité et de limitation des risques. Le temps n'est pas caractérisé par la vitesse de travail du programmeur, mais par la quantité de travail qu'il met dans la tâche. Et vous pouvez aussi dire bonjour à un collègue: si je reçois une tâche avec une évaluation inadéquate, c'est une occasion pour moi de penser, nos méthodes sont-elles exactement les mêmes? Peut-être qu'il a vu un moyen plus facile de résoudre? Ou peut-être au contraire, n’avez-vous pas remarqué quelque chose de grand? En tout cas, une raison de vérifier la montre.

Processus d'Ă©valuation


image

La base du processus d'Ă©valuation est de voir la valeur de la tâche commerciale, ainsi que les principaux risques de la tâche et le volume de la routine. Ensuite, Ă©valuez-les en joignant le cadre: on ne sait pas exactement ce que c'est, mais il est dĂ©finitivement supĂ©rieur Ă  X et infĂ©rieur Ă  Y. Et bien sĂ»r, nous l'Ă©valuons avec la prĂ©cision avec laquelle il est nĂ©cessaire (car l'estimation exacte est coĂ»teuse et le cerveau est paresseux). 

Composition des tâches:

  • - ( ). , . smoke-test . , , , « ». , ! — . , : « - , ».
  • , - , . «» -. , , ( , , , , ), — . 
  • . - , , - . , ( ). : , , , (, . — - . : ( , , : , , , , ), , , , ( ) , , zero-tolerance , , , -, . , (//), (//). 
  • Tout le reste .

La procédure d'évaluation de l'épopée


Le schéma est né du fait que n'importe quelle tâche peut être effectuée en tout temps . La déclaration est exagérée, bien sûr, mais dans son ensemble reflète l'essence. Par exemple, un client vient me voir et me dit: «Je veux Facebook. Quand sera-t-il prêt? " Le temps minimum pour résoudre un tel problème que j'ai réussi à trouver est de 15 minutes. Je vais sur facebook, fais une capture d'écran, compose une page avec une image de capture d'écran, la mets sur mon serveur. Satisfait aux conditions du problème. Vous pouvez même améliorer la mise en œuvre: ne prenez pas de photo, mais faites un iframe avec facebook (bien que, comme je m'y attendais, facebook s'est déjà occupé de cela) Étant donné que l'évaluation du temps détermine la façon de terminer la tâche, vous pouvez réduire le temps pour terminer n'importe quelle tâche de 2 à 3 fois (il arrive que par 5 fois). Il est amusant que cette loi empirique se révèle constamment vérifiée dans la pratique.

  1. Nous décomposons la tâche en sous-tâches. Il s'avère quelque chose comme cette image (nous l'appelons «l'arbre de Noël»): évaluer horizontalement les tâches dans le temps, verticalement - la priorité.
    image
  2. Nous trions les sous-tâches par priorité (première valeur métier + «charge», puis risqué, puis le reste par ordre d'importance).

    image
  3. Si l'estimation doit être réduite, nous réduisons le problème par le bas. Pourquoi pouvons-nous réduire: certains des risques ont fonctionné et le gonflement ou la valeur commerciale s'est avéré ne pas être tout à fait ce qu'ils étaient censés être - ce sont des choses importantes, et sans eux, la tâche ne peut pas être transmise. Il est nécessaire de le réparer. Ensuite, nous pourrons entrer dans l'évaluation en effectuant les principales parties de la tâche (selon l'échec, une partie plus ou moins grande de la tâche sera effectuée).

    image

Processus d'évaluation des tâches


Ok, l'épopée était décomposée. Et comment évaluer la taille d'une tâche spécifique?

  • Si nous avons dĂ©jĂ  fait exactement cette tâche . Nous avons des statistiques quelque part, combien de temps a Ă©tĂ© consacrĂ© Ă  une tâche similaire. Si nous ne l'avons pas fait, mais un collègue, alors nous pouvons prendre son rĂ©sultat et le multiplier par le coefficient de diffĂ©rence entre lui et maintenant (niveau dĂ©veloppeur, connaissance du système, connaissance des risques). Nous montons dans les statistiques, multiplions - nous obtenons. 
  • . , . , 60%. , 60% , . , — , 1.5-2 .
  • . R&D. — , . — . (1, 2, 4 ), — . , , . , R&D, 1-2 , R&D . — R&D. - — , , . — N — - ( ). , — , . , , — .

:
  • , ( ) , , . , , .
  • Planning poker. , . : -, , , , -, , ,
  • (/ ), . . , . , , 70% .
  • PERT. , (-) 5 . .
    minrealmax
    <>28209

    — , , — , ( ), — , , ( ).
    :
    image

Si je comprends bien, les coefficients 4 et 6 sont tirés de l'hypothèse selon laquelle, dans le cas général, la probabilité de risque est distribuée normalement et les queues (min / max) sont également probables.

Le processus d'obtention des notes


image

Donner une Ă©valuation est la moitiĂ© de la bataille. La chose la plus prĂ©cieuse est d'entrer dans cette Ă©valuation. Et le processus de rĂ©alisation d'une tâche est un processus actif, de la participation dont le rĂ©sultat final dĂ©pend plus que d'une estimation rĂ©ussie au tout dĂ©but. Et adhĂ©rez Ă  un look similaire dans des domaines complètement diffĂ©rents. J'ai vu beaucoup de cas oĂą, après avoir fait une Ă©valuation, le dĂ©veloppeur prend une position passive "bien, oĂą aller maintenant - quoi qu'il arrive", plie les jambes et suit le courant. Et il est maintenant temps d'agir.

Techniques utiles sur le hit:

  • 6. : . — , - , . /, . ( «» - ). , , - . — . . ? N.
  • «».
  • , (- + ) — , . 30%.
  • .
  • , ( ) . ( ) — , . — , . — , . .
  • ( ). . , , , . , , . « » — 20-30%, 50. . ( ) , , , .


Et pour commencer, il y a l'effet de la réduction des délais associés aux évaluations des tâches. Il est décrit plus en détail, par exemple ici , et je ne le répéterai donc pas. Telle qu'appliquée aux évaluations, elle a pour conséquence qu'il est nécessaire d'évaluer les tâches et de surveiller le hit, s'il est important pour nous de terminer d'ici un certain temps. Même si la tâche est petite et qu'il y a beaucoup de temps avant sa livraison (comme avec le développeur mentionné précédemment, débordé de travail, qui n'a pas aimé donner de notes). Et si nous ne représentons pas exactement ce qu'est le stock (et nous sommes guidés par le fait qu'il est grand et que «l'État ne deviendra pas pauvre»), nous obtenons un excès incontrôlé de termes. Et peu importe quel tampon est posé: 2x, 5x, 100x - si vous ne le gérez pas, il sera tout de même mangé.

Conclusion


Grâce à cette approche, les développeurs peuvent rationaliser et simplifier le processus d'évaluation. Et les forces seront dépensées moins, et le stress diminuera, et le résultat final sera meilleur. Et nous pouvons aussi leur présenter des surprises moins désagréables, puis nous découvrirons qu’ils ont commencé à parler la même langue avec «nous».

image

All Articles