Gestão de Por+ólios e Projetos de SOFTWARE 1º SEMESTRE DE 2011 Prof. Msc. Hilmer Rodrigues Neri
Sociedade demanda grande quan?dade de sistemas/aplicações sodware complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, AGILIDADE NO GERENCIAMENTO DE Desenvolvimento de Software não há gente suficiente para desenvolver tanto sodware com qualidade. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 2
AGILIDADE NO GERENCIAMENTO DE Sintomas Comumente Presentes em Projetos de Software Es?ma?vas imprecisas; Baixa produ?vidade; Qualidade não adequada; Faltam medições; Poucos dados históricos para guiar es?ma?vas; Comunicação ineficiente; Falta ou deficiência em técnicas de teste Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 3
AGILIDADE NO GERENCIAMENTO DE Problemas Com metodologias de desenvolvimento ditas tracionais Predição Pouca interação com os clientes Ênfase em burocracias (documentos, formulários, processos, controles rígidos, etc.) Código é mais um artefato Com sodware Grande quan?dade de erros Falta de flexibilidade Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 4
AGILIDADE NO GERENCIAMENTO DE Quais são as possíveis soluções? Melhores Tecnologias Padrões de Projeto (reu?lização de idéias) Componentes (reu?lização de código) Arquitetura (+ modularidade),... Melhores Metodologias Métodos Ágeis (foco dessa aula) outras... (RUP, CMMI, MPS.Br, etc.) Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 5
As representações AGILIDADE NO GERENCIAMENTO DE Tradicionais Comunidade de Engenharia de SoDware IEEE/ACM ICSE p.ex. Carnegie- Mellon SEI RUP, CMMI, MPS.Br etc. Ágeis Comunidade de POO ACM OOPSLA, ECOOP p.ex. Johnson, Beck, Cockburn, Jeffries, Cunningham XP, Crystal, Scrum, TDD, FDD, AUP, etc. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 6
O Manifesto Ágil AGILIDADE NO GERENCIAMENTO DE 1. Indivíduos e interações são mais importantes que processos e ferramentas. 2. So5ware funcionando é mais importante do que documentação completa e detalhada. 3. Colaboração com o cliente é mais importante do que negociação de contratos. 4. Adaptação a mudanças é mais importante do que seguir o plano inicial. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 7
Princípio do manifesto ágil AGILIDADE NO GERENCIAMENTO DE Obje?vo: sa?sfazer o cliente entregando, rapidamente e com freqüência, sistemas com algum valor, sistemas rodando em produção. Entregar versões funcionais em prazos curtos. Mudanças são um aspecto intrínseco da vida do sodware SoDware evolui para atender ao negócio (união dos mundos) Troca de informações através de conversas diretas. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 8
AGILIDADE NO GERENCIAMENTO DE Modelo Tradicional de Desenvolvimento de Software Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 9
AGILIDADE NO GERENCIAMENTO DE Premissas do Modelo Tradicional É necessário fazer uma análise de requisitos profunda e detalhada antes de projetar a arquitetura do sistema. É necessário fazer um estudo minucioso e elaborar uma descrição detalhada da arquitetura antes de começar a implementá- la. É necessário testar o sistema completamente antes de mandar a versão final para o cliente. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 10
AGILIDADE NO GERENCIAMENTO DE A Visão tradicional da engenharia de Software Custo de mudanças requisitos desenho testes análise implementação produção Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 11
AGILIDADE NO GERENCIAMENTO DE A Visão tradicional da engenharia de Software Custo de mudanças tempo Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 12
AGILIDADE NO GERENCIAMENTO DE Já não seria essa a nova realidade? Orientação a Objetos: facilita e cria oportunidades para mudanças. Técnicas de Refatoração. Testes automa>zados: nos dão segurança quando fazemos mudanças. Prá>ca / cultura de mudanças: aprendemos técnicas e adquirimos experiência em lidar com código mutante. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 13
AGILIDADE NO GERENCIAMENTO DE Scrum Definição informal: Estratégia em um jogo de rugby onde jogadores colocam uma bola quase perdida novamente em jogo através de trabalho em equipe. Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 14
Origens do Scrum Jeff Sutherland AGILIDADE NO GERENCIAMENTO DE Uso inicial do scrum na Easel em 1993 IDX e mais de 500 pessoas usando scrum Ken Schwaber Apresentação na OOPSLA 96 com Sutherland Três livros sobre Scrum Mike Beedle Padrões para o Scrum na PLOPD4 Ken Schwaber and Mike Cohn Fundaram a Scrum Alliance em 2002, inicialmente junto com a Agile Alliance Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 15
Quem usa Scrum? AGILIDADE NO GERENCIAMENTO DE Google MicrosoD Yahoo Electronic Arts High Moon Studios Lockheed Mar?n Philips Siemens Nokia Capital One BBC Intuit Globo.com UOL First American Real Estate BMC SoDware Ipswitch John Deere Lexis Nexis Sabre Salesforce.com Time Warner Turner Broadcas?ng Oce
O Processo empírico AGILIDADE NO GERENCIAMENTO DE Muitos produtos são frutos de processos que possuem um grau de precisão aceitável. Mas o que fazer quando o produto requer um grau de precisão muito maior que a média? Controle de processos definidos tem o propósito de produzir repe?damente um produto onde existe uma tolerância entre as variações da especificação Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 17
O Processo empírico Quando o controle de processos definidos não consegue ser alcançado, então o uso de controle de processo empírico deve ser adotado. O processo empírico possui três pilares: Visibilidade Inspeção Adaptação AGILIDADE NO GERENCIAMENTO DE Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 18
O Processo empírico A visibilidade significa que aspectos do processo que afeta suas saídas devem ser percebidas por aqueles que controlam o processo Uma funcionalidade PRONTA, significa: Claramente codificada Refatorada AGILIDADE NO GERENCIAMENTO DE Suite de testes automa?zados (unitário, funcional,...) Testes de aceitação Prof. Msc. Hilmer GESTÃO DE PORTFÓLIO E - 2011.1 19