Algoritmo Angular C# CSS Dart Delphi Django Docker Flutter Git HTML Java JavaScript Kotlin Laravel Levantamento de requisitos Modelagem de dados MySQL MVC .Net Node.js Oracle Orientação a Objetos Padrões de projeto PHP PostgreSQL Python React React Native Rest Spring Scrum SQL SQL Server Teste de software TypeScript UML Vue.js
DevMedia - Plataforma para Programadores
Tecnologias
Comece aqui
Plano de estudos
Fundamentos
Algoritmo
Front-end
Angular
CSS
HTML
React
Vue.js
Mobile
Flutter
React Native
Linguagens
C#
Delphi
Dart
Java
JavaScript
Kotlin
PHP
Python
TypeScript
Back-end
Django
Laravel
Node.js
Spring
.Net
Arquitetura e Design
Orientação a Objetos
MVC
Rest
Padrões de projeto
Banco de dados
Modelagem de dados
MySQL
Oracle
PostgreSQL
SQL
SQL Server
CI/CD
Docker
Git
Teste de software
Engenharia de Software
Levantamento de requisitos
Scrum
UML
Navegue Cursos Artigos Vídeos Guias Projetos Revistas Fórum Ranking
crie sua conta
Empresarial
Login Senha Esqueceu o login ou a senha?
Entrar
Cadastre-se
Artigo Invista em você! Saiba como a DevMedia pode ajudar sua carreira.
Produtividade de times ágeis
Neste artigo será apresentada uma revisão de conceitos de produtividade de software, explicando como a produtividade deve ser interpretada em ambientes ágeis.
Suporte ao aluno
Anotações
Favoritar
Concluído
3 Gostei
3 Gostei
Favoritar
Este Artigo faz parte da Revista Engenharia de Software Magazine 43 Ver Revista
Suporte ao aluno
Anotar
Marcar como concluído
Artigos Engenharia de Software Produtividade de times ágeis
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:
Entendendo produtividade
Produtividade e Métodos Ágeis
Produtividade em diferentes níveis
Fatores de influência
Considerações
Cursos de Engenharia de Software
O que é UML?
Guias Engenharia de Software
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).
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.
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.
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
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
“Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado” .
3. 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 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
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
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
“Nossa maior prioridade é satisfazer o cliente” e “a arte de maximizar a quantidade de trabalho não realizado é essencial” .
8. Satisfação do cliente
“Nossa maior prioridade é satisfazer o cliente” .
9. 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
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
“Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho”
12. 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.
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
Cursos de Engenharia de Software
Cursos
O que é UML?
Curso
Guias Engenharia de Software
Guia
Suporte ao aluno
Anotar
Marcar como concluído
Inicie agora sua carreira de programador por apenas R$ 54,90/mês
Ainda está em dúvida? Experimente a plataforma durante 3 dias sem cartão. Faça um teste grátis
Já conhece nosso Plano Empresarial? Conheça agora!
Benefícios
Suporte em tempo real
Certificado de autoridade
Exercícios para praticar
Estudo gamificado
Planos de estudo para cada carreira de programador
Saiba mais
Por Devmedia Em 2011
Receba nossas novidades
Receber Newsletter
Suporte ao aluno Minhas dúvidas
Menu
Tecnologias
Exercicios
Cursos
Artigos
Revistas
Fale conosco
Plano para Instituição de ensino
Assinatura para empresas
Assine agora
Tecnologias
Fundamentos
.NET
PHP
Python
Java
Delphi
HTML e CSS
JavaScript
Node
React Native
Flutter
Banco de Dados
Mobile
Spring
Arquitetura
Automação
Engenharia
+ Assuntos
Hospedagem web por Porta 80 Web Hosting
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.