1
Renato Ferreira
Thiago Gonçalves
Alex Vieira
Edson de Oliveira
Metodologia Ágil
2
Introdução
Ágil é uma nova forma de gestão e desenvolvimento de
Software que usa uma abordagem de planejamento e
execução iterativa e incremental voltado para processos
empíricos (complexos, caóticos ou com muita incerteza,
tem mudança ao longo do processo, não são repetitivos
e são imprevisíveis) que divide o problema em produtos
menores e que visa entregar o software funcionando
regularmente.
3
Agilidade em TI é: “a habilidade de criar e responder a mudanças, buscando a
obtenção de lucro em um ambiente de negócio turbulento” (HIGHSMITH,
2004); ou ainda, a capacidade de balancear a flexibilidade e a
estabilidade. HIGHSMITH (2004) enfatiza que a ausência de estrutura ou
estabilidade pode levar ao caos, mas que a estrutura em demasia gera rigidez.
4
"... most of our assumptions about business, technology and organizations are
at least 50 years old. They have outlived their time. As a result, we are
teaching and practicing policies that are increasingly at odds with reality and
therefore counterproductive .“
[Peter Drucker 1998]
5
As metodologias ágeis são uma tentativa de refinar as metodologias
iterativas, tirando o foco do processo em si e dando mais ênfase à contribuição das
pessoas, dos integrantes do projeto.
Por outro lado, pesquisadores e mesmo defensores dessas práticas não
recomendam times muito grandes para um projeto (e alguns propõem dividir o projeto
em subprojetos e trabalhar com equipes menores). Os métodos mais conhecidos
nesta categoria são Extreme Programming (mais carinhosamente conhecido como
XP) e Scrum.
Mesmo tanto tempo depois da definição de métodos ágeis, da publicação do
Manifesto Ágil, e de tanta gente pregando e achando que métodos ágeis são legais,
porque é que isso não é ainda utilizado em larga escala? Entre alguns motivos estão:
Metodologia Ágil
6
Burocracia como requisito: existem clientes que pedem pela burocracia, pelo
processo mais rígido.
Só contratam empresas que tenham fábrica de software com CMMi nível 50,
e fazem questão de saber que foram definidos 432 diagramas,
mesmo que nunca vá parar para dar uma olhada para eles.
Maturidade: obviamente existe um número muito maior de projetos bem
sucedidos utilizando metodologias que existem a mais tempo. Não precisa ser
um gênio para perceber isso. Por isso, mais gente que conhece e tem
experiência com esses processos. Processos mais novos são obviamente mais
atrativos para algumas empresas picaretas oferecerem serviço de
desenvolvimento de software.
7
Nível técnico da equipe: no caso de muitos gerentes, ao mesmo tempo
que métodos ágeis são vistos como processos que exigem muita
habilidade e competência, eles acham que suas equipes são formados por
pessoas super dotadas. Ou para diminuir os custos, realmente tentam
contratar pessoas acima da média por um custo muito abaixo do que o
mercado oferece. Quando você acredita que tem uma equipe não muito
capacitada, acaba querendo ter mais controle sobre o processo. Quanto
menos mão de obra precisar pensar, menor o seu risco.
Medo: meio que resume os outros itens. Mas basicamente, as pessoas
preferem não mexer em time que aparentemente está ganhando. Você
sabe que a metodologia B.A.T.A.T.A. vai te entregar um sistema. Pode
demorar custar caro e ficar cheio de problemas, mas vai entregar um
sistema. Preferem não arriscar.
8
Metodologia Ágil
 Deixar o cliente participar mais dos processos;
 Não recomendado times muitos grandes;
 Categorias mais conhecidas são: Extreme Programming
e Scrum;
9
Porque não é utilizado em grande escala?
 Burocracia como requisito;
 Maturidade;
 Nível técnico da equipe;
 Medo;
10
Vantagens da Metodologia Ágil
 Iterações Curtas;
 Diminuição dos custos de comunicação;
 Levar em consideração que as coisas vão mudar ao
longo do caminho;
11
Princípios da Metodologia Ágil
 Satisfazer o cliente através da entrega contínua e adiantada de software;
 Mudanças nos requisitos são bem vindas;
 Entregar frequentemente Software funcionando, com menor escala de tempo;
 Trabalho em conjunto de pessoas de negócios e desenvolvimento;
 Construir projetos em torno de indivíduos motivados;
 Conversa face a face;
 Software funcionando é a medida primaria de progresso;
 Processos Ágeis promovem desenvolvimento sustentável;
 Atenção à excelência e técnica e bom design aumenta a agilidade;
 Simplicidade é essencial;
 Equipes auto organizáveis;
 Constantemente a equipe se reajusta após uma reflexão;
