Hermano perrelli | hermano@qualiti.com Como Obter Sucesso na Gestão do Desenvolvimento de Software, considerando Produtividade com Qualidade hermano perrelli.

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

PlaneJar é preciso.
A estrutura do gerenciamento de projetos Introdução
Engenharia de Software
Rational Unified Process
Metodologias de Desenvolvimento
Tópicos Motivação para teste Por que algumas empresas não testam
Profa. M.Sc. Yáskara Menescal
Rational Unified Process(RUP)
Analia Irigoyen Ferreiro Ferreira Roberta da Silva Cerqueira
O trabalho da Qualiti concentra-se em transformar projetos de software em casos de sucesso. Especializada em processos, arquiteturas e ferramentas de apoio.
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Gerenciamento de Projetos
Instituto de Pesquisas Eldorado
Implementação de Sistemas
CONSULTORIA EMPRESARIAL
Guilherme Siqueira Simões
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Metodologia Versão 2 FSRS.
PMBOK Project Management Body of Knowledge
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
RUPinho Qualidade de Software
Gestão de Projetos.
Visão Geral PRO.NET.
Visão Geral do RUP.
Cap 2 – Processo de Software
PMBOK 5ª Edição Capítulo 3
Processos de Desenvolvimento de Software – Parte 2
Projeto: Capacitação em GP
Gestão da Inovação Tecnológica
Base de Alcântara, 22 agosto 2003
Análise e Projeto de Sistemas
Fevereiro/ Resultado dos Projetos de Software Pesquisa Motivação.
GESTÃO DE PROJETOS Aula 5 1.
Prof. Alexandre Vasconcelos
PSBD II Projeto de Sistemas de Banco de Dados II
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Etapas do Projeto DC.IC.15 Data Revisão: 07/04/2017 Início Fim
Agenda GERÊNCIA DE PROJETOS PMI – Project Management Institute
Fundamentos de Gerenciamento de Projetos
Especificação em Projeto de Sistemas
RUP - Cap. 5 – Processo Iterativo e Incremental
Instrutor: Objetivos do Workshop:.
Engenharia de Software
Gestão de projetos de Software GTI-16
Integração.
Engenharia de Software
Gerência de Projetos de Software (PMBOK)
Gerenciamento de Projetos - Visão PMI
SISTEMA DE MONITORAMENTO DA TECNOLOGIA DA INFORMAÇÃO.
Gerenciamento de Projetos
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
Gestão de Projetos - aula 5: organização - Profª. Vilma Tupinambá, MsC
Gerência de Projetos de Software
1 YPM – Easy Project Management. 2 Complemento Francisco Eriko Barreto Brito Project Management Professional (PMP®) MBA em TI PMP Number: PMI.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Pessoas & Processos Prefiro uma equipe capacitada e
Programa criado em Apoio ao programa: Ministério da Ciência e Tecnologia da Finep Banco Interamericano de Desenvolvimento Universidades e Governo.
SECRETARIA DA FAZENDA DO ESTADO DE SÃO PAULO Gerenciamento de Serviços de TI - Evolução, Lições Aprendidas e Resultados Práticos - Dezembro / 2015.
Gestão de Projetos Metodologias de gestão de projetos
Projeto: G-TV (Gestor de TV por Assinatura) CSTADS Aluno: Fellipe Weldson de Oliveira Ferreira Gerente: Eriko Brito Projeto Supervisionado de Análise e.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Copyright ©2014 Porto Consultoria & Serviços – todos os direitos reservados.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Gerenciamento de Projetos Prof. Washington Almeida.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

hermano perrelli | hermano@qualiti.com Como Obter Sucesso na Gestão do Desenvolvimento de Software, considerando Produtividade com Qualidade hermano perrelli | hermano@qualiti.com

Slide CAPA

Não faça da sua metodologia um calço de porta | título original |

Agenda de HOJE Motivação QUALITI Software Processes A Relevância da Gerência de Projetos Caso A | Caso B | Caso C | Caso D | ... Conclusões & Desafios Porto Digital Discussão

