A definição de objetivos do tipo SMART pode ser útil em um contexto de programação, mas deve ser feita de maneira inteligente ou, como apontado em outras respostas, é provável que seja uma perda de tempo (ou pior).
Para obter objetivos úteis, é útil concordar com o significado do acrônimo SMART: uma pesquisa rápida no Google encontrou várias definições :
- S: parece ter consenso em Specific (embora haja alguma discordância sobre o que isso significa)
- M: Significativo e Motivacional são alternativas para o Mensurável mais comum
- R: parece representar com maior frequência o Achievable, mas também vi 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 varie
Então, primeiro, os dois lados da negociação de definição de objetivos devem trabalhar a partir de um entendimento comum do processo.
Em seguida, os objetivos gerais da organização, divisão, grupo, equipe (ou qualquer hierarquia relevante) precisam ser explicados e compreendidos. Nesse ponto, deve ser possível que o indivíduo (IMO, as metas devam ser definidas no nível individual para que valha a pena) para poder concordar com um pequeno número de objetivos que devem informar as atividades dessa pessoa no futuro.
Se termina aí, ainda foi um desperdício de tempo de todos. Os objetivos precisam ser revisados e ajustados regularmente - quando alcançados, a possível necessidade de estabelecer novos objetivos deve ser considerada, quando não alcançada, as razões devem ser identificadas e as ações corretivas prescritas quando necessário.
Todos os envolvidos devem estar cientes de que esse tipo de exercício não vale a pena se não for levado a sério, ou talvez de maneira mais algorítmica, o valor a ser extraído seja proporcional ao esforço realizado.
Pode ser instrutivo ver o que as pessoas acham que podem ser objetivos úteis / úteis da SMART. Eu fiz uma pergunta aqui ...