métodos Ágeis - aula 01

48
MÉTODOS ÁGEIS Aula 01 Adriano Bertucci Email: [email protected] Twitter: @adrianobertucci Site: www.adrianobertucci.com

Upload: adriano-bertucci

Post on 27-Jun-2015

153 views

Category:

Software


1 download

DESCRIPTION

Material do curso de Pós Graduação do Senac referente a disciplina de Métodos Ágeis.

TRANSCRIPT

Page 1: Métodos Ágeis - Aula 01

MÉTODOS ÁGEISAula 01

Adriano Bertucci

Email: [email protected]: @adrianobertucciSite: www.adrianobertucci.com

Page 2: Métodos Ágeis - Aula 01

TÍPICO PROJETO DE SOFTWARE

“Nossa equipe não produz o quanto gostaríamos”

“Nosso cronograma está atrasado”

“Nossa equipe de desenvolvimento não se comunica”

“Precisamos nos adequar às novas legislações”

“Não conseguimos garantir a qualidade das soluções”

Page 3: Métodos Ágeis - Aula 01

DESAFIOS - PROBLEMAS COMUNS

Requisitos de negócios não são gerenciados de forma efetiva

Ferramentas e dados dispersos

Testes não alinhados aos objetivos de negócios

Falta de orientações e processos definidos

Problemas de comunicação entre os membros da equipe

Visibilidade limitada do status do projeto para tomada de decisões

Page 4: Métodos Ágeis - Aula 01

COMO ESTA A SAÚDE DO SEU PROJETO?

Cronograma e controle de atividades?

Controle de defeitos?

Quais cenários foram testados com sucesso?

Cobertura do código testado?

Rotatividade do código – estabilização?

Requisições de mudanças gerenciadas adequadamente?

Controle sobre que fontes foram alterados por causa de determinado requisito / correção?

Page 5: Métodos Ágeis - Aula 01

SOLUÇÃO? ALM!

ALM (Application Lifecycle Management, Gerenciamento do Ciclo de Vida de Aplicações):É a coordenação das atividades do ciclo de vida de desenvolvimento, incluindo: Requisitos Modelagem Desenvolvimento Testes Manutenção Operações

Page 6: Métodos Ágeis - Aula 01

PILARES DO ALM - PESSOAS

Page 7: Métodos Ágeis - Aula 01

PILARES DO ALM - PROCESSO

Page 8: Métodos Ágeis - Aula 01

PILARES DO ALM - FERRAMENTAS

Page 9: Métodos Ágeis - Aula 01

FASES DO ALM - DEFINIÇÃO

Page 10: Métodos Ágeis - Aula 01

FASES DO ALM - CONSTRUÇÃO

Page 11: Métodos Ágeis - Aula 01

FASES DO ALM - CONSTRUÇÃO

Page 12: Métodos Ágeis - Aula 01

FASES DO ALM - OPERAÇÃO

Page 13: Métodos Ágeis - Aula 01

FASES DO ALM - OPERAÇÃO

ITIL (Information Technology Infrastructure Library) Gerência de Capacidades Gerência de Incidentes Gerência Financeira Gerência de Configuração Gerência de serviços de atendimento Gerência de níveis de serviço Gerência de problemas Gerência de distribuição Gerência de Mudanças

Page 14: Métodos Ágeis - Aula 01

FASES DO ALM - FIM

Page 15: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Gerenciamento de Requisitos (Requeriments Management)

Page 16: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Gerenciamento da Configuração do Software (Software configuration Management)

Page 17: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Montagem e Integração (Build and Integration)

Page 18: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Engenharia de Distribuição (Release Engineering)

Page 19: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Gerenciamento de Defeitos (Defect Management)

Page 20: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Teste Unitário, Integrado e de Regressão (Unit Test, Integrated and Regression)

Page 21: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Análise de Código (Code Analysis)

Page 22: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Teste de Sistema (System Test)

Page 23: Métodos Ágeis - Aula 01

DISCIPLINAS PRESENTES NO ALM

Relatórios de Acompanhamento (Status Reports)

Page 24: Métodos Ágeis - Aula 01

ADOÇÃO DO ALM

quais os envolvidos na construção da aplicação;

as expectativas de cada um;

quais as ferramentas utilizam;

como é gasto do tempo deles;

onde estão localizados fisicamente;

quais modelos/processos utilizam no dia-a-dia;

quais os relatórios que utilizam para monitorar o projeto;

qual o modelo de migração da aplicação do ambiente de desenvolvimento para o ambiente de produção;

como são estruturados os projetos dentro da ferramenta de controle de código-fonte;

quais as estratégias de montagem da aplicação;

quais os tipos de testes empregados na construção da aplicação;

como compartilham boas práticas de construção;

Page 25: Métodos Ágeis - Aula 01

ENTÃO ESTÁ TUDO RESOLVIDO?

Page 26: Métodos Ágeis - Aula 01

CAMINHO PARA O SUCESSO…

Ideia

Solução

Novos requisitos que surgem

Legado

Bugs não reproduzíveis

Baixa usabilidade

Preocupações com a qualidade

Mudanças na arquitetura

Custos de HW

Novos integrantes no time

Builds quebradas “Sexta-feira” de relatórios

Requisitos que mudam a todo instante

Diversidade tecnológica

Estimativas de prazo e custo mal feitas

Falta de documentação

Qualidade do Build

Page 27: Métodos Ágeis - Aula 01

O CAMINHO DA ENG. DE SOFTWARE

Não é parecida com Engenharia Civil! Após construir uma casa não é fácil mudar uma parede de lugar!!! Mas em software, “mudar uma parede de lugar” é sim relativamente