Motivação

Base de Alcântara, 22 agosto 2003

Orçamento do Agência Espacial Brasileira para 2003: R$35 milhões CHINA e ÍNDIA gastam R$1.200 milhões por ano

O CHAOS Empresas americanas gastam mais de US$275 bilhões a cada ano em projetos de desenvolvimento de software aplicativo. Muitos desses projetos falharão, mas não por falta de dinheiro ou tecnologia; a maioria falhará por falta de um gerenciamento de projetos habilidoso. [ Standish Group, 1999 ]

Qualiti :: O que buscamos? Competitividade: Produtores Consumidores Apoio ao processo de desenvolvimento de software Processos, arquiteturas, tecnologias, componentes e ferramentas que propiciem reusabilidade e escalabilidade

Qualiti :: O que não buscamos?

Metodologias de Software Uma metodologia deve envolver: Fatores de qualidade que guiem o processo Soluções tecnológicas adequadas ao cliente: Paradigma ou modelo Processo Métodos Linguagem de modelagem Linguagem de programação Padrões de projeto e de arquitetura Ferramentas ...

Metodologias Qualiti Baseada no Processo Unificado Iterativa e incremental Arquitetura de software bem definida Atenção nas atividades de planejamento e gerenciamento Baseada em fluxos de atividades; sistematização de atividades: Análise e Projeto, Implementação, Testes, ... Aspectos consolidados a partir de vários outros grandes projetos

Metodologia Iterativa Concepção Elaboração Construção Transição Iteração Preliminar Iter. #1 #2 #i #i+1 #i+2 #n #n+1 Requisitos....................................... Análise & Projeto............................ Implementação............................... Testes............................................. Implantação.................................... Planejamento e Gerenciamento..... Fluxos de Processo Fluxo de Suporte Fases Iterações

Processo Padrão de Implantação Diagnóstico Avaliação inicial requisitos do processo e dos produtos Definição da versão inicial da Metodologia Aplicação a um sistema-piloto acompanhamento Revisão da versão inicial da Metodologia Implantação: plano de implantação; capacitação; implantação; acompanhamento Definição, aquisição e implantação de ferramentas

Benefícios da Metodologia Foco no cliente: Levantamento de requisitos Validação dos requisitos pelo cliente Desenvolvimento do sistema e testes focados nos requisitos Fluxo de atividades: Dependência entre as atividades Entradas e saídas Responsáveis Melhoria contínua: Avaliações das iterações Revisões dos documentos

Benefícios da Metodologia Controle de documentos: Fluxo de gerência de mudanças e configuração Análise crítica dos requisitos relacionados ao produto: Gerência de riscos Planejamento da realização do produto: Fluxo de planejamento e gerenciamento de projeto Caminho para certificação da qualidade (CMM, ISO)

Benefícios :: ESSI Case Studies Engineering: melhoria de 60% na precisão de estimativas de custo, esforço, duração, etc Claas: crescimento de 5 milhões de euros através de melhores especificações e gestão de projetos de software Datamat: diminuição do tempo de colocação no mercado ENEL: redução de 18% no custo de desenvolvimento de projetos através da introdução de métodos formais B&K: redução de 75% nos erros relatados através da sistematização de testes unitários

Uma definição simples para SPI Informalmente, aprender como trabalhar de forma mais eficaz, a desenvolver e manter software de uma maneira melhor, mais barata e mais rápida. Alec Dorling

Os Ingredientes de um Projeto de Melhoria da Qualidade e Produtividade de Software

Nos preocupamos com… E com o Peopleware? Hardware Software Quais são suas preocupações com o bem valioso do projeto – o peopleware ?! São as diferenças entre equipes as maiores responsáveis pelas diferenças de produtividade nos projetos. O COCOMO – um modelo paramétrico clássico para cálculo de custos – sugere que os efeitos combinados da experiência e habilidades da equipe podem exercer um grande impacto na produtividade (por até um fator de 4!).

