aula01 introducao

33
Gestão do Desenvolvimento WEB 28 horas Prof. Joaquim Lopes Júnior

Upload: joaquim-lopes-junior

Post on 24-Dec-2014

276 views

Category:

Technology


0 download

DESCRIPTION

Disciplina de Gestão do Desenvolvimento WEB.Introdução

TRANSCRIPT

Page 1: Aula01 introducao

Gestão do DesenvolvimentoWEB

28 horas

Prof. Joaquim Lopes Júnior

Page 2: Aula01 introducao

ProfessorJoaquim Lopes Júnior

[email protected]@joaquimlopes

Mestre e Bacharel em Ciência da Computação pela UFMG cuja dissertação abordou aspectos de gestão ágil de

desenvolvimento de software, é diretor da F6 Sistemas onde coordena projetos de software 3 camadas, coordena e ministra treinamentos com foco em melhores práticas para desenvolvimento para WEB na PHPrime Training.

Entre 2006 e 2010 trabalhou como consultor para a UFMG em projetos de desenvolvimento de software para o

governo de Minas Gerais.

Page 3: Aula01 introducao

Objetivos da DisciplinaDiscutir aspectos tradicionais e ágeis de gestão

de desenvolvimento de softwaresOferecer ferramentas para tomada de decisão a

respeito de quais técnicas utilizar em cada contexto

Entender as necessidades específicas para gestão de projetos WEB

Conhecer os níveis de maturidade dos modelos CMMI e MPS.BR, e as suas recomendações relacionadas a gestão de projetos

Page 4: Aula01 introducao

Objetivos da DisciplinaDiscutir as peculiaridades do

desenvolvimento na velocidade da internet

Conhecimento de PMBOK e Certificações Scrum Master e PMP

Utilizar ferrametnas de apoio a gestão para internet.

Page 5: Aula01 introducao

EmentaPor que se investir tempo em gestão do desenvolvimento?

Gestão de desenvolvimento segundo as abordagens

tradicionais: espiral e cascata. Abordagens ágeis para gestão

do desenvolvimento de aplicações: SCRUM e práticas do

método Extreme Programming. Recomendações de gestão

dos modelos CMMI e MPS.BR aplicadas ao Desenvolvimento

WEB. Ferramentas de apoio a Gestão de Desenvolvimento

WEB. PMIBOK. Frameworks e Gestão de configurações. Mini-

projeto e estudo de caso.

Page 6: Aula01 introducao

Conteúdo ProgramáticoAula 1 – Introdução

O que a WEB tem de diferente?Classificação do tipo de projeto: sob-demanda,

SaaS, Rede Social, portal, etc.Influência do Modelo de Negócio na gestão

Page 7: Aula01 introducao

Conteúdo ProgramáticoAula 2 – Modelos Tradicionais de Gestão de

DesenvolvimentoFases do ProjetoCiclo de VidaGestão de RequisitosGestão de QualidadeGestão de Riscoss

Page 8: Aula01 introducao

Conteúdo ProgramáticoAula 3 – Métodos Ágeis :: Scrum

Introdução a Métodos Ágeis Fundamentos do Manifesto Ágil

O que é o ScrumContextos para aplicação do ScrumElementos do Scrum

Definições Básicas Papéis Artefatos Práticas Meetings - Reuniões

Page 9: Aula01 introducao

Conteúdo ProgramáticoAulas 3 e 4 – Métodos Ágeis :: Extreme

ProgrammingO que é o XP?Diferença entre Scrum e XP :: aproveite o melhor

de cada métodoContextos para aplicação do XPElementos do XP

Valores Práticas

Desafios para adoção de métodos ágeisEstudo de caso

Page 10: Aula01 introducao

Conteúdo ProgramáticoAula 5 – Modelos de Maturidade CMMI e MPS.BR

Introdução aos modelos de maturidadeObjetivos dos modelos de maturidadeNíveis de MaturidadeAnálise das recomendações relacionadas a gestão

de projetoRelação dos objetivos desses modelos e suas

recomendações com as práticas de gestão tradicionais e ágeis

Page 11: Aula01 introducao

Conteúdo ProgramáticoAula 6 – Certificações

ScrumMasterPMP – Project Management Professional

Page 12: Aula01 introducao

Conteúdo ProgramáticoAula 6 – Tendências

Management 3.0

Page 13: Aula01 introducao

Conteúdo ProgramáticoAula 7 – Laboratório :: Frameworks e Gestão de

ConfiguraçõesTrac / RedmineAnálise de Frameworks

Comunidade ativa Modelo MVC Design Pattern OO Design Patter ORM Compatibilidade com Múltiplos Bds – frameworks de Bds. Templates Segurança e Caching Facilidade para se trabalhar com Ajax Compatibilidade com versões mais atuais da linguagem

