Por que eu devo ler este artigo:Neste artigo será apresentada uma revisão de conceitos de produtividade de software, explicando como a produtividade deve ser interpretada em ambientes ágeis. Além disso, serão discutidos os principais fatores que impactam a produtividade de times, especialmente times ágeis.

Para todos os membros de times ágeis, scrum masters, coaches e gerentes que desejam compreender e melhorar a produtividade dos times em que participam, assim como interessados em adotar métodos ágeis visando aumento de produtividade.


Guia do artigo:

Métodos ágeis de desenvolvimento de software vêm ganhando crescente popularidade e vêm oferecendo melhores resultados para os projetos de software quando comparados às abordagens mais tradicionais. Um dos principais motivadores para a adoção de métodos ágeis é a expectativa de aumento da produtividade dos times de desenvolvimento. Mas o que é produtividade? Como defini-la em ambientes ágeis? Que fatores influenciam a produtividade de times, especialmente times ágeis? Este artigo tem como objetivo responder essas perguntas, sendo um primeiro passo para a compreensão do tema e base para iniciativas de monitoramento e melhoria da produtividade.

Produtividade de software tem sido estudada intensivamente ao longo dos anos , em geral com o intuito de reduzir custos de desenvolvimento e melhorar o tempo gasto até o lançamento do produto (time-to-market). Diversos métodos, ferramentas e técnicas vem sendo desenvolvidos com o intuito de melhorar a produtividade de software, desde a produtividade individual, até a de times e organizações.

Métodos ágeis de desenvolvimento de software vêm ganhando crescente popularidade desde o início da década de 2000 e, em algumas circunstâncias, podem oferecer melhores resultados para os projetos de software quando comparados às abordagens mais tradicionais. Eles são regidos pelo Manifesto Ágil , conjunto de valores e princípios criados por 17 desenvolvedores experientes, consultores e líderes da comunidade de desenvolvimento de software. Exemplos de métodos ágeis são a Programação Extrema , Scrum , Crystal e Lean Software Development .

Métodos ágeis prometem produzir software de alta qualidade com alta produtividade, o que atrai a atenção das empresas que demandam cada vez mais velocidade e qualidade em seus produtos. Resultados recentes de pesquisas em nível mundial e nacional mostram que um dos maiores motivadores para a adoção de métodos ágeis por organizações é a expectativa de aumento da produtividade.

No entanto, produtividade é um conceito vago, o que gera confusão e, em geral, má definição do termo por times e organizações. Produtividade muitas vezes é definida como eficácia, eficiência ou desempenho. Diante de tantas definições, como avaliar a produtividade de times ágeis? Como identificar se os times têm apresentado melhor produtividade, com a finalidade de mantê-la, ou mesmo identificar quedas de produtividade? Para respondermos essas perguntas, devemos partir do ponto básico: definir produtividade.

Outro ponto importante é compreender os principais fatores que influenciam a produtividade de times, desde aspectos humanos dos membros, até fatores externos ao projeto que está sendo desenvolvido. Entendendo os fatores, os membros de time, líderes e gerentes ganham maior sensibilidade para notar quando algo errado está acontecendo, o que permite uma ação mais rápida sobre o problema.

Entendendo produtividade

Apesar da produtividade ter sido intensamente estudada ao longos dos anos, ela ainda é uma questão controversa. Em primeiro lugar, existem diversos conceitos relacionados à produtividade, como efetividade, eficiência e desempenho, o que gera mal entendidos e a sobrecarga do termo produtividade. A Tabela 1 lista as principais definições relacionadas ao tema.

Termo

Significados

Produtividade

Relação entre a quantidade de saídas (i.e., produto produzido corretamente que satisfaz as especificações) e a quantidade de entradas (i.e., todos os recursos que são utilizados na produção).

Lucratividade

Relação de saídas e entradas, onde fatores monetários são incluídos. Calculadas geralmente a partir da relação Receita/Custo, ou Retorno de Investimento (ROI).

Desempenho

É considerado um termo guarda-chuva no que fiz respeito à excelência, pois cobre lucratividade, produtividade e outros aspectos como qualidade, entrega, velocidade e flexibilidade.

Eficiência

Representa o quão bem os recursos estão sendo utilizados no processo de criação do produto.

Efetividade

Representa o grau em que os resultados são alcançados.

Tabela 1. Principais conceitos relacionados à produtividade (adaptado de ).