As pessoas são mais importantes que qualquer processo! Como formar e organizar sua equipe de modo a torná-la um time – algo maior que a soma dos talentos individuais de cada um? As pessoas são mais importantes que qualquer processo!

Processos & Metodologias

Arquiteturas Modelo 3(4) camadas amadurecido Validação em sistemas Java de grande porte Serviços Definição e implantação Validação  apoio a subcontratação de software Imagem da universidade apoiando a pré-venda E mais: WSAD, curso análogo ao Fundamentos do RUP, Preparação para certificação PMP, etc.

Ferramentas e componentes próprios Componentes de apoio Java EngenhoSQL Gerenciador de exceções de SGBD Navegador resultados consultas BD ... Qualiti Coder Interesse da Borland no produto Possibilidade de indicação para desenvolvedores Borland

Ferramentas Mostrar alguns pontos interessantes da interface.

Tecnologias & Ferramentas RUP Java EJB J2EE .NET UML Servlets HTML JavaScript XML Delphi ... Tools Project Reconcile RequisitePro Rose WSAD JBuilder MS Visual Studio TrackRecord Bugzilla QARun QALoad CVS Dreamweaver ...

Competência em Gerência de Projetos

Consultoria em tecnologia Centro de excelência em Java Recife é referência nacional Centro de Informática da UFPE é pioneiro no uso/ensino da linguagem Formação de capital humano altamente qualificado Centro de competência .NET Parceria com Microsoft Foco em qualidade de software e processos para desenvolvimento .NET: PRO.NET E mais: WSAD, curso análogo ao Fundamentos do RUP, Preparação para certificação PMP, etc.

Qualiti Software Processes Soluções para o processo de construção de software www.qualiti.com

O que buscamos? Competitividade: Produtores Consumidores Apoio ao processo de desenvolvimento de software Processos, arquiteturas, tecnologias, componentes e ferramentas que propiciem produtividade, escalabilidade, portabilidade, reusabilidade, etc.

Nossa Missão Transferência de conhecimento e tecnologias em Engenharia de Software que gerem um impacto significativo na qualidade e competitividade dos produtos e serviços comercializados pelos nossos clientes

Foco de atuação Desenvolvimento e implementação de processos e metodologias Adaptados a cada cliente Abrangendo todo ou parte do ciclo de desenvolvimento Aderentes a padrões internacionais de qualidade (CMM e ISO) Consultoria em arquitetura de software Validação e definição Requisitos não funcionais (Produtividade, disponibilidade, robustez e escalabilidade, etc.) Disponibilização e seleção de componentes e ferramentas Avaliação e seleção de ferramentas de mercado Soluções para automatização de parte do desenvolvimento Qualiti Coder – geração e manutenção de código Java Produtividade e Qualidade através da geração automática do código Capacitação e transferência de tecnologia Treinamentos e mentoring

Nossos Clientes Chesf

Qualiti :: Programas e Parcerias Residência em Software Capital humano em fábricas de software PQT Formação de 1600 alunos em diferentes perfis PMI Recife Instituição co-fundadora CEQS | CTXML Centro de Excelência em Qualidade de Software Foco inicial em .NET | Pro.NET SPIN Recife www.qualiti.com/spin Parceiros IBM/Rational, Microsoft, CESAR, CIn-UFPE, International Sys

Capital humano Time de 30 colaboradores, 46% com pós-graduação 7 PHDs em Engenharia de Software 6 mestres e 1 MBA Capacitação e treinamentos contínuos 6 PMPs – Project Management Professionals 9 Sun certified programmer for Java 2 platform Parcerias com Rational/IBM, Microsoft, CIn Uma empresa do Porto Digital 400m2 no coração do Porto, com laboratórios, salas de treinamento e escritório

Porto Digital :: 400 m2 QUALITI

Centro de Educação e Treinamentos

Centro de Educação e Treinamentos

Desenvolvimento e Produção