12
SCRUM
 - Foco: Planejar e Gerenciar Projetos da Organização
 Desenvolvimento Ágil de Software
 - Processo de desenvolvimento iterativo e incremental
 - Mecanismos do Controle de Processo Empírico: Ciclos de Feedback
 - Planejmento Não-Linear. Não prescribente.
 - Baseado em pequenas equipes. Permite a comunicação entre seus membros.
13
Histórico
 - Origem: Empresas de Fabricação de Automóveis, 1986.
 - Objeto de Estudos dos educadores Hirotaka Takeuchi e Ikujiro Nonaka.
 - Equipes pequenas e multidisciplinares (cross-functional) produziram os melhores
resultados.
 - Um grupo de pessoas necessitam trabalhar juntas para atingir um objetivo comum.
 - Formação Scrum do Rugby
14
14
Equipe Scrum
 Product Owner: Representa a voz do cliente. Garante que a equipe agregue valor
ao negócio.
 Development Team: Responsável pela entrega do produto. 5 a 9 pessoas com
habilidade multifuncionais. Auto-organizada e Auto-conduzida. Analisar,
Desenvolver, Testar, Projetar
 Scrum Master: Responsável pela remoção de impedimentos à capacidade da
equipe. Impedir qualquer influência ou distração. Proteger a equipe e mantê-la
focada nas tarefas.
15
15
Artefato
 Product Backlog
 Sprint backlog
 Planejamento de Sprint
16
16
Características de Scrum
 - Clientes se tornam parte da equipe de desenvolvimento;
 - Discussão diária com cada membro da equipe;
 - Transparência no planejamento e desenvolvimento;
 - Reuniões frequentes com os stakeholders para monitorar o progresso;
17
17
Kanban
 Kanban é uma palavra japonesa que significa literalmente registro ou placa
visível
18
18
Ações que podem ser medidas
 Visualização do fluxo de trabalho;
 Limitação de tempo de execução;
 Priorização;
 Gerenciamento de atividades;
 Estabelecimento de SLAs;
 Melhoria Continua.
19
19
20
20
21
21
Realizado por:
www.alxmidiaeeventos.com.br
www.buteconosso.com

