aula01 introducao
DESCRIPTION
Disciplina de Gestão do Desenvolvimento WEB.IntroduçãoTRANSCRIPT
Gestão do DesenvolvimentoWEB
28 horas
Prof. Joaquim Lopes Júnior
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.
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
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.
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.
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
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
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
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
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
Conteúdo ProgramáticoAula 6 – Certificações
ScrumMasterPMP – Project Management Professional
Conteúdo ProgramáticoAula 6 – Tendências
Management 3.0
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
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
IntroduçãoO que a WEB tem de diferente?
Competição desenfreada
Ciclos de Vida Curtos
Entregar valor cada vez mais rápido
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
Introdução
A INTERNET precisa de equilíbrio entre flexibilidade e metodologia disciplinada
Introdução
Grandes corporações que iniciaram utilização de métodos ágeis:
Microsoft e Nestcape
IntroduçãoCenário de desenvolvimento para internet
Rush-to-market. Corrida acelerada para entregar cada vez mais rápido
Facilidade de Implantação (Deploy)
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
IntroduçãoCenário de desenvolvimento para internet
Qualidade NegociávelVelocidade x Erros aceitáveis
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
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
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
IntroduçãoDependência de Ferramentas
Codificação – IDEs e Frameworks
Testes automatizados
Build automatizado
IntroduçãoClientes “infiltrados”
Para se desenvolver rápido é necessário feedback RápidoDe qualidadeFeatures, Prazos e Custos
No mundo tradicional - agendamentosReuniõesComitês
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
IntroduçãoArquitetura Estável
Reúso de componentesPadrão de comportamento dos
componentesEx.: Modelo MVC
Arquitetura comum ainda entre diferentes projetos.
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
IntroduçãoIgnore a manutenção
Depende do focoHotsites x Portais x Sistemas de
Informação
Documentação enxuta
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
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
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