Foco de atuação Processos e metodologias Educação e treinamentos Arquiteturas de software Tecnologias Ferramentas e Componentes Componentização de processos Qualidade de Software Desenvolvimento e implementação de processos e metodologias Adaptados a cada cliente Abrangendo todo ou parte do ciclo de desenvolvimento Consultoria em arquitetura de software Validação e definição Robustez e escalabilidade Disponibilização e seleção de componentes e ferramentas Soluções para automatização de parte do desenvolvimento Qualiti Coder – geração e manutenção de código Java Capacitação e transferência de tecnologia Treinamentos e mentoring Processos e metodologias Mencionar a SRF, com MDS com forte ênfase no fluxo de testes, devido a importância da corretude do produto (IRPF) Falar do trabalho para a ONS e da definição e aplicação de arquitetura EJB ao sistema do Datasus. Falar do ganho de produtividade com o Qualiti coder (50 a 75%) Ressaltar xml

A Relevância da Gerência de Projetos

Uma conversa sobre gerência de projetos... Demonstrar a relevância da gerência de projetos Apresentar alguns conceitos relacionados à Gerência de Projetos Apresentar brevemente o modelo de gerência de projetos seguido pelo PMBOK ...

Algumas estatísticas 28% dos projetos são abortados 46% dos projetos extrapolam o prazo ou o custo somente 26% dos projetos são bem sucedidos Apesar do nobre objetivo do gerente de projetos, na maioria das vezes os resultados não são alcançados. [ Standish Group, 1995 ] 1/3

Algumas estatísticas % de projetos bem sucedidos em grandes empresas: 24% em médias empresas: 28% em pequenas empresas: 32% Apesar do nobre objetivo do gerente de projetos, na maioria das vezes os resultados não são alcançados. [ Standish Group, 1995 ] 2/3

Algumas estatísticas % de projetos bem sucedidos até $750K: 55% de $750K até $1.5M: 33% de $1.5M até $3M: 25% de $3M até $6M: 15% de $6M até $10M: 8% acima de $10M: 0% Apesar do nobre objetivo do gerente de projetos, na maioria das vezes os resultados não são alcançados. [ Standish Group, 1995 ] 3/3

Crescimento de Membros do PMI na Década de 90

Crescimento de Membros do PMI | Dezembro de 2000 75,93% USA 11,21% Canada 13,36% Outros

“Não se preocupe; eu vou pensar em algo…”, Indiana Jones No cinema o “método Indiana-Jones” funciona muito bem! Mas na vida real precisamos nos preocupar com os possíveis problemas antes que eles ocorram! Assim, não ficamos dependendo da sorte, de um acesso de genialidade ou de um milagre para nos “safarmos”.

SUCESSO de um projeto Projeto foi realizado contemplando O tempo estimado O custo previsto Um bom nível de aceitação do cliente O projeto e cliente pode ser utilizado como referência Atendimento de forma controladas às mudanças de escopo As regras, políticas, procedimentos da organização, sem causar distúrbios Aspectos culturais

Fatores de SUCESSO 1. User Involvement 19 2. Executive Management Support 16 3. Clear Statement of Requirements 15 4. Proper Planning 11 5. Realistic Expectations 10 6. Smaller Project Milestones 9 7. Competent Staff 8 8. Ownership 6 9. Clear Vision & Objectives 3 10. Hard-Working, Focused Staff 3

O que é um Projeto? Tem início e fim bem determinados “Um esforço temporário com a finalidade de criar um produto/serviço único” O resultado é algo diferente em algum aspecto PMBOK Guide 2000

Exemplos de Projetos Desenvolvimento de um novo produto/serviço. Desenvolvimento de um novo modelo de veículo. Construção de um prédio. Uma campanha para um cargo político. Desenvolvimento ou aquisição de um sistema. Uma edição de um jornal ou revista.

O que é Gerenciamento de Projetos? “Aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de alcançar seus objetivos.” PMBOK Guide 2000 É atingido através do uso de processos e fases.

