{"id":31,"date":"2007-06-23T16:40:54","date_gmt":"2007-06-23T15:40:54","guid":{"rendered":"http:\/\/www.dtsato.com\/blog\/default\/Agile\/?permalink=Metricas-vs-Metricas-e-uma-propaganda-no-final.html"},"modified":"2007-06-23T16:40:54","modified_gmt":"2007-06-23T15:40:54","slug":"metricas-vs-metricas-e-uma-propaganda-no-final","status":"publish","type":"post","link":"https:\/\/www.dtsato.com\/blog\/2007\/06\/23\/metricas-vs-metricas-e-uma-propaganda-no-final\/","title":{"rendered":"M\u00e9tricas vs. M\u00e9tricas (e uma propaganda no final)"},"content":{"rendered":"<p>Qual a melhor forma de medir o sucesso de uma equipe? Os M\u00e9todos \u00c1geis promovem um processo emp\u00edrico para desenvolvimento de software, baseado na colabora\u00e7\u00e3o e no <i class=\"italic\">feedback<\/i> trazido por ciclos curtos de inspe\u00e7\u00e3o e adapta\u00e7\u00e3o. Encontrar maneiras eficazes de avaliar o processo e a equipe n\u00e3o \u00e9 uma tarefa simples. O senso comum leva \u00e0 decomposi\u00e7\u00e3o e \u00e0 prolifera\u00e7\u00e3o de diversas m\u00e9tricas baseadas na premissa de que se cada parte do processo for otimizada, os resultados do processo como um todo ser\u00e3o otimizados tamb\u00e9m. Quando <span class=\"nobr\"><a href=\"http:\/\/www.dtsato.com\/blog\/default\/Agile\/XP\/?permalink=XP-2007-Dia-5.wiki&#38;smm=y\">critiquei<\/a><\/span> o modelo hier\u00e1rquico do IO-Map, minha preocupa\u00e7\u00e3o era justamente essa. Ao tentar micro-otimizar partes de um sistema por meio de diversas m\u00e9tricas, o objetivo verdadeiro se perde em meio a tantos outros substitutos e a equipe perde sua capacidade de tomar decis\u00f5es num n\u00edvel mais macro.<\/p>\n<p>Um outro problema com m\u00e9tricas bastante conhecido (o <span class=\"nobr\"><a href=\"http:\/\/www.improveit.com.br\">Vin\u00edcius<\/a><\/span> comenta sobre isso em um dos seus <span class=\"nobr\"><a href=\"http:\/\/www.improveit.com.br\/podcast\">podcasts<\/a><\/span>) \u00e9 que as pessoas geralmente se comportam de acordo com a forma que s\u00e3o avaliadas. Robert Ausin, no livro <span class=\"nobr\"><a href=\"http:\/\/www.amazon.com\/exec\/obidos\/redirect?link_code=as2&#38;path=ASIN\/0932633366&#38;tag=danilosato-20&#38;camp=1789&#38;creative=9325\">Measuring and Managing Performance in Organizations<\/a><\/span>, discute os problemas da avalia\u00e7\u00e3o de desempenho baseada em m\u00e9tricas e destaca que sua principal vantagem (<i class=\"italic\">&#8220;Voc\u00ea tem o que voc\u00ea mede&#8221;<\/i>) \u00e9 tamb\u00e9m sua principal desvantagem (<i class=\"italic\">&#8220;Voc\u00ea tem exatamente o que voc\u00ea mede, e nada mais&#8221;<\/i>). M\u00e9tricas manipul\u00e1veis ser\u00e3o manipuladas. Esse \u00e9 o lado triste da hist\u00f3ria.<\/p>\n<p>Por isso queria aproveitar esse post curto para discutir uma classifica\u00e7\u00e3o interessante, que pode te ajudar a refletir quando estiver pensando em utilizar uma nova m\u00e9trica.<\/p>\n<h3 class=\"heading-1-1\">M\u00e9tricas Organizacionais<\/h3>\n<p class=\"paragraph\"\/>Tamb\u00e9m conhecidas como &#8220;m\u00e9tricas de avalia\u00e7\u00e3o&#8221; na abordagem Lean. S\u00e3o as m\u00e9tricas que medem o sistema como um todo, no n\u00edvel mais alto. Elas medem o quanto de valor seu processo consegue entregar. A abordagem Lean sugere uma pr\u00e1tica conhecida como <span class=\"nobr\"><a href=\"http:\/\/www.poppendieck.com\/measureup.htm\">Measure Up<\/a><\/span>, onde voc\u00ea usa uma medida de avalia\u00e7\u00e3o que foge do controle de qualquer sub-parte do processo, incentivando a colabora\u00e7\u00e3o entre os indiv\u00edduos de diferentes equipes e evitando a micro-otimiza\u00e7\u00e3o. Essas m\u00e9tricas-chave devem ser geralmente escolhidas pelo cliente ou quem quer que espera extrair algum valor do sistema. Como consequ\u00eancia dessa pr\u00e1tica, voc\u00ea acaba ficando com um n\u00famero muito menor de m\u00e9tricas. Recentemente <span class=\"nobr\"><a href=\"http:\/\/tech.groups.yahoo.com\/group\/xprio\/message\/3880\">apresentei<\/a><\/span> na <span class=\"nobr\"><a href=\"http:\/\/groups.yahoo.com\/group\/xprio\/\">XP@Rio<\/a><\/span> alguns exemplos de m\u00e9tricas organizacionais:<\/p>\n<ul class=\"star\">\n<li><b class=\"bold\">Cycle Time<\/b>: m\u00e9trica Lean mais conhecida que mede o tempo m\u00e9dio para que seu processo atenda uma nova requisi\u00e7\u00e3o. Essa m\u00e9trica geralmente surge depois que a equipe entende seu <span class=\"nobr\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/Value_Stream_Mapping\">Value Stream Map<\/a><\/span> e o conceito importante \u00e9 que ela come\u00e7a a contar com o cliente e s\u00f3 termina quando o cliente \u00e9 atendido.<\/li>\n<li><b class=\"bold\">M\u00e9tricas Financeiras<\/b>: o investimento de muitos projetos de software \u00e9 justificado com base na melhoria de alguma m\u00e9trica financeira. Essa m\u00e9trica pode ser o <span class=\"nobr\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/Return_on_investment\">Retorno de Investimento<\/a><\/span> (ROI), <span class=\"nobr\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/Net_present_value\">Net Present Value<\/a><\/span> (NPV), uma matriz de lucros e perdas ou coisas desse tipo. Como uma equipe consegue melhorar esses n\u00fameros de outra forma que n\u00e3o seja entregando o software?<\/li>\n<li><b class=\"bold\">Satisfa\u00e7\u00e3o do Cliente<\/b>: Se voc\u00ea est\u00e1 preocupado em entregar valor para seu cliente, o qu\u00e3o satisfeito ele est\u00e1? Uma m\u00e9trica sugerida pela Mary e pelo Tom para medir isso \u00e9 o <span class=\"nobr\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/Net_Promoter_Score\">Net Promoter Score<\/a><\/span>, uma medida simples que verifica se seus clientes recomendariam seu produto para outro cliente.<\/li>\n<\/ul>\n<h3 class=\"heading-1-1\">M\u00e9tricas de Acompanhamento<\/h3>\n<p class=\"paragraph\"\/>Tamb\u00e9m conhecidas como &#8220;m\u00e9tricas de diagn\u00f3stico&#8221;, &#8220;indicadores&#8221; ou &#8220;m\u00e9tricas informativas&#8221;. Elas s\u00e3o medidas internas da equipe que auxiliam na melhoria do processo, atrav\u00e9s dos ciclos de inspe\u00e7\u00e3o e adapta\u00e7\u00e3o. Essas m\u00e9tricas agregam dados, mas n\u00e3o os associam com nenhum indiv\u00edduo, assim como n\u00e3o devem ser atreladas ao valor que est\u00e1 sendo entregue. Seu ciclo de vida tamb\u00e9m \u00e9 geralmente mais curto. Uma vez que o processo evoluiu, elas se tornam desnecess\u00e1rias e devem ser descartadas. Novas m\u00e9tricas de acompanhamento dever\u00e3o surgir conforme a equipe avan\u00e7a e o ciclo continua, em busca da melhoria cont\u00ednua.<\/p>\n<p class=\"paragraph\"\/>Um exemplo amplamente utilizado desse tipo de m\u00e9trica \u00e9 a velocidade. Espera-se que, ap\u00f3s um certo tempo, a velocidade do time se estabilize (se nenhum fator externo acontecer, como mudan\u00e7a de membros da equipe ou mudan\u00e7a da linguagem de programa\u00e7\u00e3o). Uma vez que a velocidade se torna &#8220;conhecida&#8221;, a equipe geralmente n\u00e3o precisa mais med\u00ed-la.<\/p>\n<p class=\"paragraph\"\/>Como esse tipo de m\u00e9trica surge em diferentes contextos e problemas, podemos pensar em diversos outros exemplos. Supondo que a equipe est\u00e1 tentando melhorar nas pr\u00e1ticas de teste, pode utilizar a cobertura de c\u00f3digo como m\u00e9trica de acompanhamento. Se querem melhorar a integra\u00e7\u00e3o cont\u00ednua, podem medir o tempo entre <i class=\"italic\">commits<\/i>, ou o n\u00famero de linhas alteradas em cada <i class=\"italic\">commit<\/i>. E por a\u00ed vai&#8230;<\/p>\n<h3 class=\"heading-1-1\">Propaganda Descarada<\/h3>\n<p class=\"paragraph\"\/>Aproveitando o assunto (que oportuno!), vou fazer uma propaganda descarada da defesa da minha disserta\u00e7\u00e3o de mestrado, na pr\u00f3xima sexta-feira. As informa\u00e7\u00f5es para quem estiver interessado em assitir s\u00e3o:<\/p>\n<p class=\"paragraph\"\/><b class=\"bold\">T\u00edtulo<\/b>: &#8220;Uso Eficaz de M\u00e9tricas em M\u00e9todos \u00c1geis de Desenvolvimento de Software&#8221;<br \/>\n<b class=\"bold\">Orientador<\/b>: Alfredo Goldman<br \/>\n<b class=\"bold\">Local<\/b>: Instituto de Matem\u00e1tica e Estat\u00edstica (IME\/USP)<br \/>\n<b class=\"bold\">Sala<\/b>: 256 Bloco A<br \/>\n<b class=\"bold\">Data<\/b>: 29 de Junho de 2007<br \/>\n<b class=\"bold\">Hor\u00e1rio<\/b>: 9:30hs<\/p>\n<p class=\"paragraph\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Qual a melhor forma de medir o sucesso de uma equipe? Os M\u00e9todos \u00c1geis promovem um processo emp\u00edrico para desenvolvimento de software, baseado na colabora\u00e7\u00e3o e no feedback trazido por ciclos curtos de inspe\u00e7\u00e3o e adapta\u00e7\u00e3o. Encontrar maneiras eficazes de avaliar o processo e a equipe n\u00e3o \u00e9 uma tarefa simples. O senso comum leva [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[6,22,42,48,52],"class_list":["post-31","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-agile","tag-diagnostics","tag-lean","tag-metrics","tag-organizational"],"_links":{"self":[{"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/posts\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":0,"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dtsato.com\/blog\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}