Gestão de Projectos CIUP – 6 Dezembro 2004 6 Dezembro 2004 Agenda Enabler (breve apresentação) Gestão de Projectos Princípios de desenvolvimento 6 Dezembro 2004 2 Enabler’s value proposition Strong retail knowledge European focus (for now) End to End Retail solutions Long-term customer relationships Results-oriented attitude Cost effective Operational model Delivery and Quality 6 Dezembro 2004 3 Enabler’s offices We now have permanent offices in Portugal, UK, Germany, Italy, France, Spain and Brazil. In the next few years we plan to be present, either physically or in project work, in the major European markets. Our locations act as marketing, delivery and project management units. 6 Dezembro 2004 4 Enabler’s customers Success is all about well-engineered solutions, delivered to the highest standard, on time and on budget. Our reputation is based on consistent, high quality service and a track record of delivering results. 6 Dezembro 2004 5 Agenda Enabler (breve apresentação) Gestão de Projectos Princípios de desenvolvimento 6 Dezembro 2004 6 Gestão de Projectos INICIAR O PROJECTO ESTRUTURAR O PROJECTO PLANEAR O PROJECTO EM DETALHE CONTROLAR O PROJECTO CONCLUIR O PROJECTO AVALIAR MODIFICAÇÕES COMUNICAR O ESTADO DO VENDA 6 Dezembro 2004 PROJECTO PROJECTO 7 Gestão de Projectos – a fase anterior (Venda) • ESTRUTURAR O PROJECTO Outputs : * * * * * * * * * 6 Dezembro 2004 Output do Processo de Venda para o Processo de Gestão de Projectos PROJECTO Objectivos de Negócio vs Objectivos do Projecto Âmbito do Projecto Método ( Faseamento e Produtos Resultantes ) Quantificação de Esforço (H*D) Organização do Projecto e Mecanismos de Controlo Calendarização Orçamentação global Factores de risco vs Estratégias e Acções de Contingência Metodologia proposta ao cliente 8 Gestão de Projectos – O Projecto FASES DO PROJECTO Iniciar o Projecto Metodologia de Integração de Soluções Execução Projecto Análise e Desenho Metodologia de Consultoria Metodologia de Integração de Soluções Execução Projecto Desenvolvimento e Testes da Solução Metodologia de Testes Gestão de: o Cliente, Processo de o Contrato, CPP o Projecto, a Mudança, a Qualidade …. 6 Dezembro 2004 9 Implementação Formação Arranque Conclusão Gestão de Projectos INICIAR O PROJECTO PLANEAR O PROJECTO EM DETALHE • Inputs: •Documento de Definição do Projecto •Proposta aprovada • Acções: • Documento de Definição - refinado • Plano de Detalhe do Projecto • Organização e Equipas Formadas • Mecanismos de Controlo • Mecanismos de Comunicação • Aplicação das Recomendações Best Practices • Planos de Qualidade e Controlo dos Riscos • Reunião (ões) de Kick-Off PROJECTO PQ-GD01 Início do Projecto 6 Dezembro 2004 10 Gestão de Projectos • CONTROLAR O PROJECTO Inputs: • Documento de Definição - refinado • Plano de Detalhe do Projecto • Organização e Equipas Formadas • Mecanismos de Controlo • Metodologias de ‘Execução’ do Projecto (Consultoria e Integração de Soluções) • Mecanismos de Comunicação • Acções: • Quantificação de Desvios • Análise de Problemas • Acompanhamento de Equipas (delegação, conflitos, negociações,…) • Acompanhamento dos “Clientes” ( expectativas, negociações,…) • Validação dos deliverables das metodologias • Qualidade do Desempenho e dos Resultados • Gestão do Risco • Gestão dos Pedidos de Modificações PQ-GD04 Controlo de Projectos; PQ-GD03 Gestão de Risco PQ-GD05 Preparação de CPP; PQ-GD06 Gestão Implementação 6 Dezembro 2004 11 Gestão de Projectos • AVALIAR MODIFICAÇÕES Inputs: • Documento de Definição Inicial (proposta aprovada) • Pedidos de Modificações • Mecanismos de Comunicação • Acções: • Análise de Impacto nas várias componentes do Projecto • Quantificação de Esforço, Duração e $ • Negociações---Adenda/Nova proposta PROJECTO PQ-GD02 Gestão de Âmbito 6 Dezembro 2004 12 Gestão de Projectos • COMUNICAR O ESTADO DO PROJECTO Inputs: • Documento de Definição Inicial (proposta aprovada) • Documentos de controlo do projecto • Acções: • Situação escrita do Projecto para o “Cliente“ • Situação do Projecto para a Equipa • Situação do Projecto para a Empresa • Apresentações Formais e Informais PROJECTO PROJECTO PQ-GD04 Controlo do Projecto 6 Dezembro 2004 13 Gestão de Projectos • Inputs: CONCLUIR O PROJECTO • Documento de Definição Inicial (proposta aprovada) • Documentos de controlo do projecto (história do projecto) • Produtos resultantes • Acções: • Garantir a aceitação do cliente • Avaliação de Projecto (Resultados, Método de Trabalho, etc) • Avaliação do Desempenho da Equipa • Recepção da Avaliação do Cliente • Identificação de Melhorias/Sugestões para próximos projectos • Passagem a Suporte PROJECTO PROJECTO PROJECTO PQ-GD07 Fecho do Projecto 6 Dezembro 2004 14 R&D Pragmatic Programming Hacking Open Source Software development Agile Modelling 6 Dezembro 2004 eXtreme Programming Scrum Enabler Agile Software Yields Adaptive Software Development Feature Dynamic Driven System Development Development Method 15 Rational Unified Process Crystal Family Methodologies Formal Methods R&D - EASY Analysis & Planning Phase Inputs JADs Product backlog list Development Phase Beta Testing Phase Release Phase Documentation Sprint Features List Final Release Daily Meeting User Manuals User & support training Analysis Scheduling Planning Analysis Component List Product Marketing Design Delivery Sprint Integration Standards Conventions High Level Design Architecture Technology Alfa Testing Evolution System Testing Sprint Review Meeting Resources Architecture JADs New Product or Increment “Not Approved” Loop 6 Dezembro 2004 16 Current Product Release Agenda Enabler (breve apresentação) Gestão de Projectos Princípios de desenvolvimento 6 Dezembro 2004 17 Princípios de Desenvolvimento Princípios 1º 2º 3º 4º 5º 6º 7º 8º - 6 Dezembro 2004 Programação defensiva Respeito pela arquitectura de SI Não utilização de ‘Hardcode’ Boa legibilidade do código Cuidados na experimentação Orientação à implementação prática Utilização de ferramentas aprovadas Orientação à Portabilidade 18 Princípios de Desenvolvimento Este documento apresenta um conjunto de princípios básicos de orientação ao desenvolvimento de software efectuado pela Enabler. Estes princípios devem ser utilizados como complemento às Metodologias em uso na Enabler de: Desenvolvimento Gestão de Projectos Testes Passagem a Produção Os princípios de desenvolvimento destinam-se a: Técnicos de desenvolvimento de software Gestores de Projecto Auditores 6 Dezembro 2004 19 Princípios de Desenvolvimento Quais os objectivos a atingir com estes princípios? Maior Tolerância a Falhas do software desenvolvido Maior Robustez do software desenvolvido Maior Performance Global do software desenvolvido Maior Facilidade de Utilização do software desenvolvido Redução do Ciclo de Desenvolvimento Fácil e Rápida Evolução e Manutenção do software desenvolvido Fácil e Rápida Portabilidade do software desenvolvido Fácil e Rápida Reutilização do software desenvolvido 6 Dezembro 2004 20 Princípios de Desenvolvimento Resumo dos princípios abordados Princípio Objectivos Como se consegue... Programação defensiva Maior tolerância a falhas Maior robustez Tratamento de todas as excepções Inclusão de testes prévios aos recursos disponíveis (rede, disco, sessão, tabelas, etc.) Inicialização obrigatória das variáveis Verificação dos domínios (sinal, datas, nulos, somas) Documentação detalhada das excepções, em ficheiros de ‘log’ Respeito pela arquitectura Cumprimento dos standards Maior performance global Menor peso nas redes de dados Garantia de integridade dos dados Não utilização de funcionalidades descontinuadas ou a descontinuar Eliminação da manutenção da mesma informação nos diferentes softwares da arquitectura Não efectuar explorações analíticas em bases de dados transaccionais Pontos únicos para os repositórios de informação crítica Revisão do código em função das actualizações das ferramentas Não utilização de Hardcode Maior portabilidade do software Maior segurança na informação Evolução/Manutenção mais fácil e rápida Não fixar valores no código Não referenciar ‘paths’ absolutos Não incluir ‘User IDs’ ou ‘Passwords’ no código 6 Dezembro 2004 21 Princípios de Desenvolvimento Resumo dos princípios abordados (cont.) Princípio Objectivos Como se consegue... Boa legibilidade do código Fácil leitura e entendimento do funcionamento e objectivo do código Fácil manutenção do código Programação estruturada Indentação do código Documentação do código Normalização da nomenclatura Modularidade do código Cuidados com a experimentação Robustez do software Menor risco no desenvolvimento Maior facilidade na análise de problemas Utilização apenas de ‘features’ suportadas e documentadas para uma determinada plataforma Utilização das versões e plataformas certificadas Orientação à implementação prática Assegurar boa performance em produção no cliente Permitir escalabilidade das soluções Assegurar uma fácil usabilidade por utilizadores nos clientes (‘não-técnicos’) reduzindo o tempo de formação e aumentando a produtividade Definição e utilização de regras coerentes de usabilidade Utilização das regras de usabilidade das plataformas (ex. regras de usabilidade para ambiente MS Windows) Orientação do desenvolvimento ao seu objectivo final (ex. processo ‘batch’ vs interface com o utilizador) Simulação de situações reais de carga num sistema de testes semelhante ao de produção 6 Dezembro 2004 22 Princípios de Desenvolvimento Resumo dos princípios abordados (cont.) Princípio Objectivos Como se consegue... Utilização de ferramentas aprovadas Menor tempo de desenvolvimento Fácil integração de novos técnicos Reutilização funcionalidades de utilização frequente Normalização do conjunto de ferramentas a utilizar Escolha das ferramentas a utilizar nos projectos, logo no seu início Definição do conjunto de ferramentas e respectivos objectivos e âmbito Formação dos técnicos nas ferramentas Orientação à Portabilidade Reutilização de código entre projectos e tecnologias Independência de outros sistemas Fácil internacionalização de aplicações Migração de plataforma e ferramentas Ter em atenção as fontes utilizadas e as várias resoluções dos ecrãs Utilização de regras de programação estruturada e modular Implementação de classes independentes da sua invocação Utilização, sempre que possível, apenas das funções standard das ferramentas Separação do código de apresentação, do código de regras de negócio Utilização de ficheiros de definição para as opções do interface com o utilizador (ex. menus, botões, opções de navegação, etc.) 6 Dezembro 2004 23 Princípios de Desenvolvimento Maior Tolerância a Falhas Maior Robustez Maior Performance Global Maior Facilidade de Utilização Redução do Ciclo de Desenvolvimento Fácil e Rápida Evolução e Manutenção Fácil e Rápida Portabilidade Fácil e Rápida Reutilização 6 Dezembro 2004 24 Orientação à Portabilidade Ferramentas aprovadas Implementação Prática Impacto Negativo Cuidados com a Exper. Maior Impacto Negativo Boa legibilidade do Código Impacto Positivo Não Utilização de ‘Hardcode’ Maior Impacto Positivo Respeito pela Arquitectura Programação Defensiva Relação dos objectivos com os princípios Conclusão Atitude Responsabilidade Competência Auto motivação Aprendizagem Adaptação Agilidade Equilíbrio Gostar do que faz. 6 Dezembro 2004 25