O Gerenciamento envolve Planejamento definição e previsão de requisitos, cronograma, recursos, esforço e custos organograma do projeto e alocação da equipe infra-estrutura necessária (ambiente, treinamentos, etc.) estrutura de comunicação problemas (levantar riscos) Monitoração acompanhar, avaliar, monitorar, resolver realização das atividades (progresso do projeto) riscos e custos qualidade dos artefatos motivação e coesão da equipe problemas e conflitos (tomar ações corretivas)

Pontos Relevantes do Gerenciamento Tempo Custo Escopo bom relacionamento com o Cliente Qualidade

Stakeholders Indivíduos e organizações envolvidos no projeto, ou que serão afetados positivamente ou negativamente pelo resultado final. Devem ser identificados e gerenciados, pois são elementos chaves no projeto

Principais STAKEHOLDERS PROJETO Cliente Gerente de Projeto Organização Patrocinador O Chefe O Time

Atividades do Gerente de Projetos Aloca recursos Define prioridades Coordena as interações com clientes e usuários Procura manter a equipe de projeto focada na meta do projeto Supervisiona, delega, motiva, gerencia o stress Resolve conflitos de stakeholders com diferentes expectativas e necessidades Gerencia riscos, escopo, tempo e custo Estabelece um conjunto de práticas para assegurar a qualidade dos artefatos do projeto Identifica requisitos ...

Qual é o objetivo do gerente de projetos? Desenvolver o produto/serviço esperado dentro do prazo, custo e nível de qualidade desejados

Fases Comuns do Ciclo de Vida de um Projeto Conceitual Planejamento Implementação Finalização Avaliar a idéia e analisar os riscos, custos, requisitos iniciais Organização das atividades, recursos, documentos necessários Desenvolver o produto/serviço até que ele esteja pronto Transferência e avaliação dos resultados, re-alocação dos recursos

Fases de um projeto (RUP) O ciclo de vida de um sistema consiste de quatro fases: As fases indicam a maturidade do sistema! tempo Concepção Elaboração Construção Transição marcos principais escopo arquitetura operação release

Project Management Institute www.pmi.org PMI | PMBOK | PMP Project Management Institute www.pmi.org

O que é o PMI? Uma associação, sem fins lucrativos, de profissionais de gerência de projetos. É um fórum de excelência na área de gerência de projetos promovendo seu crescimento, divulgação, educação e valor nas organizações e praticantes.

Chapters do PMI no Brasil Formados Bahia Minas Gerais Brasília Paraná Recife | www.pmipe.org.br Rio de Janeiro Rio Grande do Sul São Paulo Em formação Espírito Santo Fortaleza Joinville Manaus São Luís

PMBOK | Grupos de Processos Planejamento Finalização Execução Controle Inicialização Interação entre os processos

PMBOK | Áreas de Conhecimento Integração Escopo Tempo Comunicação Recursos Humanos Qualidade Custos Riscos Contratação

Certificação PMP® A partir de 1985 o PMI estabeleceu um programa de certificação que estabelecer um padrão de qualidade para os profissionais da área. O PMP® (Project Management Professional) é o certificado com maior reconhecimento mundial na área.

Critérios para Certificação PMP® Concordar com o código de ética Formação e ter experiência profissional Graduados: 4.500 horas de experiência em GP Não graduados: 7.500 horas de experiência em GP Prestar exame (200 questões) acertando mais de 70% (137 questões corretas) Entidade certificadora

Projetos de Melhoria do Processo de Software Alguns Casos

Projeto A Data de início do projeto: 15 JUN 1998 Lançado oficialmente em 2000 Profissionais envolvidos: 35 Classes: cerca de 4100 Pacotes: cerca de 300 Linhas de código: mais de 2 milhões Puro Java 3,5 anos de projeto (3 meses para definição inicial da metodologia)

Projeto B Preocupação com a gestão do processo de software Ambiente heterogêneo Metodologia geral: MBDS 3 projetos-piloto Capacitação de 90 desenvolvedores Capacitação de gerentes (e usuários) Elaborada “Cartilha da MBDS” para o usuário Situação atual: em uso na unidade de TI 9 meses de projeto Nova fase iniciada em 11 JUN 2001