Page 14: Aula01 introducao

Conteúdo ProgramáticoAula 8 – Laboratório :: Frameworks de

Desenvolvimento – Critérios de escolhaDesign Patterns

MVC OO ORM

Compatibilidade com BdsTemplatesSegurança e CachingTrabalho com Ajax

Page 15: Aula01 introducao

IntroduçãoO que a WEB tem de diferente?

Competição desenfreada

Ciclos de Vida Curtos

Entregar valor cada vez mais rápido

Page 16: Aula01 introducao

IntroduçãoO que a WEB tem de diferente?

Problemas devido a ciclos de vida curtos Qualidade

Modelos de maturidade e melhoramento de processos Tratam de processos disciplinados e estáveis Ciclos de vida mais longos

Page 17: Aula01 introducao

Introdução

A INTERNET precisa de equilíbrio entre flexibilidade e metodologia disciplinada

Page 18: Aula01 introducao

Introdução

Grandes corporações que iniciaram utilização de métodos ágeis:

Microsoft e Nestcape

Page 19: Aula01 introducao

IntroduçãoCenário de desenvolvimento para internet

Rush-to-market. Corrida acelerada para entregar cada vez mais rápido

Facilidade de Implantação (Deploy)

Page 20: Aula01 introducao

IntroduçãoCenário de desenvolvimento para internet

Mercado diferenciadoNovos grupos de usuáriosNovas perspectivas e ferramentas:

integração com mapas, redes sociais, dispositivos móveis.

Falta de experiência

Page 21: Aula01 introducao

IntroduçãoCenário de desenvolvimento para internet

Qualidade NegociávelVelocidade x Erros aceitáveis

Page 22: Aula01 introducao

IntroduçãoDesenvolvimento em paralelo

Linha de Montagem para desenvolvimento de software

Todas as fases do desenvolvimento ocorrem ao mesmo tempo, em releases diferentes

Pode-se iniciar o desenvolvimento de partes antes de se conhecer o todo

Page 23: Aula01 introducao

IntroduçãoLiberações Mais Frequentes

Usuários estão acostumados a receber novidades com muita frequência. Isso faz parte da definição de “bom”

Entregue um conjunto menor de features, mas entregue sempre

Page 24: Aula01 introducao

IntroduçãoLiberações Mais Frequentes

Gestão Fluída de RequisitosRequisitos são adiados para releases

próximos

Requisitos podem ser inseridos de “última hora” para atender ao mercado

Diminuição dos impactos do adiamento porque a próxima versão não demora

Page 25: Aula01 introducao

IntroduçãoDependência de Ferramentas

Codificação – IDEs e Frameworks

Testes automatizados

Build automatizado

Page 26: Aula01 introducao

IntroduçãoClientes “infiltrados”

Para se desenvolver rápido é necessário feedback RápidoDe qualidadeFeatures, Prazos e Custos

No mundo tradicional - agendamentosReuniõesComitês

Page 27: Aula01 introducao

IntroduçãoClientes “infiltrados”

Facilita lidar com requisitos voláteis e confusos, com dificuldade de priorizar

Priorização para se criar os releases seguintes

Maior envolvimento permite menos esforços com gestão de requisitosMelhor agrupamento de requisitos p/ releases

Page 28: Aula01 introducao

IntroduçãoArquitetura Estável

Reúso de componentesPadrão de comportamento dos

componentesEx.: Modelo MVC

Arquitetura comum ainda entre diferentes projetos.

Page 29: Aula01 introducao

IntroduçãoReutilização de componentes

Não reinvente a rodaUtilize orientação a objetos (escolha a

linguagem certa)Cuide bem das interfaces dos componentes

Teste-as muito bemCada componente bom é uma economia

no futuro

Page 30: Aula01 introducao

IntroduçãoIgnore a manutenção

Depende do focoHotsites x Portais x Sistemas de

Informação

Documentação enxuta

Page 31: Aula01 introducao

IntroduçãoAjuste a metologia diariamente

Tenha práticas de avaliação da metodologia

Ajuste para ganhar mais velocidade e qualidade

Recomenda-se utilizar um processo padrão não muito rígidoCada projeto estende esse processo

Page 32: Aula01 introducao

IntroduçãoDificuldades de Gerenciamento de Software

IntangívelA ponte demorando a ser construída você vê

Não padrões de processoMuitas pontes já foram criadas ao longo de séculos

Projetos grandes não têm características que se repetem

Page 33: Aula01 introducao

IntroduçãoTipos de Projeto

SaaSComprometimento com updates e correção de

bugsRedes Sociais

Agilidade e tratamento de volumePortais

Vários públicos utilizandoSob-demanda

Cliente bem definidoPossível especificar plataforma