59
Profª Rafaella Matos Planejamento e Gerência de Projetos [email protected] Engenharia de Software

Planejamento e Gerência de Projetos · Aumento do escopo: “por favor, permita também que o software faça venda parcelada ... O que leva a criação do projeto Descrição do

  • Upload
    vodang

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Profª Rafaella Matos

Planejamento e Gerência de

Projetos

[email protected] Engenharia de Software

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

Operações permanentes x Projetos

[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]

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

Principais forças

[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”

Etapas do planejamento – Métodos

clássicos

Planejamento

Engenharia de Software [email protected]

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

Engenharia de Software [email protected]

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

Engenharia de Software [email protected]

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