Metodologia Ágil

  • 1.
    1 Renato Ferreira Thiago Gonçalves AlexVieira Edson de Oliveira Metodologia Ágil
  • 2.
    2 Introdução Ágil é umanova forma de gestão e desenvolvimento de Software que usa uma abordagem de planejamento e execução iterativa e incremental voltado para processos empíricos (complexos, caóticos ou com muita incerteza, tem mudança ao longo do processo, não são repetitivos e são imprevisíveis) que divide o problema em produtos menores e que visa entregar o software funcionando regularmente.
  • 3.
    3 Agilidade em TIé: “a habilidade de criar e responder a mudanças, buscando a obtenção de lucro em um ambiente de negócio turbulento” (HIGHSMITH, 2004); ou ainda, a capacidade de balancear a flexibilidade e a estabilidade. HIGHSMITH (2004) enfatiza que a ausência de estrutura ou estabilidade pode levar ao caos, mas que a estrutura em demasia gera rigidez.
  • 4.
    4 "... most ofour assumptions about business, technology and organizations are at least 50 years old. They have outlived their time. As a result, we are teaching and practicing policies that are increasingly at odds with reality and therefore counterproductive .“ [Peter Drucker 1998]
  • 5.
    5 As metodologias ágeissão uma tentativa de refinar as metodologias iterativas, tirando o foco do processo em si e dando mais ênfase à contribuição das pessoas, dos integrantes do projeto. Por outro lado, pesquisadores e mesmo defensores dessas práticas não recomendam times muito grandes para um projeto (e alguns propõem dividir o projeto em subprojetos e trabalhar com equipes menores). Os métodos mais conhecidos nesta categoria são Extreme Programming (mais carinhosamente conhecido como XP) e Scrum. Mesmo tanto tempo depois da definição de métodos ágeis, da publicação do Manifesto Ágil, e de tanta gente pregando e achando que métodos ágeis são legais, porque é que isso não é ainda utilizado em larga escala? Entre alguns motivos estão: Metodologia Ágil
  • 6.
    6 Burocracia como requisito:existem clientes que pedem pela burocracia, pelo processo mais rígido. Só contratam empresas que tenham fábrica de software com CMMi nível 50, e fazem questão de saber que foram definidos 432 diagramas, mesmo que nunca vá parar para dar uma olhada para eles. Maturidade: obviamente existe um número muito maior de projetos bem sucedidos utilizando metodologias que existem a mais tempo. Não precisa ser um gênio para perceber isso. Por isso, mais gente que conhece e tem experiência com esses processos. Processos mais novos são obviamente mais atrativos para algumas empresas picaretas oferecerem serviço de desenvolvimento de software.
  • 7.
    7 Nível técnico daequipe: no caso de muitos gerentes, ao mesmo tempo que métodos ágeis são vistos como processos que exigem muita habilidade e competência, eles acham que suas equipes são formados por pessoas super dotadas. Ou para diminuir os custos, realmente tentam contratar pessoas acima da média por um custo muito abaixo do que o mercado oferece. Quando você acredita que tem uma equipe não muito capacitada, acaba querendo ter mais controle sobre o processo. Quanto menos mão de obra precisar pensar, menor o seu risco. Medo: meio que resume os outros itens. Mas basicamente, as pessoas preferem não mexer em time que aparentemente está ganhando. Você sabe que a metodologia B.A.T.A.T.A. vai te entregar um sistema. Pode demorar custar caro e ficar cheio de problemas, mas vai entregar um sistema. Preferem não arriscar.
  • 8.
    8 Metodologia Ágil  Deixaro cliente participar mais dos processos;  Não recomendado times muitos grandes;  Categorias mais conhecidas são: Extreme Programming e Scrum;
  • 9.
    9 Porque não éutilizado em grande escala?  Burocracia como requisito;  Maturidade;  Nível técnico da equipe;  Medo;
  • 10.
    10 Vantagens da MetodologiaÁgil  Iterações Curtas;  Diminuição dos custos de comunicação;  Levar em consideração que as coisas vão mudar ao longo do caminho;
  • 11.
    11 Princípios da MetodologiaÁgil  Satisfazer o cliente através da entrega contínua e adiantada de software;  Mudanças nos requisitos são bem vindas;  Entregar frequentemente Software funcionando, com menor escala de tempo;  Trabalho em conjunto de pessoas de negócios e desenvolvimento;  Construir projetos em torno de indivíduos motivados;  Conversa face a face;  Software funcionando é a medida primaria de progresso;  Processos Ágeis promovem desenvolvimento sustentável;  Atenção à excelência e técnica e bom design aumenta a agilidade;  Simplicidade é essencial;  Equipes auto organizáveis;  Constantemente a equipe se reajusta após uma reflexão;
  • 12.
    12 SCRUM  - Foco:Planejar e Gerenciar Projetos da Organização  Desenvolvimento Ágil de Software  - Processo de desenvolvimento iterativo e incremental  - Mecanismos do Controle de Processo Empírico: Ciclos de Feedback  - Planejmento Não-Linear. Não prescribente.  - Baseado em pequenas equipes. Permite a comunicação entre seus membros.
  • 13.
    13 Histórico  - Origem:Empresas de Fabricação de Automóveis, 1986.  - Objeto de Estudos dos educadores Hirotaka Takeuchi e Ikujiro Nonaka.  - Equipes pequenas e multidisciplinares (cross-functional) produziram os melhores resultados.  - Um grupo de pessoas necessitam trabalhar juntas para atingir um objetivo comum.  - Formação Scrum do Rugby
  • 14.
    14 14 Equipe Scrum  ProductOwner: Representa a voz do cliente. Garante que a equipe agregue valor ao negócio.  Development Team: Responsável pela entrega do produto. 5 a 9 pessoas com habilidade multifuncionais. Auto-organizada e Auto-conduzida. Analisar, Desenvolver, Testar, Projetar  Scrum Master: Responsável pela remoção de impedimentos à capacidade da equipe. Impedir qualquer influência ou distração. Proteger a equipe e mantê-la focada nas tarefas.
  • 15.
    15 15 Artefato  Product Backlog Sprint backlog  Planejamento de Sprint
  • 16.
    16 16 Características de Scrum - Clientes se tornam parte da equipe de desenvolvimento;  - Discussão diária com cada membro da equipe;  - Transparência no planejamento e desenvolvimento;  - Reuniões frequentes com os stakeholders para monitorar o progresso;
  • 17.
    17 17 Kanban  Kanban éuma palavra japonesa que significa literalmente registro ou placa visível
  • 18.
    18 18 Ações que podemser medidas  Visualização do fluxo de trabalho;  Limitação de tempo de execução;  Priorização;  Gerenciamento de atividades;  Estabelecimento de SLAs;  Melhoria Continua.
  • 19.
  • 20.
  • 21.