Engenharia de Requerimentos Culpada por 80% das falhas em projetos, a disciplina merece melhor trato. Paulo Vasconcellos [email protected] Realização: Apoio: Objetivos da Palestra Apresentar a disciplina ‘Engenharia de Requerimentos’ de forma prática e estruturada Mostrar a construção de uma base de conhecimentos para gestão de projetos de desenvolvimento de sistemas Trazer para o mundo dos projetos de desenvolvimento conceitos da disciplina ‘Gestão de Conhecimentos’ Mostrar a importância dos projetos de desenvolvimento na construção e difusão de ‘Capital Intelectual’ Agenda The Chaos Report Engenharia de Requerimentos Construindo uma Base de Conhecimentos Capital Intelectual: Conceitos Gestão do Conhecimento em Projetos Adequação ao CMMi e ao RUP A disciplina ‘Escopo’ do PM-BoK The Chaos Report Facts: $250 billion dollars are spent on IT projects 31% of IT projects are cancelled 53% of IT projects cost 189% of the original cost estimation Only 16% of IT projects are completed on time and on budget 38% of IT projects incur scope creep (the project begins to include extensive features not planned for in the initial defining period) Os 6 Maiores Suspeitos Estimativas de Prazos e Custos Pobre gestão de Requerimentos Mudanças de Escopo e/ou Objetivos Gestão de Mudanças ineficiente Controle de Qualidade fraco Distância do Usuário Final E Uma Conclusão “Acredito que a complexidade do desenvolvimento de software está na especificação, projeto e teste da visão conceitual, e não no trabalho de representá-la ou testar a fidelidade da representação.” Frederick P. Brooks Autor de “The Mythical Man-Month” Requerimento Definição Clássica: “uma condição ou funcionalidade requerida por um usuário para resolver um problema ou atender determinado objetivo”. A “Voz” do Usuário Requerimentos do Produto Requerimentos de Negócio Regras de Negócio Casos de Uso ou Cenários Definições de Dados Características Essenciais Mínimas Requerimentos do Projeto Estruturando a “Voz do Usuário” Classe Ponto de Vista •Operacional •Tático •Estratégico •Técnico •Fundamental •Importante •Acessório Fonte •Requerimentos do Produto •Requerimentos de Negócio •Regras de Negócio •Definições de Dados •Casos de Uso •C.E.M. •Requerimentos do Projeto Voz do Usuário Grau de Importância •Identificação Única •Sentença Única •Interpretação Única •Controle de Versões (Mudanças) Requerimentos do Produto (Voz do Usuário) Requerimentos do Produto Destinação •Interface do Usuário •Lógica de Negócio •Camada de Dados •Interface entre Sistemas •Infra-estrutura Requerimentos de Negócio (Voz do Cliente) (Voz do Usuário) Casos de Uso ou Cenários Requerimentos de Negócio Categoria •Problema •Objetivos •Metas Métricas Regras de Negócio (Voz do Usuário) (Voz do Usuário) Casos de Uso ou Cenários Regras de Negócio •Interna •Externa Fonte •Derivação •Restrição •Existência Categoria Casos de Uso ou Cenários (Voz do Usuário) Condições (Voz do Usuário) Casos de Uso ou Cenários Eventos Descrevem Regras de Negócio Processos de Negócio ou Atividades / Tarefas Tipo de Transformação (Voz do Usuário) Requerimentos de Negócio •Físico •Abstrato •Informativo Recursos Tipos de Recursos •Tempo de Ciclo •Custo por Ciclo Definições de Dados •Tipo •Campo •Tabela •Base (Voz do Usuário) Categoria Significado de Negócio Definições de Dados Características Essenciais Mínimas (Voz do Usuário) Tipo Qualitativas •Portabilidade •Disponibilidade •Segurança •Extensibilidade •Manutenabilidade •Reusabilidade Características Essenciais Mínimas Quantitativas •Performance •Escalabilidade Requerimentos do Projeto (Voz do Usuário) Tipo Tarefa Requerimentos do Projeto Restrição Critério de Avaliação •Prazos •Custo de Desenvolvimento •Custo de Propriedade •Regras de Interação A Base de Conhecimentos Utilizando o Rational RequisitePRO Rastreabilidade no Rational Rose Process, what Process? RUP 3 Atividades Básicas Coleta Análise Transformação Relacionamentos entre Requerimentos Indiferente Dependente Complementar Substituto Conflitante Reality Check Qual meta ou objetivo de negócio é atendido pelo requerimento? Onde o requerimento é satisfeito (está implementado)? Este requerimento é realmente necessário? Como eu devo interpretar este requerimento? Quais decisões de projeto afetam a satisfação deste requerimento? Por que foi implementado desta forma e quais eram as alternativas? Este artefato é realmente necessário? Qual teste de aceitação será utilizado para validar o requerimento? Qual o impacto gerado pela mudança deste requerimento? Todos os requerimentos foram atendidos? O projeto acabou?? (SEI website) Escopo de Utilização da Base Rational Rose RUP Requisite Pro Microsoft Project Visual Studio / IDE’s Java Microsoft Office Rastreabilidade dos Requerimentos Templates Extensão da Funcionalidade Manutenção da WBS Documentação do Código Manter documentação auxiliar Gerar slides para palestras Explícito Internalização Derivação Socialização Explicitação Disseminado Explícito Privado Tácito Tácito Transformação do Conhecimento Transformação de Conhecimento no RUP Socialização Explicitação Derivação Internalização Projetos X Capital Intelectual Software e todos os artefatos auxiliares (modelos, documentação, etc) são conhecimento explícito. Projetos de desenvolvimento são a melhor oportunidade de geração e difusão de capital intelectual em um organização. Referências Rational Unified Process (RUP) Rational Corp [www.rational.com] Capability Maturity Model (CMM) for Software Software Eng. Institute [www.sei.cmu.edu/cmm] Requirements Engineering – A Good Practice Guide Ian Sommerville & Peter Sawyer John Wiley & Sons Software Requirements Karl Wiegers Microsoft Press Business Modeling with UML Hans-Erik Eriksson & Magnus Penker OMG Press – John Wiley & Sons Capital Intelectual / A Riqueza do Conhecimento Thomas Stewart Editora Campus Perguntas & Respostas Contato: [email protected] http://pfvasconcellos.blogspot.com Trabalho liberado sob Licença Creative Commons. Você pode: • Copiá-lo, Distribuí-lo, Exibí-lo e Trabalhar com ele; e • Criar outros trabalhos à partir deste. Sob as seguintes condições: Creditar o autor original. Não utilizá-lo com fins comerciais. Se alterá-lo ou extendê-lo, tornar disponível sob estas mesmas condições.