SlideShare uma empresa Scribd logo
Escola Politécnica da Universidade de São Paulo
Candidato: Marvin Ferreira da Silva
Orientador: Prof. Dr. Edison Spina
Análise de aderência de práticas ágeis na
cultura de startups de software:
o mapeamento de práticas através do
SEMAT Kernel
Introdução e Motivação
• Surgimento de pequenas empresas de alta tecnologia
com restrições de recursos e extrema incerteza;
• Apesar de suas restrições, possuem grande impacto
econômico;
• Nicho não considerado pelas atuais práticas da
engenharia de software;
• Aprendizado pode ser aplicado em outros tipos de
organizações;
(FAYAD, ET AL., 2000) (SUTTON, 2000) (GIARDINO; ET AL, 2014)
2
Problema de Pesquisa
Qual grau de aderência da utilização de
práticas ágeis, independentes de seus
métodos, aplicadas ao ambiente de
empresas startups de software?
3
Objetivos de Pesquisa
Objetivos gerais:
• Identificar quais práticas contidas nos métodos ágeis
são mais utilizadas em empresas startup;
4
Objetivos específicos:
• Mapear a cobertura destas práticas;
• Analisar aplicabilidade em ambientes com restrições
reais;
• Propor um ponto de partida para ágil em startup;
Roteiro
• Contextualização
• Antecedentes
• Startup
• Desenvolvimento Ágil
• SEMAT
• Solução Proposta
• Estudo de Caso
• Conclusão
5
Contextualização
• Apenas nos Estados Unidos, 476 mil empresas criadas
por mês (EUA);
• Voltadas para inovação tecnológica;
• Pequenas e médias empresas geradoras de posto de trabalho;
6
Contextualização
(SUTTON, 2000) (YAU; MURPHY, 2013) (FAIRLIE, 2013) (FAIRLIE, 2014) (GIARDINO; ET AL, 2014)
• Problemas diferentes das demais empresas;
• Processo x sobrevivência;
• Falta de estudos específicos;
• É uma tendência;
7
Antecedentes - Startup
“Uma pequena companhia explorando novas oportunidades de
negócios, trabalhando para resolver problemas onde a solução
não é bem conhecida e o mercado é altamente volátil.”
(GIARDINO; ET AL, 2014)
8
Características:
- Jovens e imaturas
- Recursos limitados
- Influências múltiplas
- Tecnologias e mercados dinâmicos
(SUTTON, 2000)
Antecedentes – Desenvolvimento ágil
9
- Processos burocráticos
- Manifesto ágil (2001)
• Indivíduos e interação entre eles mais que processos e
ferramentas
• Software em funcionamento mais que documentação
abrangente
• Colaboração com o cliente mais que negociação de
contratos
• Responder a mudanças mais que seguir um plano
Antecedentes – Desenvolvimento ágil
“A capacidade de criar e responder a mudanças a fim de lucrar
em um ambiente de negócios turbulento”
(HIGHSMITH, 2002)
“A habilidade de uma organização de reagir a mudança em seu
ambiente mais rapidamente que a taxa de mudanças.”
(KRUTCHEN, 2010)
10
Antecedentes – Desenvolvimento ágil
Distribuição da adoção de processos ágeis ao longo dos anos
Fonte: VersionOne, 2007-2014
11
Antecedentes – Desenvolvimento ágil
Distribuição da adoção de processos ágeis
Fonte: VersionOne, 2013
12
Antecedentes – SEMAT
Software Engineering Method and Theory
• Criado em 2009 por Ivar Jacobson, Richard Soley
e Bertrand Meyer
• Motivações:
• Grande diversidade de métodos existentes que em
essência pouco diferem;
• Área tomada por modismos;
• Falta de uma base teórica sólida e aceita;
• Falta de avaliação e validação experimental de
credibilidade;
13
Antecedentes – SEMAT
(SEMAT, 2012)
Arquitetura SEMAT
Fonte: SEMAT, 2012
14
Antecedentes – SEMAT Alphas (Kernel)
(SEMAT, 2012)
ClienteSoluçãoEmpreitada
15
Solução Proposta
• Identificar os 4 métodos ágeis mais utilizados e isolar suas
práticas
• Mapeá-las a quais domínios do SEMAT estão relacionadas e
seus respectivos alphas
• Desenvolver um questionário capaz avaliar a utilização de
cada prática em ambientes reais
• Classificar os dados por faixa de utilização
• Identificar a existência ou não de um conjunto mínimo
16
Solução Proposta
Diferença dos demais trabalhos/Estudos já existentes:
• Focado em práticas, não em métodos;
• Utilização de um meta-modelo agnóstico a processos de
software;
• Estudo direcionado a um nicho específico e pouco explorado;
• Análise de aderência, não de eficácia;
17
Solução Proposta – Práticas
(Agile Alliance, 2015)
18
Solução Proposta – Mapeamento Práticas/Atividades
(SEMAT, 2012)
19
Solução Proposta
Critérios para práticas serem elegíveis ao ambiente de uma
startup:
• Consumo de recursos, financeiros ou não;
• Excesso de burocracia, ainda que sejam práticas ágeis;
• Melhora na comunicação entre os envolvidos;
Dentro de 58 possíveis, foram eleitas 34 práticas.
20
Estudo de Caso - Introdução
- Questionário baseado em escalas Likert
- Divulgação: e-mail para incubadoras, grupos de discussão
sobre startups, blogs sobre empreendedorismo e redes sociais
- Os respondentes se basearam em experiências presentes ou
passadas em um ambiente de startup
- Um total de 28 respondentes, com 27 aceitando participar
do estudo
21
Estudo de Caso - Método
• 34 práticas selecionadas reduzidas a um conjunto de 26 em
um agrupamento por similaridade;
• Questionário dividido em 6 seções;
• Foi desenvolvido um total de 32 questões baseadas em
afirmações diretas
– 26 capazes de medir a atitude do respondente em alta ou baixa
concordância
– 6 para confirmação ou antítese
22
Estudo de Caso – Análise dos Resultados
Quanto aos respondentes
- Idade 𝑋 = 27 anos, 𝜎 = 5 anos
Experiência:
Colaboradores presentes na startup:
- 59,3% para até 9 pessoas e 37% para empresa de 10 a 49
pessoas
23
24
Estudo de Caso – Análise dos Resultados
1 2 3 4 5
Pouco utilizadas UtilizadasNeutro
Escala
Likert
- Pouco utilizada <= 40%
- Medianamente utilizada > 40% e <= 50%
- Utilizada se sua > 50% e <= 60%
- Muito utilizada > 60%
Critérios de classificação:
Estudo de Caso – Análise dos Resultados
Agrupamento primário das
respostas obtidas, incluindo
a análise contracenada com
suas respectivas antíteses
e perguntas de reforço.
Práticas
Não utilização
(%)
Neutro
(%)
Utilização
(%)
Seleção Voluntária de Tarefas 25,9 29,6 44,4
Integração Contínua 25,9 25,9 48,1
Implantação Contínua 33,3 14,8 51,9
Histórias de Usuário 37 18,5 44,4
Propriedade Coletiva 14,8 22,2 63
Design Simples 29,6 33,3 37
Refatoração 11,1 22,2 66,7
Testes - Código 33,3 18,5 48,1
Testes - Aplicação 34,6 19,2 46,2
Padrões de Codificação 18,5 22,2 59,3
Visão do fluxo de trabalho e
riscos/Kanban Board 18,5 18,5 63
Limitação do trabalho em
progresso 33,3 18,5 48,1
Tornar o processo explícito 18,5 11,1 70,4
Implementar ciclos de
feedback 25 17,3 57,7
Aumentar colaborativamente
e evoluir experimentalmente 11,5 30,8 57,7
Desenvolvimento Iterativo,
Incremental e timeboxed 15,4 19,2 65,4
25
Estudo de Caso – Análise dos Resultados
26
Estudo de Caso – Análise dos Resultados
Explorar Possibilidades
Compreender as Necessidades dos
Stakeholders
Garantir a Satisfação dos
Stakeholders
Utilizar o Sistema
Histórias de Usuário Histórias de Usuário
Implantação Contínua
Testes (Código e Aplicação)
Desenvolvimento
Incremental e Iterativo
Desenvolvimento Incremental e
Iterativo
Desenvolvimento
Incremental e Iterativo
Timebox Timebox Timebox
Backlog Backlog
Tratamento de Backlog Tratamento de Backlog
Realimentação de
Informação
Realimentação de Informação
Opções de Decisão
Decidir no Último Momento
Integridade Conceitual
Espaços de Atividades do Domínio: Cliente
Aplicação de código de cores à distribuição de práticas mapeadas
27
Explorar Possibilidades
Compreender as Necessidades dos
Stakeholders
Garantir a Satisfação dos
Stakeholders
Utilizar o Sistema
Histórias de Usuário Histórias de Usuário
Implantação Contínua
Testes
Desenvolvimento Incremental
e Iterativo
Desenvolvimento Incremental
e Iterativo
Desenvolvimento
Incremental e Iterativo
Timebox Timebox Timebox
Backlog Backlog
Tratamento de Backlog Tratamento de Backlog
Realimentação de Informação Realimentação de Informação
Opções de Decisão
Decidir no Último Momento
Integridade Conceitual
Espaços de Atividades do Domínio: Cliente
Compreensão dos Requisitos Modelar o Sistema Implementar o Sistema Testar o Sistema Implantar o Sistema Operar o Sistema
Integração Contínua Integração Contínua Integração Contínua
Histórias de Usuário Histórias de Usuário
Propriedade Coletiva Propriedade Coletiva
Implantação Contínua
Design Simples Design Simples
Refatoração Refatoração
Testes (Código e
Aplicação)
Padrões de Código
Desenvolvimento Incremental e
Iterativo
Desenvolvimento
Incremental e Iterativo
Desenvolvimento
Incremental e Iterativo
Desenvolvimento
Incremental e
Iterativo
Timebox Timebox Timebox
Backlog
Tratamento de Backlog
Realimentação de Info Realimentação de Info
Desenvolvimento em Conjunto
Desenvolvimento em
Conjunto
Desenvolvimento em
Conjunto
Opções de Decisão Opções de Decisão Opções de Decisão
Decidir no Último Momento
Decidir no Último
Momento
Integridade Conceitual e
Percebida
Integridade Conceitual e
Percebida
Limitar o Trabalho em
Progresso
Espaços de Atividades do Domínio: Solução
Estudo de Caso – Análise dos Resultados
28
Compreensão dos Requisitos Modelar o Sistema Implementar o Sistema Testar o Sistema Implantar o Sistema Operar o Sistema
Integração Contínua Integração Contínua Integração Contínua
Histórias de Usuário Histórias de Usuário
Propriedade Coletiva Propriedade Coletiva
Implantação Contínua
Design Simples Design Simples
Refatoração Refatoração
Testes
Padrões de Código
Desenvolvimento Incremental e
Iterativo
Desenvolvimento
Incremental e Iterativo
Desenvolvimento
Incremental e Iterativo
Desenvolvimento
Incremental e Iterativo
Timebox Timebox Timebox
Backlog
Tratamento de Backlog
Realimentação de Info Realimentação de Info
Desenvolvimento em Conjunto
Desenvolvimento em
Conjunto
Desenvolvimento em
Conjunto
Opções de Decisão Opções de Decisão Opções de Decisão
Decidir no Último Momento
Decidir no Último
Momento
Integridade Conceitual e
Percebida
Integridade Conceitual e
Percebida
Limitar o Trabalho em
Progresso
Espaços de Atividades do Domínio: Solução
Preparar-se para fazer o
trabalho
Coordenar atividades Apoiar a Equipe Identificar o Progresso Parar o Trabalho
Seleção Voluntária de Tarefas
Histórias de Usuário Histórias de Usuário
Propriedade Coletiva
Testes (Código e Aplicação)
Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho
Limitação do Trabalho em
Progresso
Limitação do Trabalho em
Progresso
Tornar o Processo Explícito
Implementar Ciclos de Feedback
Aumentar Colaborativamente,
Evoluir Experimentalmente
Aumentar Colaborativamente,
Evoluir Experimentalmente
Aumentar Colaborativamente,
Evoluir Experimentalmente
Desenvolvimento Incremental e
Iterativo
Desenvolvimento Incremental e
Iterativo
Desenvolvimento Incremental e
Iterativo
Timebox Timebox Timebox
Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas
Taskboard + Kanban Taskboard + Kanban Taskboard + Kanban
Estimativa Relativa Estimativa Relativa Estimativa Relativa
Planning Poker Planning Poker
Backlog Backlog Backlog
Estimular o Sistema Estimular o Sistema
Motivação
Espaços de Atividades do Domínio: Empreitada
Estudo de Caso – Análise dos Resultados
29
Preparar-se para fazer o
trabalho
Coordenar atividades Apoiar a Equipe Identificar o Progresso Parar o Trabalho
Seleção Voluntária de Tarefas
Histórias de Usuário Histórias de Usuário
Propriedade Coletiva
Testes
Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho
Limitação do Trabalho em
Progresso
Limitação do Trabalho em
Progresso
Tornar o Processo Explícito
Implementar Ciclos de Feedback
Aumentar Colaborativamente,
Evoluir Experimentalmente
Aumentar Colaborativamente,
Evoluir Experimentalmente
Aumentar Colaborativamente,
Evoluir Experimentalmente
Desenvolvimento Incremental e
Iterativo
Desenvolvimento Incremental e
Iterativo
Desenvolvimento Incremental e
Iterativo
Timebox Timebox Timebox
Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas
Taskboard + Kanban Taskboard + Kanban Taskboard + Kanban
Estimativa Relativa Estimativa Relativa Estimativa Relativa
Planning Poker Planning Poker
Backlog Backlog Backlog
Estimular o Sistema Estimular o Sistema
Motivação
Espaços de Atividades do Domínio: Empreitada
Conclusão
• Não há homogeneidade de práticas para que se sobressaia
algum método no ambiente de uma startup;
• Práticas voltadas ao aspecto humano são de maior utilização
em contrapartida a práticas de foco técnico;
• Há um Conjunto Mínimo de Práticas que cobre toda a
essência;
• A heterogeneidade de práticas confirma a hipótese de que
práticas são melhores que métodos;
30
Conclusão
Este estudo confirmou a hipótese de que o melhor método ágil
para uma startup é um método composto (YAU; MURPHY, 2013).
31
Práticas que envolvam maior consumo de recursos possuem
baixa utilização devido ao alto custo envolvido
(GIARDINO, 2014).
O Conjunto Mínimo de Práticas serve de ponto de partida
para a inicialização de um processo ágil neste tipo de
ambiente.
Conclusão - Contribuições
Principais contribuições desta pesquisa:
32
• Mapeamento das práticas ágeis identificadas no
SEMAT Kernel;
• Análise da aderência de práticas ao ambiente de
startups;
• Classificação das práticas ágeis mais utilizadas;
• Identificação de um Conjunto Mínimo de Práticas
ágeis com alta aderência ao ambiente de startups;
Conclusão - Limitações
• Limitação geográfica, cultural e de perfil dos respondentes;
• Apesar da obtenção de uma amostra considerável o
engajamento do ecossistema de startups ainda é pequeno
com a academia;
• Outras formas de análise dos dados obtidos podem melhorar
a acuracidade deste trabalho;
33
As limitações desta pesquisa são:
Conclusão – Trabalhos Futuros
• Validação da utilização do Conjunto Mínimo em um ambiente
real;
• Escrita do Conjunto Mínimo na linguagem de descrição de
métodos SEMAT para benchmarking;
• Analisar os dados obtidos sob outra ótica:
– Uma análise por grafo permitirá a utilização do ferramental
matemático sobre as redes formadas por estas práticas;
– Análise de relações de utilização forte ou fraca entre práticas;
34
Escola Politécnica da Universidade de São Paulo
Candidato: Marvin Ferreira da Silva
Orientador: Prof. Dr. Edison Spina
Análise de aderência de práticas ágeis na
cultura de startups de software:
o mapeamento de práticas através do
SEMAT Kernel

