Aplicando conceitos gerais de
Gerenciamento de Projetos à
Engenharia de Software
Natanael Simões
natanaelsimoes
natanael.simoes@ifro.edu.br
Professor de Informática no Instituto Federal de Rondônia – Campus
Ariquemes
Bel. Sistemas de Informação – IESUR 2012
Esp. Planejamento Educacional e Docência no Ensino Superior – IESUR
2013
Projeto
“conjunto de atividades temporárias, realizadas em grupo,
destinadas a produzir um produto, serviço ou resultado únicos”
Project Management Institute, 2013
O que/por que projetamos
Desenhar uma planta baixa Para construir uma casa
O que/por que projetamos
Criar um plano orçamentário Para sair de férias com a família
O que/por que projetamos
Cursar uma universidade Para ter uma carreira de sucesso
Gerenciamento de Projetos
• Administração é o principal interessado
• Demanda aplicação de conhecimentos, habilidades e
técnicas na elaboração de atividades
• Define prazos, custos e qualidade
• Mobiliza recursos técnicos e humanos
Como gerenciar um projeto
1. Adote uma metodologia
2. Comunique-se
3. Defina o escopo
4. Monte o time
5. Desenvolva o cronograma
6. Monitore os riscos
7. Formalize o início e fim do projeto BARBI, 2013
Engenharia de Software
• Sistemas de Informação e Análise de Sistemas são os
principais interessados
• Gerencia o ciclo de vida dos softwares
Application Lifecycle Management – ALM
• Aplica os conceitos de Gerência de Projetos aos
sistemas de informação
• Uso constante de modelos abstratos
Engenharia de Software
“Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a
fim de obter software de maneira econômica, que seja confiável e que trabalhe em
máquinas reais”
BAUER, 1960
Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
Metodologia de
Desenvolvimento
Processo
MétodosFerramentas
Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
─ Processo
• Cascata
• Iterativo incremental
• Evolucional
• Espiral
• Ágil
Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
─Métodos
• Análise Estruturada
• DFD – Diagrama de fluxo de dados
• MER – Modelo Entidade-Relacionamento
• Orientação a objetos
• Scrum
• XP
• FDD – Feature Driven Development
• TDD – Test Driven Develpment
• UML
Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
─ Ferramentas
• CASE – Computer-aided software engineering
• IDE
• Editor
• Compilador
• Debug
• Testes
• Refactoring
Como gerenciar um projeto de software
2. Comunique-se com a equipe de desenvolvimento
Sei não Frank,
essas “mina”
parecem problema
“não é só o peixe que
morre pela boca!”
BARBI, 2013
Como gerenciar um projeto de software
3. Defina o escopo do sistema
• O que o sistema vai fazer e o que não vai
• "O ótimo é inimigo do bom"
CORTA
PRA 18!
23
R$ 1.450.000,00
usado
R$ 55.590,00
Zero bala
Como gerenciar um projeto de software
4. Monte o time de desenvolvimento
• Conheça os stakeholders
(qualquer um pode ser um membro)
• Enquanto se define o escopo as habilidades
necessárias para ser membro serão mais claras
• Monte equipes com competências diversificadas
Como gerenciar um projeto de software
5. Desenvolva o cronograma com sua equipe de
desenvolvimento
• Defina as atividades a serem desenvolvidas
• Defina quem executará a atividade e o tempo
• Verifique a progressão das atividades
Como gerenciar um projeto de software
MICROSOFT PROJECT 2013
Como gerenciar um projeto de software
6. Monitore os riscos que podem atrasar o desenvolvimento
• Recursos
Orçamento, ferramentas, pessoas...
• Funcionalidades
Alteração de requisitos...
• Cronograma
Tempo estipulado foi pouco...
Como gerenciar um projeto de software
7. Formalize o início e fim do projeto do sistema
─ Por que formalizar o início?
• Expressa autoridade para envolver pessoas e recursos
─ Por que formalizar o fim?
• Momento de avaliar erros e acertos (Know-how)
• Clientes acham que podem mudar o tempo todo
• Novas necessidades? Novo projeto!
“Quero colocar minha foto no perfil”
Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
2. Comunique-se com a equipe de desenvolvimento
3. Defina o escopo do sistema
4. Monte o time de desenvolvimento
5. Desenvolva o cronograma com sua equipe de desenv.
6. Monitore os riscos que podem atrasar o desenv.
7. Formalize o início e fim do projeto do sistema
Obrigado!
Perguntas?
Natanael Simões
natanaelsimoes
natanael.simoes@ifro.edu.br

Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software

  • 1.
    Aplicando conceitos geraisde Gerenciamento de Projetos à Engenharia de Software
  • 2.
    Natanael Simões natanaelsimoes natanael.simoes@ifro.edu.br Professor deInformática no Instituto Federal de Rondônia – Campus Ariquemes Bel. Sistemas de Informação – IESUR 2012 Esp. Planejamento Educacional e Docência no Ensino Superior – IESUR 2013
  • 3.
    Projeto “conjunto de atividadestemporárias, realizadas em grupo, destinadas a produzir um produto, serviço ou resultado únicos” Project Management Institute, 2013
  • 4.
    O que/por queprojetamos Desenhar uma planta baixa Para construir uma casa
  • 5.
    O que/por queprojetamos Criar um plano orçamentário Para sair de férias com a família
  • 6.
    O que/por queprojetamos Cursar uma universidade Para ter uma carreira de sucesso
  • 7.
    Gerenciamento de Projetos •Administração é o principal interessado • Demanda aplicação de conhecimentos, habilidades e técnicas na elaboração de atividades • Define prazos, custos e qualidade • Mobiliza recursos técnicos e humanos
  • 8.
    Como gerenciar umprojeto 1. Adote uma metodologia 2. Comunique-se 3. Defina o escopo 4. Monte o time 5. Desenvolva o cronograma 6. Monitore os riscos 7. Formalize o início e fim do projeto BARBI, 2013
  • 9.
    Engenharia de Software •Sistemas de Informação e Análise de Sistemas são os principais interessados • Gerencia o ciclo de vida dos softwares Application Lifecycle Management – ALM • Aplica os conceitos de Gerência de Projetos aos sistemas de informação • Uso constante de modelos abstratos
  • 10.
    Engenharia de Software “Engenhariade Software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe em máquinas reais” BAUER, 1960
  • 11.
    Como gerenciar umprojeto de software 1. Adote uma metodologia de desenvolvimento Metodologia de Desenvolvimento Processo MétodosFerramentas
  • 12.
    Como gerenciar umprojeto de software 1. Adote uma metodologia de desenvolvimento ─ Processo • Cascata • Iterativo incremental • Evolucional • Espiral • Ágil
  • 13.
    Como gerenciar umprojeto de software 1. Adote uma metodologia de desenvolvimento ─Métodos • Análise Estruturada • DFD – Diagrama de fluxo de dados • MER – Modelo Entidade-Relacionamento • Orientação a objetos • Scrum • XP • FDD – Feature Driven Development • TDD – Test Driven Develpment • UML
  • 14.
    Como gerenciar umprojeto de software 1. Adote uma metodologia de desenvolvimento ─ Ferramentas • CASE – Computer-aided software engineering • IDE • Editor • Compilador • Debug • Testes • Refactoring
  • 15.
    Como gerenciar umprojeto de software 2. Comunique-se com a equipe de desenvolvimento Sei não Frank, essas “mina” parecem problema “não é só o peixe que morre pela boca!” BARBI, 2013
  • 19.
    Como gerenciar umprojeto de software 3. Defina o escopo do sistema • O que o sistema vai fazer e o que não vai • "O ótimo é inimigo do bom"
  • 22.
  • 23.
  • 24.
  • 25.
  • 28.
    Como gerenciar umprojeto de software 4. Monte o time de desenvolvimento • Conheça os stakeholders (qualquer um pode ser um membro) • Enquanto se define o escopo as habilidades necessárias para ser membro serão mais claras • Monte equipes com competências diversificadas
  • 29.
    Como gerenciar umprojeto de software 5. Desenvolva o cronograma com sua equipe de desenvolvimento • Defina as atividades a serem desenvolvidas • Defina quem executará a atividade e o tempo • Verifique a progressão das atividades
  • 30.
    Como gerenciar umprojeto de software MICROSOFT PROJECT 2013
  • 31.
    Como gerenciar umprojeto de software 6. Monitore os riscos que podem atrasar o desenvolvimento • Recursos Orçamento, ferramentas, pessoas... • Funcionalidades Alteração de requisitos... • Cronograma Tempo estipulado foi pouco...
  • 32.
    Como gerenciar umprojeto de software 7. Formalize o início e fim do projeto do sistema ─ Por que formalizar o início? • Expressa autoridade para envolver pessoas e recursos ─ Por que formalizar o fim? • Momento de avaliar erros e acertos (Know-how) • Clientes acham que podem mudar o tempo todo • Novas necessidades? Novo projeto! “Quero colocar minha foto no perfil”
  • 35.
    Como gerenciar umprojeto de software 1. Adote uma metodologia de desenvolvimento 2. Comunique-se com a equipe de desenvolvimento 3. Defina o escopo do sistema 4. Monte o time de desenvolvimento 5. Desenvolva o cronograma com sua equipe de desenv. 6. Monitore os riscos que podem atrasar o desenv. 7. Formalize o início e fim do projeto do sistema
  • 36.

Notas do Editor

  • #21 Taylor Lautner
  • #26 Com o valor do gallardo da pra comprar exatamente 26 new fiesta