6 Dezembro 2004
Gestão de Projectos
CIUP – 6 Dezembro 2004
26 Dezembro 2004
Agenda
Enabler (breve apresentação)
Gestão de Projectos
Princípios de desenvolvimento
36 Dezembro 2004
Enabler’s value proposition
Strong retail knowledgeEuropean focus (for now)End to End Retail solutionsLong-term customer relationshipsResults-oriented attitudeCost effective Operational modelDelivery and Quality
46 Dezembro 2004
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.
56 Dezembro 2004
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.
66 Dezembro 2004
Agenda
Enabler (breve apresentação)
Gestão de Projectos
Princípios de desenvolvimento
76 Dezembro 2004
PROJECTO
ESTRUTURARO
PROJECTO
INICIAR O PROJECTO
PLANEAR O
PROJECTOEM
DETALHE
CONTROLARO
PROJECTO CONCLUIRO
PROJECTO
AVALIAR MODIFICAÇÕES
COMUNICAR O ESTADO DO PROJECTO
VENDA
Gestão de Projectos
86 Dezembro 2004
PROJECTO
ESTRUTURARO
PROJECTO
• Output do Processo de Venda para o Processo de Gestão de Projectos
Outputs :* 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
Gestão de Projectos – a fase anterior (Venda)
96 Dezembro 2004
Gestão de:Gestão de:
o Cliente,o Cliente,o Contrato,o Contrato,
o Projecto, o Projecto, a Mudança,a Mudança, a Qualidade ….a Qualidade ….
IniciarIniciaroo
ProjectoProjecto
IniciarIniciaroo
ProjectoProjecto Execução ProjectoExecução ProjectoAnálise e Análise e DesenhoDesenho
Execução ProjectoExecução ProjectoAnálise e Análise e DesenhoDesenho
Execução ProjectoExecução ProjectoDesenvolvimentoDesenvolvimento
e Testes dae Testes daSoluçãoSolução
Execução ProjectoExecução ProjectoDesenvolvimentoDesenvolvimento
e Testes dae Testes daSoluçãoSolução
ImplementaçãoImplementação
FormaçãoFormaçãoArranqueArranque
ConclusãoConclusão
ImplementaçãoImplementação
FormaçãoFormaçãoArranqueArranque
ConclusãoConclusão
FASES DO PROJECTO
Metodologia de Testes
Metodologia de Integração de
Soluções
Metodologia de Integração de Soluções
Metodologia de Consultoria
Gestão de Projectos – O Projecto
Processo de CPP
106 Dezembro 2004
PROJECTO
• Inputs:•Documento de Definição do Projecto •Proposta aprovada
INICIAR O PROJECTO
PLANEAR O
PROJECTOEM
DETALHE
• 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
PQ-GD01 Início do Projecto
Gestão de Projectos
116 Dezembro 2004
CONTROLARO
PROJECTO
Gestão de Projectos
• 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 RiscoPQ-GD05 Preparação de CPP; PQ-GD06 Gestão Implementação
126 Dezembro 2004
Gestão de Projectos
AVALIAR MODIFICAÇÕES
PROJECTO
• 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
PQ-GD02 Gestão de Âmbito
136 Dezembro 2004
PROJECTO
Gestão de Projectos
COMUNICAR O
ESTADO DO
PROJECTO
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
PQ-GD04 Controlo do Projecto
146 Dezembro 2004
PROJECTO
Gestão de Projectos
CONCLUIRO
PROJECTO
PROJECTOPROJECTO
• Inputs:• 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
PQ-GD07 Fecho do Projecto
156 Dezembro 2004
R&D
Hacking
Pragmatic Programming
Agile Modelling
eXtreme Programming
Scrum
Feature Driven
Development
Crystal Family Methodologies
Rational Unified Process
Open Source Software
development
Dynamic System
Development Method
Adaptive Software
Development
Enabler Agile
Software Yields
Formal Methods
166 Dezembro 2004
R&D - EASY
Analysis & Planning Phase Development Phase Beta Testing Phase Release Phase
Inputs
JADsProduct backlog
list
Component List
Analysis
Scheduling
Planning
High Level Design
Architecture
Standards
Conventions
Technology
Resources
Architecture
Sprint Features
List
Sprint
Analysis
Design
EvolutionAlfa
Testing
Delivery
New Product or Increment
JADs
System Testing
Current Product Release
Integration
Final Release
Documentation
User Manuals
User & support training
Product Marketing
“Not Approved” Loop
Daily Meeting
Sprint Review Meeting
176 Dezembro 2004
Agenda
Enabler (breve apresentação)
Gestão de Projectos
Princípios de desenvolvimento
186 Dezembro 2004
Princípios de Desenvolvimento
Princípios
1º - Programação defensiva 2º - Respeito pela arquitectura de SI3º - Não utilização de ‘Hardcode’4º - Boa legibilidade do código5º - Cuidados na experimentação6º - Orientação à implementação prática7º - Utilização de ferramentas aprovadas8º - Orientação à Portabilidade
196 Dezembro 2004
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:
DesenvolvimentoGestão de ProjectosTestes Passagem a Produção
Os princípios de desenvolvimento destinam-se a:Técnicos de desenvolvimento de software Gestores de ProjectoAuditores
206 Dezembro 2004
Princípios de Desenvolvimento
Quais os objectivos a atingir com estes princípios?
Maior Tolerância a Falhas do software desenvolvidoMaior Robustez do software desenvolvidoMaior Performance Global do software desenvolvidoMaior Facilidade de Utilização do software desenvolvidoRedução do Ciclo de DesenvolvimentoFácil e Rápida Evolução e Manutenção do software desenvolvidoFácil e Rápida Portabilidade do software desenvolvidoFácil e Rápida Reutilização do software desenvolvido
216 Dezembro 2004
Princípios de Desenvolvimento
Resumo dos princípios abordados
Princípio Objectivos Como se consegue...
Programação defensiva
Maior tolerância a falhasMaior robustez
Tratamento de todas as excepçõesInclusão de testes prévios aos recursos disponíveis (rede, disco, sessão, tabelas, etc.)Inicialização obrigatória das variáveisVerificação dos domínios (sinal, datas, nulos, somas)Documentação detalhada das excepções, em ficheiros de ‘log’
Respeito pela arquitectura
Cumprimento dos standardsMaior performance globalMenor peso nas redes de dadosGarantia de integridade dos dadosNão utilização de funcionalidades descontinuadas ou a descontinuar
Eliminação da manutenção da mesma informação nos diferentes softwares da arquitecturaNão efectuar explorações analíticas em bases de dados transaccionaisPontos únicos para os repositórios de informação críticaRevisão do código em função das actualizações das ferramentas
Não utilização de Hardcode
Maior portabilidade do softwareMaior segurança na informaçãoEvolução/Manutenção mais fácil e rápida
Não fixar valores no códigoNão referenciar ‘paths’ absolutosNão incluir ‘User IDs’ ou ‘Passwords’ no código
226 Dezembro 2004
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ódigoFácil manutenção do código
Programação estruturadaIndentação do códigoDocumentação do códigoNormalização da nomenclaturaModularidade do código
Cuidados com a experimentação
Robustez do softwareMenor risco no desenvolvimentoMaior facilidade na análise de problemas
Utilização apenas de ‘features’ suportadas e documentadas para uma determinada plataformaUtilização das versões e plataformas certificadas
Orientação à implementação prática
Assegurar boa performance em produção no clientePermitir escalabilidade das soluçõesAssegurar 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 usabilidadeUtilizaçã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
236 Dezembro 2004
Princípios de Desenvolvimento
Resumo dos princípios abordados (cont.)
Princípio Objectivos Como se consegue...
Utilização de ferramentasaprovadas
Menor tempo de desenvolvimentoFácil integração de novos técnicosReutilização funcionalidades de utilização frequenteNormalização do conjunto de ferramentas a utilizar
Escolha das ferramentas a utilizar nos projectos, logo no seu inícioDefinição do conjunto de ferramentas e respectivos objectivos e âmbitoFormação dos técnicos nas ferramentas
Orientação à Portabilidade
Reutilização de código entre projectos e tecnologiasIndependência de outros sistemasFácil internacionalização de aplicaçõesMigração de plataforma e ferramentas
Ter em atenção as fontes utilizadas e as várias resoluções dos ecrãsUtilização de regras de programação estruturada e modularImplementação de classes independentes da sua invocaçãoUtilização, sempre que possível, apenas das funções standard das ferramentasSeparação do código de apresentação, do código de regras de negócioUtilizaçã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.)
246 Dezembro 2004
Princípios de Desenvolvimento
Relação dos objectivos com os princípios
Maior Facilidade de Utilização
Maior Tolerância a Falhas
Maior Robustez
Fácil e Rápida Evolução e Manutenção
Fácil e Rápida Portabilidade
Fácil e Rápida Reutilização
Maior Performance Global
Redução do Ciclo de Desenvolvimento
Pro
gra
ma
çã
o D
efe
ns
iva
Re
sp
eit
o p
ela
Arq
uit
ec
tura
Nã
o U
tili
zaç
ão
de
‘H
ard
co
de
’
Bo
a l
eg
ibil
ida
de
do
Có
dig
o
Cu
ida
do
s c
om
a E
xp
er.
Imp
lem
en
taç
ão
Prá
tic
a
Fe
rra
me
nta
s a
pro
va
da
s
Ori
en
taç
ão
à P
ort
ab
ilid
ad
e
Maior Impacto Positivo
Impacto Positivo
Maior Impacto Negativo
Impacto Negativo
256 Dezembro 2004
Conclusão
AtitudeResponsabilidadeCompetênciaAuto motivaçãoAprendizagemAdaptaçãoAgilidadeEquilíbrioGostar do que faz.