Projeto C Treinamento intensivo em toda a metodologia com acompanhamento paralelo de dois pilotos (10 semanas) Capacitação homogênea da equipe Execução dos pilotos como parte do treinamento gerou grande aprendizado prático Definição da MCDS Aplicação da metodologia ao principal sistema da empresa 3 meses de projeto de definição (mais acompanhamento dos pilotos)

Alguns Casos de Sucesso :: Emprel Objetivo principal: Otimização e Performance dos sistemas de informação da Administração Municipal Grande receio quanto a implantação de processos e transição para orientação a objetos A metodologia adotada deveria contemplar o desenvolvimento para várias plataformas Diversas áreas envolvindas Suporte Administração de Banco de Dados Desenvolvimento

Alguns Casos de Sucesso :: Emprel Resultados Capacitação homogênea da equipe Execução dos pilotos como parte do treinamento gerou grande aprendizado prático, comprometimento e senso crítico Definição da metodologia EMPREL de desenvolvimento de software (MEDS) Implantação dos pilotos (com apoio através de mentoring) Aplicação da metodologia aos principais sistemas da empresa

Alguns Casos de Sucesso :: CSI Grande preocupação: Com o time to marketing Com a dificuldade de manutenção e escalabilidade do seu software Grande foco na definição de uma arquitetura escalável e uso de tecnologia OO

Alguns Casos de Sucesso :: CSI Resultados Produto lançado oficialmente no ABRAS 2000 35 profissionais envolvidos no projeto Mais de 4000 classes, 300 pacotes e 2 milhões de linha de código (puro java) O projeto recebeu o Prêmio Dorgival Brandão do PBQP-SW Em agosto de 2002, Petrópolis, RJ

Alguns Casos de Sucesso :: Bompreço Grande preocupação: Com a gestão do processo de software em um ambiente heterogêneo Definição da MBDS (não OO) Capacitação de 90 desenvolvedores, gerentes e usuários Aplicação a 3 projetos piloto Aplicação a 3 projetos piloto Migração para a MBDSOO Capacitação em técnicas e métodos de OO Aplicação a 3 projetos piloto

Alguns Casos de Sucesso :: Bompreço Resultados Capacitação de gerentes e usuários facilitou o entendimento do projeto e a comunicação MBDSOO foi traduzida para o inglês e encontra-se em avaliação pela Ahold Fluxo de modelagem de negócios adaptado às características específicas do cliente Projetos pilotos em andamento Foco em componentização e reuso

Qualiti Software Processes Produtos e Serviços

Processos e metodologias Baseada em fluxos de atividades e sistematização de atividades Análise e Projeto, Implementação, Testes, Reuso, ... Foco no todo ou em parte do processo Arquitetura de software bem definida Atenção às atividades de planejamento e gerenciamento Foco em práticas do PMBOK Configuradas para a cultura do cliente Baseadas no Processo Unificado Práticas de XP e metodologias ágeis Soluções tecnológicas adequadas ao cliente Padrões de projeto e de arquitetura Paradigma e linguagem de programação Suporte de ferramentas Aspectos consolidados a partir de vários grandes projetos

Processos e metodologias Modelo padrão para implantação Avaliação inicial requisitos do processo e dos produtos Definição da versão inicial da Metodologia Aplicação a um sistema-piloto Acompanhamento (mentoring) Revisão da versão inicial da Metodologia Implantação: plano de implantação; capacitação; implantação; acompanhamento Definição, aquisição e implantação de ferramentas Capacitação: treinamentos

Educação e treinamentos 21 cursos no portfólio 995 pessoas treinadas em 2001 1658 pessoas treinadas em 2002 30% a 40% do faturamento E mais: WSAD, curso análogo ao Fundamentos do RUP, Preparação para certificação PMP, etc.

Educação e treinamentos Escopo dos cursos PMBOK Metodologias Qualiti Qualidade de Software Planejamento e Gerenciamento de Projetos de Software Requisitos de Software Análise e Projeto OO Testes de Software Gerência de configuração Java Básico, Java Avançado Tecnologias Java: EJB, J2ME XML E mais: WSAD, curso análogo ao Fundamentos do RUP, Preparação para certificação PMP, etc.