A Figura 1 mostra a relação entre os conceitos apresentados na Tabela 1. Produtividade, lucratividade e desempenho são razões entre saídas produzidas e entradas utilizadas, onde cada uma engloba mais aspectos que a anterior.

A Produtividade é a capacidade de produzir saídas com qualidade com o melhor aproveitamento dos recursos de entrada (como o tempo). A lucratividade, além disso, inclui a recuperação de preço, que é a relação entre o preço em que o produto foi vendido e o custo para gerá-lo (lucro). Desempenho, por fim, engloba todas as questões econômicas e de operação que influenciam a competitividade da empresa, como a qualidade geral do serviço/produto e dos processos da organização, a capacidade de se adaptar às necessidades e a velocidade de entrega (time-to-market). Efetividade e eficiência são conceitos transversais aos primeiros apresentados, que mostram, respectivamente, o quão boa é a saída e o quanto a entrada foi bem utilizada. É possível notar os elementos de eficiência e efetividade, por exemplo, na definição de produtividade: capacidade de produzir saídas com qualidade (efetividade) com o melhor aproveitamento dos recursos de entrada (eficiência).

Principais conceitos de produtividade e suas
correlações
Figura 1. Principais conceitos de produtividade e suas correlações.

Todos esses conceitos já foram mapeados de alguma maneira para o mundo de desenvolvimento de sistemas. A Figura 2 mostra a relação entre os conceitos de produtividade e como vêm sendo mapeados em desenvolvimento de software por meio de algumas métricas.

Relação entre conceitos de produtividade e
principais mapeamentos
Figura 2. Relação entre conceitos de produtividade e principais mapeamentos.

A produtividade inicialmente foi compreendida como a razão simples entre saídas produzidas por entradas utilizadas. A primeira métrica utilizada para medir produtividade foi a de número de Linhas de código (LOC)/horas (ou outra unidade de tempo). Jones ilustra diversos problemas com essa métrica. O primeiro diz respeito à variação de expressividade entre linguagens de programação, que implica que a mesma solução de um problema é expressada com uma quantidade diferente de linhas de código dependendo da linguagem usada. Além disso, facilmente, um programador pode dobrar o número de linhas de código apenas adotando um formato ou estilo de programação diferente. Outra métrica tradicional de produtividade de software utilizada como base de comparação e até critério para contratação de serviços é a de Pontos de Função/horas, uma forma de relacionar as funcionalidades produzidas (em vez de linhas de código) com o tempo gasto para tal.

Com o surgimento dos métodos ágeis, a maneira de compreender produtividade mudou de foco. Uma das mudanças de foco pode ser percebida no Manifesto Ágil, que traz como primeiro princípio:

“Nossa maior prioridade é satisfazer o cliente através da entrega cedo e contínua de software com valor agregado.”

Dessa forma, métodos ágeis encorajam que o esforço de desenvolvimento de software seja associado ao valor que ele propicia [9]. Ou seja, os times são responsáveis por entregar software funcionando constantemente e que gere valor. Nesse sentido, a produtividade de um time ágil está muito relacionada à capacidade de entregar funcionalidades de alto valor para o cliente o mais cedo possível. Esse conceito de valor em geral é associado a métricas financeiras como Receita gerada/Empregado ou Retorno de Investimento. De fato, diversos autores da comunidade ágil, como Tom e Mary Poppendieck , ou Martin Fowler [8], defendem essas definições de produtividade.

Por fim, desempenho em software vem sendo associado a múltiplas métricas, uma vez que envolve mais aspectos, como qualidade, entrega flexibilidade e velocidade. Conforme Lu et al. , em geral, as empresas utilizam questionários para avaliar o desempenho de times de desenvolvimento e essas informações são utilizadas em nível organizacional.

Mas e a Produtividade dos Trabalhadores do Conhecimento (PTC)?

Um time de desenvolvimento de software é um time formado por trabalhadores do conhecimento (ler Nota 1). Ramírez e Nembhard sintetizam as principais dimensões relacionadas à produtividade de trabalhadores de conhecimento (PTC), apresentadas na Tabela 2.

Nota 1. Trabalhadores do conhecimento

Trabalhador do conhecimento (knowledge worker) é um termo introduzido por Peter Drucker , pai da Administração Moderna, para descrever o trabalhador que aplica conhecimento teórico e analítico, adquirido por educação formal e experiência, para desenvolver novos produtos e serviços. Desenvolvedores de sistemas são exemplo de trabalhadores do conhecimento.

