As metas SMART são úteis para programadores? [fechadas]

57

Várias organizações que conheço usam as metas SMART para seus programadores. O SMART é um acrônimo para Específico, Mensurável, Alcançável, Relevante e Vinculado ao Tempo. Eles são bastante comuns em grandes corporações.

Minha própria experiência anterior com metas SMART não foi tão positiva. Será que outros programadores acharam uma maneira eficaz de medir o desempenho? Quais são alguns exemplos de boas metas SMART para programadores (se existirem).

    
por Craig Schwarze 22.12.2010 / 01:48
fonte

10 respostas

52

Em uma palavra

Não

Primeiro: eu nunca tive meus projetos permanecendo estáveis o suficiente para que eu pudesse estabelecer os objetivos SMART com algum significado. As escalas de tempo entre quando minhas funções são alteradas em um projeto e quando as revisões de desempenho são feitas estão muito fora de sincronia.

Segundo: medir o desempenho individual é uma ótima maneira de criar uma mentalidade "não meu trabalho" e competição negativa entre indivíduos e / ou as várias subequipes de uma organização. É muito fácil jogar o sistema e ter certeza de que você está cuidando de si mesmo e não está realmente ajudando todo o time. Devemos estar incentivando as pessoas a serem jogadores de equipe, mas nossas organizações fazem exatamente o oposto.

A maioria desses tipos de sistemas é antitética à formação de equipes. Mary Poppendieck fez um trabalho muito melhor de articular isso do que eu jamais poderia fazer em LeanEssays: Team Compensation .

Sue got a call from Janice in human resources. “Sue,” she said, “Great job your team did! And thanks for filling out all of those appraisal input forms. But really, you can’t give everyone a top rating. Your average rating should be ‘meets expectations’. You can only have one or two people who ‘far exceeded expectations’...”

... One of the greatest thought leaders of the 20th century, W Edwards Deming, wrote that un-measurable damage is created by ranking people, merit systems, and incentive pay. Deming believed that every business is a system and the performance of individuals is largely the result of the way the system operates. In his view, the system causes 80% of the problems in a business, and the system is management’s responsibility. He wrote that using exhortations and incentives to get individuals to solve management problems simply doesn’t work. Deming opposed ranking because it destroys pride in workmanship, and merit raises because they address the symptoms, rather than the causes, of problems.

...let’s take a deeper look into employee evaluation and reward systems, and explore what causes them to become dysfunctional...

    
por 22.12.2010 / 02:03
fonte
14

Usamos metas SMART na grande corporação em que trabalho. Eles são sem sentido na maior parte.

Metas vêm da alta administração e são sublimes e abstratos. Relacioná-los a projetos concretos e desenvolvimento é geralmente uma piada. A maioria dos projetos que entram no grupo são provenientes do negócio e devem atender a uma necessidade comercial específica. Então codifique o projeto, coloque-o em produção e faça um trabalho incrível como de costume. Como isso se relaciona com um objetivo que alguém da alta gerência criou?

Fazemos muito melhor como grupo quando criamos nossos próprios objetivos. Às vezes eles incluem treinamento em um tópico específico ou implementação de uma nova mudança de processo, algo que pode ser relacionado ao que fazemos. Eles ainda não estão realmente relacionados à operação cotidiana de codificação, pois são pelo menos coisas que ajudam a levar o grupo para o ambiente corporativo.

EDITAR

Como Mnementh apontou corretamente, minha resposta é baseada em metas SMART que não são, bem, SMART. Eu adicionaria à minha resposta que, se você é um gerente de programadores e deseja implementar metas SMART, certifique-se de que eles sejam SMART. Use o exemplo dos meus gerentes como forma de NÃO implementar metas SMART. Se você não gerencia os programadores e alguém lhe diz que agora você vai começar a usar as metas SMART e eles acabam como os nossos, então entenda que você tem pessoas na alta gerência que gostam de palavras e podem checar -los fora de uma lista de coisas que eles implementaram.

    
por 22.12.2010 / 02:11
fonte
10

Há muita pesquisa para mostrar que os programadores farão um excelente trabalho em qualquer critério que lhes seja apresentado, ao custo de outros objetivos possíveis.

Isso significa que eles farão bem em atingir metas específicas e mensuráveis, e menos bem em qualquer coisa que não esteja especificamente relacionada. Isso significa que você precisa ser extremamente cuidadoso ao estabelecer metas.