fácil...

Tampouco é muito parecida com outras engenharias!!!

Software é flexível!!!

Page 28: Métodos Ágeis - Aula 01

ENGENHARIA DE SOFTWARE TRADICIONAL

Desenvolvimento ad-hoc de software em geral produz resultados muito ruins; Especialmente em sistemas grandes

Desejo de criar uma engenharia para que se tenha controle sobre desenvolvimento de software;

Engenharias tradicionais colocam grande ênfase em projetar antes de construir;

Page 29: Métodos Ágeis - Aula 01

VISÃO TRADICIONAL DA EVOLUÇÃO DO SOFTWARE

custo

momento em quefuncionalidade éadicionada

Page 30: Métodos Ágeis - Aula 01

QUEREMOS PODER ALTERAR O SOFTWARE

No inicio do projeto, normalmente não se sabe precisamente o que se quer

Software evolui para atender ao negócio Software nunca fica “pronto”

Obviamente isso só é possível porque software é uma entidade abstrata

Page 31: Métodos Ágeis - Aula 01

PORTANTO…

Precisamos parar de tentar evitar mudanças Mudanças são um aspecto intrínseco da vida do software

Precisamos de uma metodologia de desenvolvimento que nos permita alterar constantemente o código sem comprometer sua qualidade

Page 32: Métodos Ágeis - Aula 01

O QUE QUEREMOS É…

custo

momento em quefuncionalidade éadicionada

Page 33: Métodos Ágeis - Aula 01

O QUE FAZER?

Page 34: Métodos Ágeis - Aula 01

RECADO IMPORTANTE!

“Se não pode ser medido, não pode ser gerenciado, e se não pode ser gerenciado, para que investir?”

SCRUMCMMIMSFPMI

XP…

Colaboração

Qualidade

Previsibilidade

Controle

Page 35: Métodos Ágeis - Aula 01

FERRAMENTAS

Page 36: Métodos Ágeis - Aula 01

Team ExplorerEverywhere

E X T E N S I B L E A P I s

SharePoint

Project Server

System Center

TEAMFOUNDATIO

NSERVER SQL Server

Office

Web Access

Windows Azure

Version Control

Build Automation

CustomizableProcesses

RequirementsManagement

Test CaseManagement

ProjectManagement

End-to-EndTraceability

Lab Management

Analytics

Page 37: Métodos Ágeis - Aula 01

TRANSFORMANDO CONCEITOS EM PRÁTICA…

Page 38: Métodos Ágeis - Aula 01

PROCESSO DE TRABALHO

Analista de

NegócioGerente

de Projeto

Time de Desenvolviment

o

Test

Operações

RequisiçãoDe Mudança

Cenários

Requerimentos de Negócio

Bugs

Tarefas

Erros emProdução

Itens de trabalho são a unidade de comunicação entre as pessoas do time

Builds

Implantação

Page 39: Métodos Ágeis - Aula 01

ITENS DE TRABALHO

Descrição Estado Atual

Atribuição de tarefasAnexos

Links para outros Itens de Trabalho Histórico totalmente auditadoPersonalizável

Encerrado

Ativo

Solucionado

Encerrado

Ativo

Solucionado

Proposta

Caso de Uso Tarefas Bugs

“Os itens de trabalho são unidades de comunicação que fazem parte do processo de desenvolvimento”

Page 40: Métodos Ágeis - Aula 01

MODELOS - PLATAFORMA VISUAL STUDIO

MSF for Agile - Visual Studio ALM

Page 41: Métodos Ágeis - Aula 01

MODELOS - PLATAFORMA VISUAL STUDIO

MSF for CMMI -Visual Studio ALM

Page 42: Métodos Ágeis - Aula 01

MODELOS - PLATAFORMA VISUAL STUDIO

Visual Studio Scrum 2.0 -Visual Studio ALM

Page 43: Métodos Ágeis - Aula 01

ALM – CÍCLO CONTINUO DE ENTREGAS

REQUIREMENTS

PRODUCTBACKLOG

OPSBACKLOG

MonitorSprint

WORKING SOFTWARE

Page 44: Métodos Ágeis - Aula 01

PRÓXIMO ENCONTRO…

Agilidade conceitos

Scrum

Page 45: Métodos Ágeis - Aula 01

PRATICANDO…LOTES DE PRODUÇÃO X PRODUTIVIDADE

Analista Projetista Programador Testador Cliente

Æ ŒRef: Luiz Cláudio Parzianello

Page 46: Métodos Ágeis - Aula 01

PRATICANDO…LOTES DE PRODUÇÃO X PRODUTIVIDADE

Æ…

Æ Œ Æ Æ…

Æ Œ™ Æ Œ Æ Œ…

Æ Œ™ Æ Œ™…

Ref: Luiz Cláudio Parzianello

Æ Æ Œ Æ Œ™… … … …

Pequenos Lotes

Grandes Lotes

Page 47: Métodos Ágeis - Aula 01

PRATICANDO…LOTES DE PRODUÇÃO X PRODUTIVIDADE Qual é o arranjo logístico mais rápido?

Qual equipe apresentou o maior esforço por projeto?

Quais as vantagens de cada abordagem?

Quais as desvantagens de cada abordagem?

Qual a justificativa para manter os grandes lotes?

Page 48: Métodos Ágeis - Aula 01

ARTIGOS…

Disserte sobre ALM demonstrando a visão do grupo sobre o assunto e os principais motivos para se adotar.

O que é agilidade para grupo? Cite os ganhos do uso de um processo ágil no desenvolvimento de software.