Dimensões da PTC

Descrição

1. Quantidade

Considera quantidade de saídas produzidas.

2. Lucratividade

Considera lucratividade e custos provenientes do produto em criação.

3. Em tempo oportuno

Grau em que o produto/solução foi entregue em tempo hábil/útil. Considera o cumprimento dos prazos estabelecidos e outras questões temporais.

4. Autonomia

Grau de independência e quantidade de coisas que o trabalhador pode fazer por vez.

5. Eficiência

Conceito transversal que refere-se a fazer as coisas de maneira correta, eficiente, atendendo às especificações, mesmo as não importantes para o trabalho.

6. Qualidade

Grau do quão bom o trabalho é.

7. Efetividade

Conceito transversal que refere-se a fazer as coisas certas, ou seja, apenas as tarefas que são importantes para o trabalho, mesmo que sejam concluídas sem cumprimento das normas de qualidade, tempo etc.

8. Satisfação do cliente

Explica o fato de que o produto precisa adicionar valor ao cliente.

9. Sucesso do projeto

Considera o resultado global do trabalho, considerando-se a tomada de decisões, interação da equipe, comunicação, previsibilidade, gestão de crises, documentação, transferência de trabalho etc.

10. Grau de inovação/ Criatividade

Representa a capacidade de criação de soluções novas, além de ideias para melhorar produtividade.

11. Responsabilidade

Grau em que há bom desempenho em momentos críticos.

12. Aprendizado

Trabalho do conhecimento requer aprendizagem e ensino contínuos.

Tabela 2. Dimensões da produtividade do trabalhador do conhecimento (PTC).

O que o conceito de produtividade de trabalhadores de conhecimento traz de novo em termos de compreensão do que é produtividade? Se compararmos as dimensões da produtividade do trabalhador do conhecimento com as definições já apresentadas, percebemos diversas similaridades. No entanto, ela adiciona novos aspectos importantes a serem considerados, como grau de autonomia, responsabilidade, aprendizado e criatividade. Ou seja, essas dimensões também representam sinais de produtividade de times de desenvolvimento de software.

A Figura 3 ilustra a relação da produtividade dos trabalhadores do conhecimento e as demais definições de produtividade. Além dos aspectos já discutidos de produtividade, lucratividade e desempenho geral da organização em que trabalham, os trabalhadores do conhecimento também são mais produtivos quando desenvolvem trabalhos com maior autonomia (menor dependência), quando são capazes de assumir responsabilidades, quando aprendem e quando geram soluções criativas.

Relação entre a produtividade de trabalhadores
do conhecimento e outras definições de produtividade
Figura 3. Relação entre a produtividade de trabalhadores do conhecimento e outras definições de produtividade.

Produtividade e Métodos Ágeis

Depois de 10 anos da publicação do Manifesto Ágil, ainda existem questionamentos sobre quais as reais diferenças entre a abordagem ágil e a abordagem tradicional de desenvolvimento de software. Para definir produtividade no contexto ágil, é importante ter a proposta de métodos ágeis clara e, com isso, estabelecer as dimensões de produtividade que de fato importam. A Tabela 3 apresenta os principais princípios de métodos ágeis, em contraste aos métodos tradicionais.

Métodos tradicionais

Métodos ágeis

Suposições fundamentais

Sistemas são totalmente especificáveis, previsíveis, e podem ser construídos através de meticuloso e extenso planejamento

Software flexível e de alta qualidade pode ser desenvolvido por pequenas equipes usando os princípios de melhoria contínua e teste do design, com base no feedback rápido e mudanças

Controle

Centrado em processo

Centrado em pessoas

Objetivo

Otimização

Adaptação, flexibilidade, capacidade de resposta

Características-chave

  • Controle e direção
  • Evita o conflito
  • Formaliza a inovação
  • Gerente é controlador e maior responsável
  • Projeto precede a implementação
  • Colaboração e comunicação
  • Abraça conflito e dialética
  • Encoraja a exploração e a criatividade é oportunista
  • Gerente é facilitador, time é responsável
  • Projeto e implementação são inseparáveis e evoluem de forma iterativa

Abordagem de resolução de problemas

Seleção dos melhores meios para chegar em um determinado fim através de atividades bem planejadas e formalizadas

