Upload
vodang
View
215
Download
0
Embed Size (px)
Citation preview
Exercício motivacional 1
Imaginem que estamos
no ano 2.500 a.C
Um faraó lhes disse:
- Quero que me
construam uma pirâmide!!
Como realizar o desejo
do faraó?
[email protected] Engenharia de Software
Exercício motivacional 2
Imaginem que
vamos fazer um
churrasco
Como vocês fariam
para concretizar
nosso churrasco?
[email protected] Engenharia de Software
Análise dos exercícios
O que teve em comum fazer pirâmide no
Egito Antigo e fazer um churrasco?
Ambos podem ser vistos como projetos
Projetos precisam ser gerenciados
“Um projeto é um esforço temporário,
realizado para criar um produto ou serviço
único.”
[email protected] Engenharia de Software
Quais desses são projetos?
Criar um logo para a camisa do curso
Produzir 50 camisas com esse logo
Passar na disciplina de engenharia de software
Estudar
Arrumar um(a) namorado(a)
Ficar com alguém
Idealizar um novo modelo de casa pré-moldada
Produzir milhares de casas pré-moldadas
Desenvolver um novo software
Dar manutençao neste software
[email protected] Engenharia de Software
Quais desses são projetos?
Criar um logo para a camisa do curso
Produzir 50 camisas com esse logo
Passar na disciplina de engenharia de software
Estudar
Arrumar um(a) namorado(a)
Ficar com alguém
Idealizar um novo modelo de casa pré-moldada
Produzir milhares de casas pré-moldadas
Desenvolver um novo software
Dar manutençao neste software
[email protected] Engenharia de Software
Mas os que não são projetos não
importam?
Importam! Os que não são projetos são operações
permanentes
Operações permanentes também precisam ser
gerenciadas
São repetitivas
Tem grau mais alto de previsibilidade
Exigem pouca criatividade
Em alguns casos, podem ser automatizadas
Resumindo: são “mais fáceis” de ser gerenciáveis [email protected] Engenharia de Software
Voltando ao exercício
Fazer pirâmide ou churrasco é um projeto ou
uma operação permanente?
Depende...
A primeira pirâmide a ser construída é com
certeza um projeto
Um churrasco feito por uma churrascaria é
sem dúvida uma operação permanente
A resposta está associada ao grau de inovação
da tarefa!
[email protected] Engenharia de Software
Projeto de software
Fazer software é igual fazer pirâmide ou
churrasco?
Não!
Software é intangível
Software não está sujeito a leis externas ou
normas aceitas universalmente
[email protected] Engenharia de Software
Software como produto intangível
Uma pirâmide, um churrasco ou uma
ponte são produtos concretos
Software é invisível
Em alguns casos podemos ver uma
possível interface do software, em
outros casos nem isso
Software é pouco repetitivo
Um prédio de 100 andares pode ter a
mesma planta em cada andar [email protected] Engenharia de Software
Software e as leis da natureza
Na construção civil, o espaço da solução é
restringido por
Leis da natureza
Gravidade
Normas (obrigatórias) internacionais
Na construção de software, o espaço de
opções se assemelha ao das artes
Não existem leis
Normas são adotadas por opção
[email protected] Engenharia de Software
O que torna um projeto complexo?
Número de sub-sistemas e elementos
relacionados no contexto do projeto
Número de empresas envolvidas na
execução do projeto
Número de áreas de conhecimento
relacionadas ao projeto
Número de fases necessárias na
execução do projeto
[email protected] Engenharia de Software
Quais fatores dificultam um projeto?
Especificações incompletas ou imprecisas
Domínio de conhecimento volátil
Troca ou heterogeneidade tecnológica
Mão de obra insuficiente ou incapacitada
Alta rotatividade da equipe
Verbas inexistentes ou intermitentes
Influências políticas contradizendo
decisões técnicas
[email protected] Engenharia de Software
Gerência de projetos
Engenharia de Software [email protected]
Atividade de um processo de desenvolvimento
responsável por fornecer os meios necessários
para que:
Os requisitos de usuários sejam atendidos
O orçamento seja cumprido
O prazo seja respeitado
O software produzido tenha a qualidade esperada
Gerência de projetos
Engenharia de Software [email protected]
Gerente
Principal responsável pela fluência de um projeto
Deve permitir que o desenvolvedor cumpra o seu
trabalho
Deve assumir o fracasso ou o sucesso do projeto
Objetivo
Fazer com que o projeto flua de acordo com as
metas citadas anteriormente
Gerência de projetos
Engenharia de Software [email protected]
Situação comum em desenvolvimento de softwares Adiamento ou atraso da entrega
Questões que representam os fundamentos da gerência de projetos Podemos contratar mais desenvolvedores para
evitar essa situação?
Devemos cortar alguns requisitos?
Instalaremos um software com menos funcionalidades?
...
Gerência de projetos
Visa:
Aplicar conhecimentos, habilidades,
ferramentas e técnicas nas atividades do
projeto de maneira a atingir os objetivos
estabelecidos
[email protected] Engenharia de Software
Planejamento
Planejar:
Atividade fundamental para prever problemas
e se preparar para lidar com eles
[email protected] Engenharia de Software
Planejamento
Planejar implica em:
Estabelecer regras que regerão toda e qualquer
comunicação entre as equipes
Estabelecer restrições ou padrões tecnológicos que
serão utilizados
Estabelecer técnicas e ferramentas que serão
adotadas ao longo do desenvolvimento
[email protected] Engenharia de Software
Questões básicas a serem tratadas
no planejamento
O que precisa ser feito (escopo)?
Quanto tempo vai levar para ser feito
(prazo)?
Quanto vai custar para fazermos (custo)?
Quais pessoas e equipamentos vão estar
disponíveis (recursos)?
É possível ou viável executar o trabalho
com um grau de qualidade aceitável
(qualidade)? [email protected] Engenharia de Software
Exercício
Imagine as seguintes alterações no planejamento e
diga o efeito colateral nos outros elementos do
plano (escopo, prazo, custo e qualidade)
Aumento do escopo: “por favor, permita também
que o software faça venda parcelada”
Diminuição do prazo: “preciso de software
funcionando 1 mês antes do combinado”
Diminuição dos recursos: “infelizmente somente
poderemos pagar 80% do valor acertado”
Aumento da qualidade: “O software deve
funcionar em Linux, Mac, além de Windows”
Planejamento
Seleção de projetos
Passo importante antes de qualquer
ação
Termos de abertura
Declaração de escopo
Planejamento em ciclos iterativos
De longo prazo
De curto prazo
[email protected] Engenharia de Software
Seleção de projetos
Uma empresa de desenvolvimento de
software desenvolve para outra empresa ou
grupo de usuários
Mais de uma possibilidade de projeto
Nem todos podem ser desenvolvidos
A empresa desenvolvedora deve pesar
alguns pontos
[email protected] Engenharia de Software
Seleção de projetos
Pontos a serem considerados pela gerência superior:
a)A empresa tem competência para desenvolver este tipo de produto?
b)A empresa está dando conta dos projetos atuais e tem folga para assumir um novo projeto?
c)O cliente é conhecido e confiável?
d)O produto dará bom retorno financeiro?
e)...
[email protected] Engenharia de Software
Seleção de projetos
Por outro lado:
Empresa cliente não tem recursos ilimitados
Projetos de desenvolvimento de sistemas
poderão competir entre si ou com outros
projetos que necessitem de investimento
O compromisso da empresa cliente
possivelmente será afetado por alguns
fatores
[email protected] Engenharia de Software
Seleção de projetos
Questões pontuadas por empresas antes do
comprometimento com o desenvolvimento de um
projeto:
a) Retorno financeiro em relação ao investimento
b) Grau de incremento da participação da empresa
no mercado
c) Melhoria da imagem da empresa
d) Aquisição de novas tecnologias
e) ...
[email protected] Engenharia de Software
Seleção de projetos
Em caso de desenvolvimento de software
para o mercado geral:
COTS (Commercial off the Shelf)
Questões consideradas pela empresa
cliente também deverão ser consideradas
pela empresa desenvolvedora
Investimento de recursos para gerar um
produto que poderá ou não ter sucesso
[email protected] Engenharia de Software
Termo de abertura
Primeiro processo a ser executado
Objetivo:
Autorizar formalmente o início do projeto e comprometer
recursos
Reconhecimento e confirmação oficial por escrito da
existência do projeto
Costuma ser utilizado para apresentar o projeto à
organização
[email protected] Engenharia de Software
Termo de abertura
Também conhecido por Project Charter
Oficialização do comprometimento entre as
duas empresas
Decisão da empresa desenvolvedora de
COTS que o projeto será inciado
[email protected] Engenharia de Software
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Todos os processos tem:
Entradas
Ferramentas e técnicas
Saídas
Entradas
Em geral são de natureza informativa ou saídas de
processos anteriores
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Declaração do Trabalho do projeto (DT)
Engenharia de Software [email protected]
É a descrição dos produtos ou serviços ou
resultados que serão produzidos pelo projeto.
Projeto interno à organização
Normalmente produzido pelo patrocinador ou
iniciador do projeto
Projeto externo à organização
Comprador é quem costuma regir a DT
Declaração do Trabalho do projeto (DT)
Engenharia de Software [email protected]
Deve considerar:
Necessidades do negócio
O que leva a criação do projeto
Descrição do escopo do produto
Descrição das características do produto ou serviço
Plano estratégico
Relacionar o projeto ao plano estratégico da organização
Exemplo
Engenharia de Software [email protected]
Arquivo
Declaração de trabalho
Declaração de trabalho (exemplo)
Ex: Reforma de uma casa
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Caso de negócio
Engenharia de Software [email protected]
Entendimento das necessidades do negócio do
projeto e determinação se o investimento vale a
pena
Geralmente descreve a análise custo-benefício
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Fatores ambientais da empresa
Engenharia de Software [email protected]
Fatores externos ao projeto que podem causar
influência significativa em seu sucesso
Servem de entrada também para outros
processos
Fatores ambientais da empresa
Engenharia de Software [email protected]
Podem ser considerados fatores ambientais:
Cultura, estrutura e processos organizacionais
Padrões governamentais ou setor
Infraestrutura
Recursos humanos
Administração pessoal
Sistema de autorização do trabalho
Condições do mercado
Tolerência a risco das partes interessadas (stakeholders)
Clima político
Canais de comunicação estabelecidos na organização
Bancos de dados comerciais
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Ativos de processos organizacionais
Engenharia de Software [email protected]
Consistem em:
Políticas
Instruções
Procedimentos
Padrões
Incluem elementos que podem afetar vários
aspectos do projeto
Políticas de gerenciamento
Segurança
Que conduzem o trabalho da empresa
Ativos de processos organizacionais
Engenharia de Software [email protected]
Dividem-se em duas categorias:
Processos e procedimentos
Base de conhecimento corporativo
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Opinião especializada
Engenharia de Software [email protected]
Consiste em recorrer a especialistas nas áreas
relacionadas às entradas do processo
Essas pessoas podem ser:
Stakeholders
Consultores
Especialistas no setor
Organizações técnicas
...
Processo: Desenvolver Termo de
Abertura
Engenharia de Software [email protected]
Entradas:
Declaração do trabalho do projeto
Caso de negócio
Contrato
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramenta e técnica:
Opinião especializada
Saída:
Termo de abertura do projeto
Termo de abertura
Deve-se incluir:
a) Objetivo e justificativa do projeto
b) Descrição em alto nível do projeto
c) Requisitos de alto nível que satisfazem os
principais interessados
d) Nomeação do gerente de projeto e definição
do nível de autoridade conferida
e) Cronograma de marcos (milestones) resumido
f) Definição de papéis e responsabilidades de
partes interessadas
Engenharia de Software
Termo de abertura
g) Organização funcional do projeto
h) Premissas ou hipóteses
i) Restrições
j) Estudo de viabilidade (business case)
indicando o retorno previsto, seja ele
financeiro ou não
k) Orçamento previsto em linhas gerais
[email protected] Engenharia de Software
Aprovação do termo de abertura
Engenharia de Software [email protected]
O termo de abertura só estará concluído quando
o mesmo receber aprovação do patrocinador do
projeto, da gerência e das principais partes
interessadas
Deste modo é importante identificar as partes
interessadas no projeto antes da publicação do
termo de abertura
Como identificar as partes
interessadas (stakeholders)?
Engenharia de Software [email protected]
Deve-se definir os principais papéis dos mesmos:
Gerente do projeto
Patrocinador do projeto
Gerentes funcionais
Processo identificar partes
interessadas
Engenharia de Software [email protected]
Entradas:
Termo de abertura
Documentação de aquisição
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramentas e técnicas
Análise das partes interessadas
Opinião especializada
Saídas
Registro das partes interessadas
Estratégia para gerenciamento das partes interessadas
Exercício
Engenharia de Software [email protected]
Com base no trabalho desenvolvido na primeira
avaliação:
Desenvolver um termo de abertura