Mais conteúdo relacionado

Mais procurados

Usabilidade 7-8 - Teste de Usabilidade
Usabilidade 7-8 - Teste de UsabilidadeUsabilidade 7-8 - Teste de Usabilidade
Usabilidade 7-8 - Teste de Usabilidade
Marcello Cardoso
 
JAD e levantamento de requisitos
JAD e levantamento de requisitosJAD e levantamento de requisitos
JAD e levantamento de requisitos
Eduardo Castro
 
Aula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a ObjetosAula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a Objetos
Rogerio P C do Nascimento
 
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARECROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
Moisés Armani Ramírez
 
Aula1 analise de sistemas remixado
Aula1 analise de sistemas remixadoAula1 analise de sistemas remixado
Aula1 analise de sistemas remixado
neilaxavier
 
Framework
FrameworkFramework
Framework
cacarangel
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
neilaxavier
 
Seis sigma
Seis sigma  Seis sigma
Seis sigma
JOMAR PAULINO
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
Robson Silva Espig
 
Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...
Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...
Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...
GrupoMENTHOR
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
elliando dias
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
Paulo Furtado
 
Seis Sigma: estratégia chave para a excelência operacional
Seis Sigma: estratégia chave para a excelência operacionalSeis Sigma: estratégia chave para a excelência operacional
Seis Sigma: estratégia chave para a excelência operacional
Sustentare Escola de Negócios
 