Aprendizagem através da experimentação e introspecção, constantemente reformulando a problema e sua solução

Tabela 3 Foco dos Métodos tradicionais versus Métodos Ágeis

Produtividade de times ágeis

Com todas as definições apresentadas, é possível fazer uma análise sobre quais conceitos de produtividade são relevantes para times ágeis. Times ágeis são compostos por trabalhadores do conhecimento trabalhando em conjunto para alcançarem um objetivo em comum. Nesses grupos, a produtividade individual não é tão importante quanto a produtividade de time. Sendo assim, o foco de produtividade em ambientes ágeis deve ser muito mais nos times do que nos membros em si.

É possível compreender melhor a produtividade no contexto ágil cruzando os princípios ágeis e as definições de produtividade já apresentadas. A Tabela 4 apresenta essa relação, onde fica claro que diversas dimensões da produtividade do trabalhador do conhecimento são adequadas para times ágeis.

Dimensões da PTC

Relevância

O porquê

1. Quantidade

Quantidade

Medir quantidade de saídas em times ágeis não é relevante para times ágeis, uma vez que “a arte de maximizar a quantidade de trabalho não realizado é essencial” .

2. Lucratividade

Lucratividade

“Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado” .

3. Em tempo oportuno

Em tempo oportuno

Times ágeis devem fazer entregas contínuas, gerando valor em tempo oportuno. Prazos não devem ser modificados (respeito ao timebox), pelo contrário, devem ser iminentes para serem levados à sério [4].

4. Autonomia

Autonomia

Autonomia do time é essencial para o estabelecimento da auto-organização e estabelecimento da confiança. “Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho”

5. Eficiência

Eficiência

Apesar de certo grau de eficiência ser importante, o foco dos métodos ágeis está na adaptação, flexibilidade e capacidade de resposta (veja Tabela 3). Portanto, seu uso deve ser dosado ao compor um indicador.

6. Qualidade

Qualidade

Aspectos de qualidade interna e externa são muito importantes ao considerarmos a produtividade de times ágeis: “contínua atenção à excelência técnica e bom design aumenta a agilidade” e “nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado”.

7. Efetividade

Efetividade

“Nossa maior prioridade é satisfazer o cliente” e “a arte de maximizar a quantidade de trabalho não realizado é essencial” .

8. Satisfação do cliente

Satisfação do
 cliente

“Nossa maior prioridade é satisfazer o cliente” .

9. Sucesso do projeto

Sucesso do projeto

Desenvolvimento de pessoas (tomada de decisões, interação da equipe e comunicação) são de extrema importância para times ágeis.

Note que a definição de sucesso do projeto (Tabela 3) inclui previsibilidade e documentação, mas elas não são prioritárias em times ágeis.

10. Grau de inovação/ criatividade

Grau de inovação/ criatividade

Métodos ágeis encorajam a exploração e a criatividade é oportunista (Tabela 3). “Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo” .

11. Responsabilidade

Responsabilidade

“Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho”

12. Aprendizado

Aprendizado

“Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo” .

Tabela 4. Dimensões de produtividade de times ágeis.

Sendo assim, é possível verificar que praticamente todas as dimensões de produtividade do trabalhador do conhecimento se aplicam a times ágeis. Definir quais delas serão adotadas, assim como o peso de cada uma, cabe a cada time ou organização. A partir disso torna-se viável monitorar a produtividade dos times visando a melhoria contínua, um objetivo intrinsicamente ágil.

Produtividade em diferentes níveis: indivíduo, time e organização

O significado de produtividade pode variar de acordo com o contexto . Isso significa que atingir altos níveis de produtividade requer especificar a qual nível estamos nos referindo: individual, de time ou organizacional.

Objetivos de produtividade de uma empresa dependem da produtividade de times e indivíduos, mas nem sempre essa relação é direta. Objetivos de produtividade de um time podem conflitar com os objetivos individuais de produtividade. Por exemplo, se um desenvolvedor quer elevar sua produtividade individual, provavelmente não irá gastar tanto tempo auxiliando outros colegas do time quando necessário. Ele terá um aumento da sua produtividade individual, mas o time talvez não, uma vez que os demais colegas ficarão sem ajuda e potencialmente gastarão mais tempo para resolver as tarefas do projeto. Portanto, é necessário definir a produtividade esperada para cada nível e tentar não criar conflitos entre a produtividade individual, de time e a organizacional.