Você não deseja definir linhas de código como meta. Confie em mim. Definir bugs corrigidos leva a escrever código de buggy para começar. Pedir correções de bugs no código existente resultará em definições muito liberais de "bug" (e talvez "consertar"). (Além disso, a parte "realizável" depende de quão buggy o código estava.) Solicitando a integridade do recurso em um determinado momento, bem ....

O que você quer que seus programadores façam é escrever coisas úteis em um período de tempo razoável, com boa qualidade de código, e aprimorá-las e modificá-las, mantendo a qualidade do código. Eu nunca vi metas específicas e mensuráveis que seriam bons critérios.

    
por 22.12.2010 / 16:45
fonte
9

Passamos por este exercício todos os anos. O problema é que os desenvolvedores tendem a ter pouca autonomia sobre o que fazem (tarefas determinadas pelo gerente de produto). Temos a sorte que, pelo menos no papel, temos tempo dedicado a perseguir nossos objetivos. Realisticamente, temos muito menos que isso, no entanto.

Nesse contexto, descobri que estabelecer metas de autodesenvolvimento funciona muito bem. Por exemplo, dois dos meus objetivos do ano passado foram:

  1. Para ler Padrões de Design e escrever projetos de brinquedos para aprender e demonstrar cada padrão no próximo ano. Isso acabou levando 2 anos, mas o melhora a minha codificação tem sido perceptível.
  2. Para estudar o .NET 3.5 características de linguagem e fazer uma apresentação para os meus colegas de trabalho cada trimestre. Isso acabou sendo 1 apresentação no LINQ que meu colegas de trabalho apreciados em vários graus entre apático e ligeiramente interessado. No entanto, aprendi muito e demonstrei meu conhecimento C # Fui movido para trabalhar em um novo muito legal projeto.

Então, sim, eu me beneficiei e me diverti enquanto fazia isso.

Honestamente, na nossa empresa, acho que a falta de boas metas SMART para desenvolvedores tem mais a ver com a aversão automática a falar com empresas.

    
por 02.09.2011 / 21:19
fonte
8

Sim, se estiver definido corretamente.

Se definido corretamente, os objetivos podem melhorar a equipe e as pessoas individualmente. Eles devem estar alinhados ao trabalho também e projetados para o indivíduo.

Eu já estive em lugares onde uma equipe inteira de DBA tem os mesmos objetivos, assim como hand-downs de alto nível, como "estar em conformidade com os KPIs globais e regionais, conforme determinado pelo comitê de KPI". Que ninguém sabe, claro ..

Então, novamente, eu estive em lugares onde o gerente define objetivos individuais com o pensamento inicial.

Editar:

Li o artigo de Mary Poppendieck e não é sobre o SMART. "A Percepção da Impossibilidade" falha "Alcançável" por exemplo.

Os objetivos devem ser definidos para o indivíduo, para compartilhar seus pontos strongs, ajudar a corrigir os pontos fracos, contribuir para a equipe. A medição é para o indivíduo.

Não deve haver comparação de x vs y

Os objetivos para xey devem ser proporcionais à sua posição ou posição dentro de um sistema: não se definem os mesmos objetivos para idosos e juniores. Isso é injusto.

Algum benchmark é necessário para definir bônus ou payrises de um pote limitado: devemos contar linhas de código? Avaliações por pares?

E mostre-me válido alternativas que não exigem que eu mude o meu ethos corporativo global. Eu não tenho críticas à SMART: Eu faço tenho críticas de mijar os gerentes pobres ...

    
por 22.12.2010 / 05:49
fonte
5

Como uma estrutura de desempenho, a SMART é tão eficaz quanto seus objetivos estão alinhados aos de seus gerentes. Às vezes, seus objetivos SMART têm que DUMB down primeiro, ou seja. faça-os:

  • Fazer
  • Compreensível
  • Gerenciável
  • Benéfico

Tão estranho quanto isso possa soar.

    
por 22.12.2010 / 17:52
fonte
4

O estabelecimento de objetivos do tipo SMART pode ser útil em um contexto de programação mas tem que ser feito de forma inteligente ou, como apontado em outras respostas, é provável que seja perda de tempo (ou pior).