Apresentação tcc final
Apresentação tcc finalApresentação tcc final
Apresentação tcc final
Jhool Flores
 
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDayQuando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Base2 Tecnologia
 
Minicurso Avaliação de Interfaces
Minicurso Avaliação de InterfacesMinicurso Avaliação de Interfaces
Minicurso Avaliação de Interfaces
UTFPR
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
Ralph Rassweiler
 
Introdução a 6sigma
Introdução a  6sigmaIntrodução a  6sigma
Introdução a 6sigma
Marcus Vinicius Carina
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
Computação Depressão
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
Helder Lopes
 

Mais procurados (20)

Usabilidade 7-8 - Teste de Usabilidade
Usabilidade 7-8 - Teste de UsabilidadeUsabilidade 7-8 - Teste de Usabilidade
Usabilidade 7-8 - Teste de Usabilidade
 
JAD e levantamento de requisitos
JAD e levantamento de requisitosJAD e levantamento de requisitos
JAD e levantamento de requisitos
 
Aula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a ObjetosAula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a Objetos
 
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARECROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
 
Aula1 analise de sistemas remixado
Aula1 analise de sistemas remixadoAula1 analise de sistemas remixado
Aula1 analise de sistemas remixado
 
Framework
FrameworkFramework
Framework
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Seis sigma
Seis sigma  Seis sigma
Seis sigma
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...
Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...
Palestra sobre a Metodologia para Apoio à Decisão, Gerência e Implantação de ...
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Seis Sigma: estratégia chave para a excelência operacional
Seis Sigma: estratégia chave para a excelência operacionalSeis Sigma: estratégia chave para a excelência operacional
Seis Sigma: estratégia chave para a excelência operacional
 