Produtividade com o Coder Alto nível de automação na geração de código Produz código executável, não apenas esqueletos Aumento da produtividade também no processo de manutenção Capaz de gerar uma grande quantidade de código para diversas partes do sistema. Por exemplo, camadas de apresentação, camadas de acesso a dados e parte da regra de negócio. Diferentemente de ferramentas de modelagem como o RationalRose, o código gerado não é apenas esqueleto, é executável normalmente precisando de uma simples intervenção humana. Depende do nível de complexidade do que se está tentando gerar. Através da capacidade de refactoring o processo de manutenção tem ótimos ganhos de produtividade. Já no aspecto de qualidade.....

Qualidade com o Coder Qualidade Código gerado configurável Garante a manutenção dos padrões de qualidade na evolução dos sistemas Menos erros de implementação O código gerado pelo é configurado de acordo com o padrão ou arquitetura definido pelo desenvolvedor. Ou seja pode seguir os padrões de qualidade, arquitetura e codificação desejado. Como a geração é feita de acordo com o que foi definido, a medida que o gerador vai sendo aplicado para diferentes partes do sistema, a evolução do sistema vai se dando mantendo os padrões de qualidade que foi definido inicialmente. Como o código é gerado por uma ferramenta a implementação está menos suscetível a erros. Junto as esse pontos a ferramenta procura oferecer uma interface de fácil uso através de wizards.

Funcionamento do Coder Baseado em Wizards Unidades de geração de código independentes Guia o usuário na parametrização do código Podem ser produzidos rapidamente de acordo com a necessidade do cliente Integrados a IDE Integração com, por exemplo, WSAD e JBuilder Funciona como um componente da IDE, dando maior agilidade e produtividade ao programador 1 – Mostrar -> Baseado em Wizards As unidade de geração de código, wizard, são direcionada para a solução de um problema, ou poderíamos dizer, a automação no desenvolvimento de uma determinada parte do sistema. A composição de wizards é capaz de automatizar uma parte significativa do desenvolvimento de sistemas. Como dito anteriormente, o código é parametrizado pelo usuário para a geração de acordo com o que se deseja gerar. 2 – Mostrar -> Integrados a IDE Para acelerar ainda mais e facilitar a geração de código, o QualitiCoder funciona integrado a IDE´s como Jbuilder. Funciona como se fosse mais um componente da IDE.