Fatores de influência na produtividade

Diversos fatores influenciam a produtividade de indivíduos, times e organizações de software. Nós apresentamos uma síntese de fatores de produtividade pesquisados ao longo dos anos em estudos baseados em evidências empíricas . A Figura 4 resume os principais fatores que impactam a produtividade de software, divididos em quatro categorias: fatores de produto, de pessoal, de projeto e de processo.

Fatores tradicionais de influência na
produtividade
Figura 4. Fatores tradicionais de influência na produtividade.

Chow e Cao conduziram uma pesquisa com 109 projetos ágeis em 25 países e, após uma análise criteriosa dos resultados, obtiveram uma lista dos fatores e seus atributos mais importantes para o sucesso de projetos ágeis. Apesar de não existir evidência clara de que esses fatores influenciam a produtividade, uma vez que o sucesso do projeto é uma dimensão da produtividade, pode-se considerá-los fatores em potencial. É importante notar que são necessários mais estudos para apontar fatores de produtividade em times ágeis, mas o estudo de Chow e Cao contribuem nessa direção (ver Tabela 5).

1. Estratégia de Entrega:

  • Entrega regular de software
  • Oferecer funcionalidades mais importantes em primeiro lugar

2. Técnicas de Engenharia:

  • Normas de codificação definidas cedo
  • Perseguir um design simples
  • Refatoração aplicada rigorosamente
  • Quantidade certa de documentação
  • Teste de integração correto

3. Capacidade da equipe:

  • Membros da equipe com alta competência
  • Membros da equipe com grande motivação
  • Gerentes com conhecimento em métodos ágeis
  • Gerentes com estilo de gestão adaptativo
  • Formação técnica adequada para a equipe

4. Gerenciamento do projeto:

  • Aplicar gerenciamento de requisitos, de projetos e de configuração no estilo ágil
  • Bom mecanismo de acompanhamento (tracking)
  • Grande foco em comunicação, com reuniões face a face diárias
  • Honrar horário de trabalho

5. Ambiente de equipe:

  • Co-localização de toda a equipe
  • Trabalho em time auto-organizado
  • Projetos com equipe pequena
  • Projetos sem muitas equipes independentes

6. Envolvimento do cliente:

  • Bom relacionamento com o cliente
  • Forte compromisso e presença do cliente
  • O cliente ter total autoridade
Tabela 5. Fatores de sucesso de projetos ágeis.

Os resultados de Chow e Cao mostram que, dentre os participantes da pesquisa, o fator mais importante para o sucesso de um projeto ágil é a estratégia de entrega, que inclui a frequência e a correta priorização do que deve ser entregue. Em segundo lugar, os participantes acreditam que as técnicas de engenharia definem o sucesso de um projeto ágil, como design simples, refatoração e testes de integração. Em seguida, a capacitação da equipe técnica e gerencial para trabalhar com métodos ágeis, assim como a motivação. Em quarto lugar, o gerenciamento do projeto, ou seja, processos de gerenciamento adequados ao ambiente ágil envolvendo requisitos, gerência de configuração, acompanhamento comunicação e horário de trabalho. Por fim, o ambiente de trabalho e o envolvimento do cliente foram apontados como fatores de sucesso, seja no aspecto de co-localização dos membros, tamanho dos times e auto-organização, seja pelo cliente presente e de fato participante do projeto.

Nós acompanhamos dois times ágeis (que usam XP e Scrum) em duas grandes empresas brasileiras (de diferentes ramos de negócio) por seis meses . Encontramos 5 fatores de produtividade que mais impactaram os times ao longo do tempo: composição e alocação de time; dependências externas; rotatividade de membros; programação em pares e co-localização. Os três primeiros fatores são gerais e os dois últimos ligados a práticas ágeis.

Considerações finais

Neste artigo, foram discutidas definições de produtividade, levando-se em conta termos considerados sinônimos ou inter-relacionados, tais como eficiência, efetividade e desempenho. Foi apresentado um mapeamento entre essas definições e o contexto de desenvolvimento de software. De maneira complementar, foi apresentada a definição de produtividade do trabalhador do conhecimento, ainda pouco conhecida e utilizada no contexto de sistemas. Ao contrário do que pensado originalmente, produtividade é um conceito multi-facetado, que deve levar em conta diversas dimensões, cada uma com um peso a ser definido por times e organizações.