Apresentação tcc final
Apresentação tcc finalApresentação tcc final
Apresentação tcc final
 
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDayQuando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
 
Minicurso Avaliação de Interfaces
Minicurso Avaliação de InterfacesMinicurso Avaliação de Interfaces
Minicurso Avaliação de Interfaces
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Introdução a 6sigma
Introdução a  6sigmaIntrodução a  6sigma
Introdução a 6sigma
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 

Semelhante a Análise de aderência de práticas ágeis na cultura de startups de software: o mapeamento de práticas através do SEMAT Kernel

Escolas de testes de software
Escolas de testes de softwareEscolas de testes de software
Escolas de testes de software
Alan Carlos
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
GUTS-RS
 
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareQATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
Welington Monteiro
 
Palestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROPalestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPRO
Wildtech
 
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Flávio Steffens
 
42906.ppt
42906.ppt42906.ppt
Gestogildeprojetos2016.1
Gestogildeprojetos2016.1Gestogildeprojetos2016.1
Gestogildeprojetos2016.1
InaniaVerba
 
Um processo de inovação contínua de software baseado em prototipagem
Um processo de inovação contínua de software baseado em prototipagemUm processo de inovação contínua de software baseado em prototipagem
Um processo de inovação contínua de software baseado em prototipagem
Carlos Carvalho
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
Rodrigo Gomes da Silva
 
GP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
GP4US - Pesquisa Operacional - Introdução à Tomada de DecisãoGP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
GP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
Jefferson Affonso - PMP®, ITIL®, MCTS®, MBA
 
A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...
A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...
A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...
Arthur Santos
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
Juan Bernabó
 
201305 IT Simplification Lean caixa-geraldepositos
201305 IT Simplification   Lean caixa-geraldepositos201305 IT Simplification   Lean caixa-geraldepositos
201305 IT Simplification Lean caixa-geraldepositos
Francisco Calzado
 
Desmistificando Agile & Scrum
Desmistificando Agile & ScrumDesmistificando Agile & Scrum
Desmistificando Agile & Scrum
Teamware do Brasil
 
TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...
TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...
TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...
Greice Roman
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
 
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Alejandro Olchik
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
crc1404
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
Pedro Alcantara
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
JAIMEMARTINS18
 

Semelhante a Análise de aderência de práticas ágeis na cultura de startups de software: o mapeamento de práticas através do SEMAT Kernel (20)

Escolas de testes de software
Escolas de testes de softwareEscolas de testes de software
Escolas de testes de software
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
 
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareQATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
 
Palestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROPalestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPRO
 
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
 
42906.ppt
42906.ppt42906.ppt
42906.ppt
 
Gestogildeprojetos2016.1
Gestogildeprojetos2016.1Gestogildeprojetos2016.1
Gestogildeprojetos2016.1
 
Um processo de inovação contínua de software baseado em prototipagem
Um processo de inovação contínua de software baseado em prototipagemUm processo de inovação contínua de software baseado em prototipagem
Um processo de inovação contínua de software baseado em prototipagem
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
GP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
GP4US - Pesquisa Operacional - Introdução à Tomada de DecisãoGP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
GP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
 
A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...
A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...
A Adaptação e Implantação de um ERP Open Source em uma Microempresa - Um Estu...
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
 
201305 IT Simplification Lean caixa-geraldepositos
201305 IT Simplification   Lean caixa-geraldepositos201305 IT Simplification   Lean caixa-geraldepositos
201305 IT Simplification Lean caixa-geraldepositos
 
Desmistificando Agile & Scrum
Desmistificando Agile & ScrumDesmistificando Agile & Scrum
Desmistificando Agile & Scrum
 
TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...
TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...
TCC - Como os Métodos Ágeis Podem Ajudar Pequenas e Médias Empresas na Resolu...
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
 
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 