Para obter objetivos úteis, é útil concordar com o significado do acrônimo SMART: uma busca rápida no Google encontrou definições variadas :

  • S: parece ter um consenso na Specific (embora haja algum desacordo sobre o que isso significa)
  • M: Significativo e Motivacional são alternativas para o mais comum Mensurável
  • A: parece mais frequentemente representam Achievable, mas eu também visto concordado
  • R: dependendo de onde você olha, você pode encontrar Realista, Relevante, focado em resultados
  • T parece sempre fazer referência ao Tempo, embora a ênfase varia

Então, primeiro, ambos os lados da negociação de estabelecimento de objetivos devem estar trabalhando a partir de um entendimento comum do processo.

Em seguida, as metas gerais para a organização, divisão, grupo, equipe (ou qualquer hierarquia relevante) precisam ser explicadas e compreendidas. Nesse ponto, deve ser possível para o indivíduo (IMO, metas a serem definidas no nível individual valer a pena) poder concordar com um pequeno número de objetivos que devem informar as atividades da pessoa no futuro.

Se termina aí, ainda é um desperdício de tempo de todos. Os objetivos precisam ser revisados e ajustados regularmente - quando alcançada, a possível necessidade de estabelecer novos objetivos deve ser considerada, onde não alcançada, razões devem ser identificadas e ações corretivas prescritas quando necessário.

Todos os envolvidos devem estar cientes de que este tipo de exercício não vale a pena se não for levado a sério, ou talvez mais algoritmicamente, o valor a ser extraído é proporcional ao esforço colocado.

Pode ser instrutivo ver o que as pessoas acham que podem ser objetivos SMART úteis / que valem a pena. Eu coloquei uma questão aqui ...

    
por 22.12.2010 / 11:24
fonte
4

O problema com os objetivos SMART é que eles precisam escolher o que é mensurável. Como o que é mensurável e o que é importante para o sucesso da organização geralmente não é a mesma coisa (e praticamente nunca estão em programação), as metas da SMART sempre falham em avaliações de desempenho em minha experiência. E às vezes as coisas parecem mensuráveis, mas não faltam muito esforço (como o objetivo SMART, eu tive um tempo para responder a todos os emails em 4 horas. Realmente quem quer tentar passar pelos milhares de emails que recebo por ano, determinar se era informativo ou precisava de uma resposta e depois olhava meus e-mails enviados para ver se eu atendia e depois escutava gravações de todos os telefonemas para ver se eu atendi, verifiquei meu log de mensagens instantâneas para ver se eu atendi, etc. que tal e-mail que me foi enviado no sábado à noite à meia-noite ...)

    
por 12.04.2013 / 21:47
fonte
3

Para todas as pessoas que responderam NÃO, suas Metas provavelmente NÃO eram INTELIGENTES o suficiente.

Eu os usei e acho incrivelmente úteis. Você pode querer tentar algo que funcione para nós:

  1. Definir metas trimestrais.
  2. Defina metas mensuráveis.
  3. Defina apenas uma meta para o indivíduo
  4. Faça o indivíduo aceitar o objetivo, se ele disser que o objetivo é ambicioso demais, reajustável até o momento em que ambos concordarem.
  5. No final do trimestre, crie um valor booleano. Objetivo alcançado = verdadeiro ou falso.

Isso é extremamente poderoso, cria responsabilidade para o desenvolvedor. As pessoas que querem encontrar desculpas depois de 6 meses ou mais.

P.S: Eu posso entender as pessoas para baixo votando a resposta, mas por favor, escreva um comentário relevante pelo menos. Eu aprenderei algo que eu não sei: -)

    
por 22.12.2010 / 07:11
fonte
3

O SMART é um acrônimo para lembrar alguns critérios para melhores metas. Portanto, introduzir a SMART significa que sua gerência precisa se sair melhor seguindo esse princípio. Sem o gerenciamento da SMART, seria possível definir metas de qualquer maneira, mas elas provavelmente seriam muito difíceis.

Assim, para os programadores não devem mudar, o gerenciamento precisa mudar seu estilo para implementar o SMART. E, se o fizerem corretamente, seu trabalho como programador pode se tornar mais fácil, porque a direção do projeto é mais clara, os prazos são definidos e assim por diante.

Se a gerência não fizer isso corretamente, pouca coisa mudará.

    
por 22.12.2010 / 13:45
fonte