Além disso, o artigo mostrou que a produtividade de times ágeis pode ser compreendida como a produtividade de trabalhadores do conhecimento (PTC). Cada dimensão da PTC foi relacionada a um ou mais princípios do Manifesto Ágil ou outros trabalhos de peso na área de Métodos Ágeis. Portanto, times ágeis produtivos entregam funcionalidades de alto valor ao cliente e, ao mesmo tempo, mantêm diversos outros aspectos como criatividade, flexibilidade, aprendizado, efetividade etc.

Finalmente foram apresentados diversos fatores que em geral impactam a produtividade de times de software. Além disso, dois trabalhos recentes relacionados à produtividade de times ágeis foram discutidos. Ainda há muito a se pesquisar para compreender se os fatores que impactam os times ágeis são os mesmos de times tradicionais ou não. Os resultados disponíveis até o momento mostram que há diferenças, principalmente nos fatores pessoais - como formação dos times - e também naqueles relacionados a práticas ágeis específicas.

Referências

Beck, K., Andres, C., November 2004. Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional.

Chow, T., Cao, D-B., 2008. A survey study of critical success factors in agile software projects. Journal of Systems and Software 81 (6), 961–971.

Cockburn, C. 2004. Crystal Clear a Human-Powered Methodology for Small Teams (First ed.). Addison-Wesley Professional.

[4] Cooke, J. L. 2010. Agile Productivity Unleashed: Proven Approaches for Achieving Real Productivity Gains in Any Organization. It Governance Ltd.

Corbucci, H. ; Goldman, A.; Katayama, E. ; Kon, F. ; Melo, C. O. ; Santos, V. S. . Genesis and Evolution of the Agile Movement in Brazil – A perspective from the Academia and the Industry (in press). In: SBES is 25. Proceedings of 25th Brazilian Symposium on Software Engineering (SBES), São Paulo, 2011.

Drucker, P. F., 1994. Adventures of a Bystander. Transaction Publishers, New Brunswick, NJ.

[7] Drucker, P. F., 1999. Knowledge-Worker Productivity: The Biggest Challenge. California Management Review 41 (2), 79–94.

[8] Fowler, M., August 2003. Cannot measure productivity. http: //martinfowler.com/bliki/CannotMeasureProductivity.html.

[9] Hartmann, D., Dymond, R., 2006. Appropriate agile measurement: Using metrics and diagnostics to deliver business value. AGILE Conference 2006, 126–134.

Jones, C., April 2008. Applied software measurement: Global Analysis of Productivity and Quality, 3rd Edition. McGraw-Hill Osborne Media.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. Manifesto for agile software development. http://agilemanifesto.org/, 2001.

Lu, Y., Xiang, C.,Wang, B.,Wang, X., 2011. What affects information systems development team performance? an exploratory study from the perspective of combined socio-technical theory and coordination theory. Computers in Human Behavior 27 (2), 811 – 822.

Melo, C., Cruzes, D. S., Kon, F., Conradi, R., 2011. Agile team perceptions of productivity factors. In: Proceedings of the AGILE Conference 2011 (AGILE). IEEE Computer Society, Salt Lake City, UT, USA, p. 57-66.

[14] Nerur, S., Balijepally, V., March 2007. Theoretical reflections on agile development methodologies. Commun. ACM 50, 79–83.

Nerur, S., Mahapatra, R. e Mangalaraj, G. 2005. Challenges of migrating to agile methodologies. Commun. ACM 48, 5 (May 2005), 72-78.

Poppendieck, M., Poppendieck, T., 2003. Lean Software Development: An Agile Toolkit. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

Ramírez, Y. W., Nembhard, D. A., 2004. Measuring knowledge worker productivity: A taxonomy. Journal of Intellectual Capital 5 (4), 602–628.

Schwaber, K., Beedle, M., 2001. Agile Software Development with Scrum, 1st Edition. Prentice Hall PTR, Upper Saddle River, NJ, USA.

Tangen, S., 2005. Demystifying productivity and performance. International Journal of Productivity and Performance Management 54 (1), 34–46.

Trendowicz, A. and Munch, J. “Factors influencing software development productivity - state-of-the-art and industrial experiences”, Advances in Computers, vol. 77, pp. 185–241, 2009.

VersionOne. 5th annual state of agile development. http://pm.versionone.com/StateOfAgileSurvey.html, 2010.

Confira também