Análise de aderência de práticas ágeis na cultura de startups de software: o mapeamento de práticas através do SEMAT Kernel

  • 1. Escola Politécnica da Universidade de São Paulo Candidato: Marvin Ferreira da Silva Orientador: Prof. Dr. Edison Spina Análise de aderência de práticas ágeis na cultura de startups de software: o mapeamento de práticas através do SEMAT Kernel
  • 2. Introdução e Motivação • Surgimento de pequenas empresas de alta tecnologia com restrições de recursos e extrema incerteza; • Apesar de suas restrições, possuem grande impacto econômico; • Nicho não considerado pelas atuais práticas da engenharia de software; • Aprendizado pode ser aplicado em outros tipos de organizações; (FAYAD, ET AL., 2000) (SUTTON, 2000) (GIARDINO; ET AL, 2014) 2
  • 3. Problema de Pesquisa Qual grau de aderência da utilização de práticas ágeis, independentes de seus métodos, aplicadas ao ambiente de empresas startups de software? 3
  • 4. Objetivos de Pesquisa Objetivos gerais: • Identificar quais práticas contidas nos métodos ágeis são mais utilizadas em empresas startup; 4 Objetivos específicos: • Mapear a cobertura destas práticas; • Analisar aplicabilidade em ambientes com restrições reais; • Propor um ponto de partida para ágil em startup;
  • 5. Roteiro • Contextualização • Antecedentes • Startup • Desenvolvimento Ágil • SEMAT • Solução Proposta • Estudo de Caso • Conclusão 5
  • 6. Contextualização • Apenas nos Estados Unidos, 476 mil empresas criadas por mês (EUA); • Voltadas para inovação tecnológica; • Pequenas e médias empresas geradoras de posto de trabalho; 6
  • 7. Contextualização (SUTTON, 2000) (YAU; MURPHY, 2013) (FAIRLIE, 2013) (FAIRLIE, 2014) (GIARDINO; ET AL, 2014) • Problemas diferentes das demais empresas; • Processo x sobrevivência; • Falta de estudos específicos; • É uma tendência; 7
  • 8. Antecedentes - Startup “Uma pequena companhia explorando novas oportunidades de negócios, trabalhando para resolver problemas onde a solução não é bem conhecida e o mercado é altamente volátil.” (GIARDINO; ET AL, 2014) 8 Características: - Jovens e imaturas - Recursos limitados - Influências múltiplas - Tecnologias e mercados dinâmicos (SUTTON, 2000)
  • 9. Antecedentes – Desenvolvimento ágil 9 - Processos burocráticos - Manifesto ágil (2001) • Indivíduos e interação entre eles mais que processos e ferramentas • Software em funcionamento mais que documentação abrangente • Colaboração com o cliente mais que negociação de contratos • Responder a mudanças mais que seguir um plano
  • 10. Antecedentes – Desenvolvimento ágil “A capacidade de criar e responder a mudanças a fim de lucrar em um ambiente de negócios turbulento” (HIGHSMITH, 2002) “A habilidade de uma organização de reagir a mudança em seu ambiente mais rapidamente que a taxa de mudanças.” (KRUTCHEN, 2010) 10
  • 11. Antecedentes – Desenvolvimento ágil Distribuição da adoção de processos ágeis ao longo dos anos Fonte: VersionOne, 2007-2014 11
  • 12. Antecedentes – Desenvolvimento ágil Distribuição da adoção de processos ágeis Fonte: VersionOne, 2013 12
  • 13. Antecedentes – SEMAT Software Engineering Method and Theory • Criado em 2009 por Ivar Jacobson, Richard Soley e Bertrand Meyer • Motivações: • Grande diversidade de métodos existentes que em essência pouco diferem; • Área tomada por modismos; • Falta de uma base teórica sólida e aceita; • Falta de avaliação e validação experimental de credibilidade; 13
  • 14. Antecedentes – SEMAT (SEMAT, 2012) Arquitetura SEMAT Fonte: SEMAT, 2012 14
  • 15. Antecedentes – SEMAT Alphas (Kernel) (SEMAT, 2012) ClienteSoluçãoEmpreitada 15
  • 16. Solução Proposta • Identificar os 4 métodos ágeis mais utilizados e isolar suas práticas • Mapeá-las a quais domínios do SEMAT estão relacionadas e seus respectivos alphas • Desenvolver um questionário capaz avaliar a utilização de cada prática em ambientes reais • Classificar os dados por faixa de utilização • Identificar a existência ou não de um conjunto mínimo 16
  • 17. Solução Proposta Diferença dos demais trabalhos/Estudos já existentes: • Focado em práticas, não em métodos; • Utilização de um meta-modelo agnóstico a processos de software; • Estudo direcionado a um nicho específico e pouco explorado; • Análise de aderência, não de eficácia; 17
  • 18. Solução Proposta – Práticas (Agile Alliance, 2015) 18
  • 19. Solução Proposta – Mapeamento Práticas/Atividades (SEMAT, 2012) 19
  • 20. Solução Proposta Critérios para práticas serem elegíveis ao ambiente de uma startup: • Consumo de recursos, financeiros ou não; • Excesso de burocracia, ainda que sejam práticas ágeis; • Melhora na comunicação entre os envolvidos; Dentro de 58 possíveis, foram eleitas 34 práticas. 20
  • 21. Estudo de Caso - Introdução - Questionário baseado em escalas Likert - Divulgação: e-mail para incubadoras, grupos de discussão sobre startups, blogs sobre empreendedorismo e redes sociais - Os respondentes se basearam em experiências presentes ou passadas em um ambiente de startup - Um total de 28 respondentes, com 27 aceitando participar do estudo 21
  • 22. Estudo de Caso - Método • 34 práticas selecionadas reduzidas a um conjunto de 26 em um agrupamento por similaridade; • Questionário dividido em 6 seções; • Foi desenvolvido um total de 32 questões baseadas em afirmações diretas – 26 capazes de medir a atitude do respondente em alta ou baixa concordância – 6 para confirmação ou antítese 22
  • 23. Estudo de Caso – Análise dos Resultados Quanto aos respondentes - Idade 𝑋 = 27 anos, 𝜎 = 5 anos Experiência: Colaboradores presentes na startup: - 59,3% para até 9 pessoas e 37% para empresa de 10 a 49 pessoas 23
  • 24. 24 Estudo de Caso – Análise dos Resultados 1 2 3 4 5 Pouco utilizadas UtilizadasNeutro Escala Likert - Pouco utilizada <= 40% - Medianamente utilizada > 40% e <= 50% - Utilizada se sua > 50% e <= 60% - Muito utilizada > 60% Critérios de classificação:
  • 25. Estudo de Caso – Análise dos Resultados Agrupamento primário das respostas obtidas, incluindo a análise contracenada com suas respectivas antíteses e perguntas de reforço. Práticas Não utilização (%) Neutro (%) Utilização (%) Seleção Voluntária de Tarefas 25,9 29,6 44,4 Integração Contínua 25,9 25,9 48,1 Implantação Contínua 33,3 14,8 51,9 Histórias de Usuário 37 18,5 44,4 Propriedade Coletiva 14,8 22,2 63 Design Simples 29,6 33,3 37 Refatoração 11,1 22,2 66,7 Testes - Código 33,3 18,5 48,1 Testes - Aplicação 34,6 19,2 46,2 Padrões de Codificação 18,5 22,2 59,3 Visão do fluxo de trabalho e riscos/Kanban Board 18,5 18,5 63 Limitação do trabalho em progresso 33,3 18,5 48,1 Tornar o processo explícito 18,5 11,1 70,4 Implementar ciclos de feedback 25 17,3 57,7 Aumentar colaborativamente e evoluir experimentalmente 11,5 30,8 57,7 Desenvolvimento Iterativo, Incremental e timeboxed 15,4 19,2 65,4 25
  • 26. Estudo de Caso – Análise dos Resultados 26
  • 27. Estudo de Caso – Análise dos Resultados Explorar Possibilidades Compreender as Necessidades dos Stakeholders Garantir a Satisfação dos Stakeholders Utilizar o Sistema Histórias de Usuário Histórias de Usuário Implantação Contínua Testes (Código e Aplicação) Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Timebox Timebox Timebox Backlog Backlog Tratamento de Backlog Tratamento de Backlog Realimentação de Informação Realimentação de Informação Opções de Decisão Decidir no Último Momento Integridade Conceitual Espaços de Atividades do Domínio: Cliente Aplicação de código de cores à distribuição de práticas mapeadas 27 Explorar Possibilidades Compreender as Necessidades dos Stakeholders Garantir a Satisfação dos Stakeholders Utilizar o Sistema Histórias de Usuário Histórias de Usuário Implantação Contínua Testes Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Timebox Timebox Timebox Backlog Backlog Tratamento de Backlog Tratamento de Backlog Realimentação de Informação Realimentação de Informação Opções de Decisão Decidir no Último Momento Integridade Conceitual Espaços de Atividades do Domínio: Cliente
  • 28. Compreensão dos Requisitos Modelar o Sistema Implementar o Sistema Testar o Sistema Implantar o Sistema Operar o Sistema Integração Contínua Integração Contínua Integração Contínua Histórias de Usuário Histórias de Usuário Propriedade Coletiva Propriedade Coletiva Implantação Contínua Design Simples Design Simples Refatoração Refatoração Testes (Código e Aplicação) Padrões de Código Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Timebox Timebox Timebox Backlog Tratamento de Backlog Realimentação de Info Realimentação de Info Desenvolvimento em Conjunto Desenvolvimento em Conjunto Desenvolvimento em Conjunto Opções de Decisão Opções de Decisão Opções de Decisão Decidir no Último Momento Decidir no Último Momento Integridade Conceitual e Percebida Integridade Conceitual e Percebida Limitar o Trabalho em Progresso Espaços de Atividades do Domínio: Solução Estudo de Caso – Análise dos Resultados 28 Compreensão dos Requisitos Modelar o Sistema Implementar o Sistema Testar o Sistema Implantar o Sistema Operar o Sistema Integração Contínua Integração Contínua Integração Contínua Histórias de Usuário Histórias de Usuário Propriedade Coletiva Propriedade Coletiva Implantação Contínua Design Simples Design Simples Refatoração Refatoração Testes Padrões de Código Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Timebox Timebox Timebox Backlog Tratamento de Backlog Realimentação de Info Realimentação de Info Desenvolvimento em Conjunto Desenvolvimento em Conjunto Desenvolvimento em Conjunto Opções de Decisão Opções de Decisão Opções de Decisão Decidir no Último Momento Decidir no Último Momento Integridade Conceitual e Percebida Integridade Conceitual e Percebida Limitar o Trabalho em Progresso Espaços de Atividades do Domínio: Solução
  • 29. Preparar-se para fazer o trabalho Coordenar atividades Apoiar a Equipe Identificar o Progresso Parar o Trabalho Seleção Voluntária de Tarefas Histórias de Usuário Histórias de Usuário Propriedade Coletiva Testes (Código e Aplicação) Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho Limitação do Trabalho em Progresso Limitação do Trabalho em Progresso Tornar o Processo Explícito Implementar Ciclos de Feedback Aumentar Colaborativamente, Evoluir Experimentalmente Aumentar Colaborativamente, Evoluir Experimentalmente Aumentar Colaborativamente, Evoluir Experimentalmente Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Timebox Timebox Timebox Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas Taskboard + Kanban Taskboard + Kanban Taskboard + Kanban Estimativa Relativa Estimativa Relativa Estimativa Relativa Planning Poker Planning Poker Backlog Backlog Backlog Estimular o Sistema Estimular o Sistema Motivação Espaços de Atividades do Domínio: Empreitada Estudo de Caso – Análise dos Resultados 29 Preparar-se para fazer o trabalho Coordenar atividades Apoiar a Equipe Identificar o Progresso Parar o Trabalho Seleção Voluntária de Tarefas Histórias de Usuário Histórias de Usuário Propriedade Coletiva Testes Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho Visão de Fluxo de Trabalho Limitação do Trabalho em Progresso Limitação do Trabalho em Progresso Tornar o Processo Explícito Implementar Ciclos de Feedback Aumentar Colaborativamente, Evoluir Experimentalmente Aumentar Colaborativamente, Evoluir Experimentalmente Aumentar Colaborativamente, Evoluir Experimentalmente Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Desenvolvimento Incremental e Iterativo Timebox Timebox Timebox Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas Reunião Diária + 3 perguntas Taskboard + Kanban Taskboard + Kanban Taskboard + Kanban Estimativa Relativa Estimativa Relativa Estimativa Relativa Planning Poker Planning Poker Backlog Backlog Backlog Estimular o Sistema Estimular o Sistema Motivação Espaços de Atividades do Domínio: Empreitada
  • 30. Conclusão • Não há homogeneidade de práticas para que se sobressaia algum método no ambiente de uma startup; • Práticas voltadas ao aspecto humano são de maior utilização em contrapartida a práticas de foco técnico; • Há um Conjunto Mínimo de Práticas que cobre toda a essência; • A heterogeneidade de práticas confirma a hipótese de que práticas são melhores que métodos; 30
  • 31. Conclusão Este estudo confirmou a hipótese de que o melhor método ágil para uma startup é um método composto (YAU; MURPHY, 2013). 31 Práticas que envolvam maior consumo de recursos possuem baixa utilização devido ao alto custo envolvido (GIARDINO, 2014). O Conjunto Mínimo de Práticas serve de ponto de partida para a inicialização de um processo ágil neste tipo de ambiente.
  • 32. Conclusão - Contribuições Principais contribuições desta pesquisa: 32 • Mapeamento das práticas ágeis identificadas no SEMAT Kernel; • Análise da aderência de práticas ao ambiente de startups; • Classificação das práticas ágeis mais utilizadas; • Identificação de um Conjunto Mínimo de Práticas ágeis com alta aderência ao ambiente de startups;
  • 33. Conclusão - Limitações • Limitação geográfica, cultural e de perfil dos respondentes; • Apesar da obtenção de uma amostra considerável o engajamento do ecossistema de startups ainda é pequeno com a academia; • Outras formas de análise dos dados obtidos podem melhorar a acuracidade deste trabalho; 33 As limitações desta pesquisa são:
  • 34. Conclusão – Trabalhos Futuros • Validação da utilização do Conjunto Mínimo em um ambiente real; • Escrita do Conjunto Mínimo na linguagem de descrição de métodos SEMAT para benchmarking; • Analisar os dados obtidos sob outra ótica: – Uma análise por grafo permitirá a utilização do ferramental matemático sobre as redes formadas por estas práticas; – Análise de relações de utilização forte ou fraca entre práticas; 34
  • 35. Escola Politécnica da Universidade de São Paulo Candidato: Marvin Ferreira da Silva Orientador: Prof. Dr. Edison Spina Análise de aderência de práticas ágeis na cultura de startups de software: o mapeamento de práticas através do SEMAT Kernel