Boas práticas e cuidados no P&G de projetos iterativos e incrementais As boas práticas e lições apresentadas aqui são baseadas nos artigos Secrets of Successful Project Management, de Karl Wiegers (http://www.sdmagazine.com/documents/s=821/sdm9911d/) e From Waterfall to Iterative Lifecycle: A tough transition for project managers, de Philippe Kruchten (http://www.rational.com/products/whitepapers/102016.jsp).

Boas práticas em P&G Defina os critérios de sucesso do projeto Eles devem ser claros para todos os stakeholders Cronograma não é tudo! Identifique as restrições e possibilidades de negociação Todo projeto envolve algum trade-off entre funcionalidade, equipe, cronograma e qualidade Saiba o que pode e o que não pode ser negociado! Defina critérios para release do produto Número de defeitos ainda a corrigir Medidas de desempenho Conjunto mínimo de funcionalidades, etc. Nem sempre cumprir com o cronograma estabelecido é o que determina o sucesso do projeto. Ganhar uma fatia de mercado, atingir um determinado patamar de vendas, obter satisfação do usuário (segundo alguma métrica pré-definida), “aposentar” algum sistema legado, etc. também podem ser fatores determinantes do sucesso de um projeto, inclusive a despeito de algum adiamento no cronograma.

Boas práticas em P&G Escreva um plano para planejar, não para documentar Não prometa o impossível! Negocie, negocie, negocie!… Não esqueça de considerar o tempo necessário para Retrabalho, melhorias no processo, treinamentos, imprevistos … Não assuma 8h de trabalho diárias É difícil obter mais de 80% de aproveitamento das horas de trabalho Após toda atividade de controle de qualidade (como os testes), vai existir algum retrabalho. Não esqueça de considerar o tempo necessário para isso ou seu cronograma será irreal.

Boas práticas em P&G Registre suas estimativas e como você as obteve Registre os resultados atuais e aprenda com eles! Respeite a curva de aprendizado Novos processos, metodologias, ferramentas ou tecnologias tem seu preço! Crie um clima de honestidade e abertura E use o status do projeto para tomar ações corretivas quando necessário e para celebrar quando possível!

Projetos iterativos e incrementais Você terá mais trabalho para planejar e acompanhar o projeto Planejamento geral Vários planos detalhados (um para cada iteração) Modificações na estrutura do time a cada iteração Revisões, alterações, constante replanejamento Resista a tentação de planejar tudo detalhadamente desde o início! Planeje a rota geral. Deixe os detalhes de cada trecho específico “da viagem” para o devido tempo.

Projetos iterativos e incrementais Vai existir retrabalho! Aceite isso Faça a equipe e os stakeholders entenderem e aceitarem também Isso não significa que as iterações devem ser superficiais ou que tudo vai ser refeito de uma iteração para a outra! Cuidado com gold-plating Gerencie mudanças com rigor Sempre defina objetivos Você pode iniciar o desenvolvimento sem ter todos os requisitos, mas isso não significa não ter objetivos claros para cada iteração, em comum acordo com as partes envolvidas Tente fechar o contrato no final da Elaboração Ou trabalhar com 2 contratos Sempre existe retrabalho. Mas em um processo iterativo e incremental, isso já está definido desde o princípio. Porém, isso não quer dizer liberdade para que o cliente imponha todo tipo de modificação, nem oportunidade para que os desenvolvedores fiquem interminavelmente melhorando o que já está razoavelmente bom. Lembre-se que no final da Elaboração, os requisitos devem estar estáveis e toda mudança tem seu custo, em termos de cronograma, orçamento ou troca de funcionalidades. Isso é particularmente crítico nas últimas iterações, quando todos os requisitos tendem a se tornar “essenciais”. O ideal seria trabalhar com 2 contratos – um para a Concepção e Elaboração e outro para o restante do desenvolvimento.

Projetos iterativos e incrementais Ataque os piores problemas primeiro Os riscos do projeto guiam o planejamento Não postergue problemas para iterações futuras! Não esqueça de reavaliar os riscos periodicamente Os riscos não são estáveis. Eles precisam ser reavaliados constantemente, provavelmente toda semana ou, no máximo, mês a mês. Lembre-se que é quando se começa a implementar que os problemas aparecem de fato.

Projetos iterativos e incrementais Os artefatos são feitos incrementalmente O acompanhamento de progresso é diferente! Use demonstrações do sistema, ou de partes dele, para ganhar credibilidade! A documentação pode vir depois

Projetos iterativos e incrementais A primeira iteração pode ser a mais difícil… Formação do time Treinamentos Montagem/adequação da infra-estrutura Evite colocar muitos objetivos para a primeira iteração Moral do time Credibilidade com os stakeholders Se a primeira iteração contém objetivos em demasia, divida-a em duas iterações e priorize os objetivos a serem alcançados na primeira. É melhor alcançar um conjunto de objetivos compacto e conservador no início, que tentar “abraçar o mundo com as pernas”. Mas, atenção! Isso não significa direcionar o trabalho para objetivos fáceis demais, mas apenas garantir que o primeiro deadline será cumprido!

Receita para o SUCESSO Ingredientes: Misturar com: Cozinhar: Minimização Comunicação Infra-estrutura padrão Misturar com: Um bom gerente de projeto Um processo interativo e iterativo Ferramentas de gerência de projetos Aderência às regras básicas Cozinhar: Por não mais do que 6 meses Com não mais do que 6 pessoas Gastando não mais do que $750 mil

Discussão...

Slide CAPA