Notas do Editor

  1. 1
  2. Ainda não se sabe o impacto da ausência de práticas da engenharia de software neste tipo de empresa; Alguns dos problemas eficientemente resolvidos pelos métodos ágeis podem nem existir em startups de tecnologia; Apesar disso a filosofia ágil é a que melhor se encaixa no contexto real destas empresas;
  3. O problema de pesquisa que me propus a investigar foi... Este trabalho tem como seu objeto de estudo empresas startups de software (sabendo de antemão que o agile é o ideal e práticas são melhores que métodos) Hipótese: As práticas mais aderentes são as menos burocráticas e que prezam por maior interação entre as pessoas.
  4. Analisar os principais métodos ágeis quanto à aplicabilidade de suas práticas em um ambiente com as restrições de uma empresa startup; Mapear as práticas mais aplicadas de forma que atendam minimamente as nuances de uma empreitada de desenvolvimento de software; Analisar a aplicabilidade das práticas elencadas em cenários reais de desenvolvimento através de um questionário; Propor uma forma de utilizar estas práticas de acordo com os resultados obtidos através deste estudo;
  5. Sendo assim, meu trabalho ficou dividido da seguinte forma...
  6. A relevância do tema se da pelo seguinte contexto.. O Brasil vem seguindo esta tendência com relação as pequenas empresas de base tecnológica e o mercado de startups vem crescendo continuamente; Apenas nos Estados Unidos, 476.000 novas empresas são criadas a cada mês; Correspondendo a 20% da criação de novos postos de trabalho.
  7. Nem tudo o que se aplica a empresas com negócio bem definido ou com sua base formada é possível aplicar em startups; Processo é importante para uma startup fazer parcerias, ter seu negócio definido e alinhado e um time que possibilite mitigação de certos riscos; Área carece de estudos específicos relacionados ao tema;
  8. - Apesar de uma startup poder ter o mesmo número de colaboradores de uma pequena empresa comum, elas são distintas em suas características. - Empresas comuns surgem pelo aumento de demanda em um mercado já existente ou para concorrer com outras empresas por uma parte do mercado. Startups procuram um negócio escalável, que envolve alto risco, pouco ou nenhum conhecimento de um mercado normalmente não explorado por propostas altamente inovadoras. Micro/Pequena empresa tradicional, seu risco pode ser avaliado analisando outras empresas presentes no mercado, sendo possível realizar um estudo de viabilidade do empreendimento e principalmente buscar know-how com empresas já situadas no mercado. No caso de uma empresa que não se trata de uma startup, seu risco pode ser avaliado analisando outras empresas presentes no mercado, sendo possível realizar um estudo de viabilidade do empreendimento e principalmente buscar know how com empresas já situadas no mercado ou apoio de instituições como o SEBRAE para a criação da empresa.
  9. O movimento ágil marcou o rompimento com os processos pesados de engenharia de software; O manifesto ágil é composto por 4 ideias/valores que norteiam a filosofia ágil; Junto a estes 4 valores são apresentados 12 princípios: (1) Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado; (2) Mudanças nos requisitos são benvindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente; (3) Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos; (4) Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto; (5) Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho; (6) O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face; (7) Software funcionando é a medida primária de progresso; (8) Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente; (9) Contínua atenção à excelência técnica e bom design aumenta a agilidade; (10) Simplicidade - a arte de maximizar a quantidade de trabalho não realizado – é essencial; (11) As melhores arquiteturas, requisitos e designs emergem de equipes auto organizáveis; (12) Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.
  10. Estas duas definições vão de encontro ao que deve ser vivenciado em um ambiente de negócios dinâmicos como o das startups; Os métodos ágeis são reconhecidos como a forma de trabalho indicada para desenvolvimentos inovadores;
  11. Segundo dados de uma pesquisa realizada pela VersionOne (2014), referentes ao levantamento feito no ano de 2013 com 3501 participantes de diferentes empresas, foi constatado que 88% dos participantes afirmaram que suas empresas utilizam processos de desenvolvimento ágil, mostrando um aumento sobre o resultado da mesma pesquisa realizada em 2012 (84%) e daquela de 2011 (com 80%).
  12. Segundo dados relacionados ao levantamento feito em 2013 o método ágil mais utilizado é o Scrum Levando em consideração que Kanban possui 5% e Scrumban 7%, o Kanban pode ser considerado de alta utilização De forma isolada temos: Scrum, XP, Kanban e Lean que foram os métodos utilizados para o escopo desta pesquisa; Explicar estes 4 métodos brevemente;
  13. Esse kernel pode ser utilizado tanto para o estudo de práticas existentes (composição/comparação) quanto para o desenvolvimento de novas
  14. A iniciativa semat propõe a seguinte arquitetura, onde existe um kernel ESSENCE de elementos que são indispensáveis práticas que são descritas utilizando esse kernel um conjunto dessas práticas se torna um método. Para as definições dessa estrutura foi proposta uma linguagem  Método: uma composição de práticas dinâmicas e usadas para dar suporte as atividades diárias dos desenvolvedores;  Prática: abordagem repetível de se fazer algo com um propósito específico em mente, uma prática proporciona uma forma sistemática e verificável de se alcançar algum objetivo específico do trabalho;  Kernel: incluí os elementos essenciais da engenharia de software; e  Linguagem: vocabulário de um domínio específico para definir métodos, práticas e os elementos essenciais do kernel.
  15. O kernel do SEMAT está organizado em ALPHAS. São 7 alphas no total. Oportunidade Stakeholders Requisitos Sistema de software Trabalho Equipe Forma de trabalho
  16. Existem práticas que são similares entre os métodos e inclusive práticas que se complementam... - Identificar os 4 métodos ágeis mais utilizados - Isolar as práticas de seus métodos - Mapeá-las a quais domínios do SEMAT estão relacionadas - Mapeá-las entre os alphas de cada um dos respectivos domínios a qual está ligada - Agrupá-las caso haja similaridade - Desenvolver um questionário capaz avaliar a utilização de cada prática em um ambiente real de uma startup - Analisar os dados obtidos de modo que seja possível separá-los por faixa de utilização e agrupamentos relevantes - Identificar a existência ou não de um conjunto mínimo de práticas altamente utilizadas capazes de serem aplicadas a este ambiente
  17. Práticas > Métodos Meta-modelo melhor, pois não possui prescrição Exploração de um nicho negligenciado Busca pela utilização e não eficácia de prática especificamente, ainda que seja possível justificar sua aderência apenas pelos efeitos gerados por cada prática; Não busca por um novo método, mas a busca por um norte inicial para este tipo de empresa;
  18. Este trabalhou identificou um total de 58 práticas contidas nos 4 métodos mais utilizados Estas são algumas das práticas apresentadas ágeis mapeadas pela Agile Alliance (2015) Podemos ver que há uma interseção, como citado pelo SEMAT, há muitas semelhanças entre os métodos existes, sendo muitas vezes difícil dizer com exatidão o que está sendo usado Foram consideradas como práticas as 22 ferramentas contidas no método Lean
  19. Os domínios do Kernel possuem duas divisões internas relacionadas a sua composição de práticas: “Coisas com o que trabalhamos”: são os alphas que representam os elementos que sempre estarão presentes em uma empreitada de software e o produto de um trabalho que representa uma evidência gerada pelo progresso de um alpha específico através de um documento físico, relatório ou algo que mostre o indício de seu progresso; “Coisas a fazer”: abrangem os espaços de atividades, que representam as atividades independentes de métodos que em algum momento serão adicionadas no topo do kernel para atuarem como diretivas para alcançarem os estados dos alphas; Para que seja possível compreender como práticas de métodos distintos atuam em conjunto é necessário descrevê-las em uma linguagem em comum que possibilite sua composição, sendo esta uma das principais utilidades proporcionadas pela linguagem contida na essência.
  20. Objetivos: Analisar o grau de aderência de cada prática independente de seu método em um ambiente real de startups de software LIKERT: Medição psicométrica, utilizada para medir grau de concordância/emoção de um respondente relacionada a alguma questão. Não necessariamente o respondente tem que ser alguém técnico Aproximadamente 3 semanas de duração a coleta dos dados
  21. Questionário dividido em 6 seções, sendo a primeira com objetivo de descrição da população e as seguintes referentes a avaliação; - As questões foram embaralhadas para que não houvesse influência de uma prática sobre a outra
  22. Caracteristicas da população... A idade está dentro do range esperado para o tipo de pessoa que atua neste tipo de empresa; Quantidade de colaboradoras: - O total resulta que a quantidade de colaboradores em 96,3% das startups se enquadram na definição de micro/pequena empresa.
  23. Essa escala possui ordem de classificação mas os intervalos não são considerados. A utilização de média para escalas de Likert e testes paramétricos são inapropriadas, pois se tratam de dados ordinais e devem ser tratados a partir de mediana ou moda. Práticas que foram avaliadas em conjunto de uma questão de antítese ou de reforço, tiveram seu percentual de utilização construído através da média das duas questões.
  24. Todas as 34 práticas selecionadas são contempladas nesta tabela, para que houvesse uma melhor ilustração desse primeiro resultado a tabela não foi colocada completamente devido a seu tamanho 27 respondentes, 32 questões => 864 respostas Agrupamento sem divisão por faixa de aderência No trabalho são encontrados todos os gráficos e análises completas que fundamentaram as análises e discussões sobre a utilização de cada prática; A alta utilização de “Propriedade Coletiva”, com 63% de uso, representa a importância do nível de engajamento do time responsável pelo desenvolvimento do produto dentro de uma startup. A alta utilização de “Refatoração”, 66,7% representa a busca por um código que se mantenha constantemente coeso, limpo e manutenível A pouca utilização de “Design Simples”, 37% indica que os times tentam prever a evolução do produto ao projetá-lo produzindo código que não será necessariamente utilizado no exato momento. A alta utilização de 70,4% indica que “Tornar o Processo Explícito” é uma prática importante para que haja transparência na forma de trabal As práticas “Opções de decisão” e “Decidir no Último Momento”, com pouca utilização de 37,5%, indicam equilíbrio esperado em um ambiente de uma startup, onde certos riscos são assumidos como apostas para ganho de mercado, muitas vezes sem haver garantia do retorno esperado.
  25. A partir da primeira análise foi possível dividir as práticas por faixa de utilização, como pode ser visto na figura acima As práticas consideradas muito utilizadas em sua maioria são práticas relacionadas ao processo de desenvolvimento e relacionamento humano, não a aspectos técnicos propriamente dito Para isso as 4 faixar foram divididas por um código de cores:  Amarelo: prática muito utilizada;  Verde: prática utilizada;  Azul: prática medianamente utilizada;  Cinza: prática não utilizada/pouco utilizada;
  26. Domínio Cliente - O domínio cliente é mais relacionado a práticas que lidam com requisitos, gestão de expectativas dos stakeholders e validação se suas necessidades foram realmente atendidas...
  27. Domínio Solução - É mais relacionado a práticas de desenvolvimento de software propriamente ditas, de modo que prevalecem práticas também ligadas a tecnologia...
  28. Domínio Empreitada - Prevalecem práticas ligadas a gestão do time, gestão de entregas, resumindo, ao tratamento dado as atividades dos recursos humanos ligados a produção de software... - Há pelo menos uma prática do conjunto de alta utilização presente em cada um dos “espaços de atividades” dos três domínios.
  29. A utilização de práticas compostas ao invés de métodos confirma que realmente existam aspectos tratados pelos métodos já existentes que não necessariamente devem ser um problema ou existir no ambiente de uma startup; Apesar de ter sido encontrado um conjunto mínimo de práticas ágeis para a execução de empreitadas em startups, a adição de práticas de outras faixas de utilização pode ser feita de acordo com a sua necessidade para que haja um processo que melhor se ajuste ao ambiente
  30. A descoberta de um conjunto mínimo heterogêneo de alta utilização mostra a importância da seleção de práticas que melhor se adequem as especificidades de um ambiente; Práticas custosas como “planning poker”, “testes” de um modo geral e “reunião diária” ...
  31. -Classificação das práticas ágeis mais utilizadas sob a ótica do SEMAT Kernel; -Mapeamento de cada uma das práticas ágeis identificadas nas atividades ligadas a cada um dos três domínios do SEMAT Kernel; -Verificação através de questionário da faixa de aderência ao ambiente de startups de cada uma das práticas ágeis eleitas independentes de seus métodos; -Identificação de um conjunto mínimo de práticas ágeis com alta aderência ao ambiente de startups que serve como conjunto de práticas iniciais mínimas para a aplicação de um método ágil composto para as especificidades deste contexto;
  32. Apesar da amostra utilizada neste trabalho ser considerável e permitir a descoberta de um conjunto mínimo de práticas, ela possui limitações com relação a distribuição geográfica e perfil de respondentes. A aplicação do questionário em outros grupos, por exemplo, pode melhorar o escopo desse trabalho.
  33. Outra visão: como por exemplo um grafo, onde seus vértices representam as práticas e o peso de suas arestas indicam a força da utilização de uma prática específica com relação à outra prática;
  34. 35