O documento discute modelos de processos de produção de software, incluindo modelos pessoais e de equipe. Apresenta as características e atividades estruturadas dos modelos de processo pessoal e de equipe, com foco na criação de equipes autodirigidas capazes de planejar, monitorar e gerenciar seu próprio trabalho de forma independente.
4. Modelo de Processo Pessoal e de Equipe
• O melhor processo de software é aquele
próximo às pessoas que realizarão de fato o
trabalho.
• É um tipo de processo que atende as
necessidades individuais e, também, atende
às necessidades da equipe e da empresa.
• Proposto por Watts Humphrey.
6. Modelo de Processo de Software Pessoal
• É uma série de processos pessoais
• Esses processos são aprendidos através de uma
sequencia de pequenos projetos
• Os projetos incluem formulários, scripts e
relatórios
• Enfatiza a necessidade de se registrar e analisar op
erros cometidos para elaborar estratégias de
eliminação.
7. Modelo de Processo de Software Pessoal
• Para modificar um processo pessoal ineficaz,
um profissional deve passar por quatro fases,
cada uma exigindo treinamento e
orquestração cuidadosa.
• Ênfase na medição pessoal
• O profissional é o responsável pelo
planejamento
8. Modelo de Processo de Software Pessoal
• Cinco atividades estruturadas:
Fase Atividades Resultados
Planejamento
• Especificação dos
requisitos
• Estimativa de
tamanho
• Estratégia
• Estimativa de
recursos
• Estimativa de prazos
• Estimativa de Defeitos
• Documentos dos
requisitos
• Modelo
conceitual
• Planos de
recursos, prazos e
qualidade
• Registro de
tempos
9. Modelo de Processo de Software Pessoal
• Cinco atividades estruturadas:
Fase Atividades Resultados
Desenho de Alto
Nível
• Especificações externas
• Desenho dos módulos
• Prototipagem
• Estratégia de
desenvolvimento
• Documentação da
estratégia de
desenvolvimento
• Registro de
acompanhamento de
problema
• Especificações
funcionais
• Especificações de
estados
• Roteiros
operacionais
• Especificações de
reutilização
• Estratégia de
desenvolvimento
• Estratégia de testes
• Registro de tempos
10. Modelo de Processo de Software Pessoal
• Cinco atividades estruturadas:
Fase Atividades Resultados
Revisão do Desenho
de Alto Nível
• Verificação da cobertura do
desenho
• Verificação da máquina de
estados
• Verificação lógica
• Verificação da consistência
do desenho
• Verificação da reutilização
• Verificação da estratégia de
desenvolvimento
• Conserto de defeitos
• Desenho de alto nível
revisto
• Estratégia de
desenvolvimento
revista
• Estratégia de testes de
revista
• Registro de defeitos de
desenho de alto nível
• Registro de problemas
de desenho de alto
nível
• Registro de tempos
11. Modelo de Processo de Software Pessoal
• Cinco atividades estruturadas:
Fase Atividades Resultados
Desenvolvimento
• Desenho do módulo
• Revisão do desenho
• Codificação
• Revisão do código
• Compilação
• Teste
• Reavaliação e
reciclagem
• Desenho detalhado
dos módulos
• Código dos
módulos
• Registro de defeitos
dos módulos
• Registro de
problemas dos
módulos
• Relatórios dos
testes
• Registro de tempos
12. Modelo de Processo de Software Pessoal
• Cinco atividades estruturadas:
Fase Atividades Resultados
Post-Mortem
• Contagem de defeitos
injetados e removidos
• Contagem de tamanhos
e tempos
• Resumo do projeto
13. Modelo de Processo de Software Pessoal
• É uma abordagem disciplina e asseada em
métricas
• Não é amplamente adotado pelo setor
• É um processo intelectualmente desafiador
• Exige um nível de comprometimento que nem
sempre é possível alcançar
• Período de treinamento é longo
• Custos do treinamento são altos
• Nível de medição culturalmente difícil
15. Modelo de Software de Equipe
• Objetivo Geral:
• Criar uma equipe de projetos autodirigida, que
se organize por si mesma para produzir
software de alta qualidade
• A equipe deve se comprometer totalmente com
o processo e deve passar por treinamento
16. Modelo de Software de Equipe
• Objetivos Específicos:
• Criar equipes:
• Autodirigidas
• Que planejem seu próprio trabalho
• Que acompanhem o seu próprio
trabalho
17. Modelo de Software de Equipe
• Objetivos Específicos:
• Criar equipes:
• Que estabeleçam metas
• Que sejam proprietárias de seus
processos
• Que sejam proprietárias de seus planos
18. Modelo de Software de Equipe
• Objetivos Específicos:
• Mostrar aos gerentes:
• Como treinar suas equipes
• Como motivar suas equipes
• Como ajudar as equipes a manter o alto
desempenho
19. Modelo de Software de Equipe
• Objetivos Específicos:
• Acelerar o aperfeiçoamento dos processos de
software
• Fornecer orientação para melhorias das
organizações
• Facilitar o ensino universitário de habilidades
de trabalho em equipe de nível industrial
20. Modelo de Software de Equipe
• Características de uma equipe autodirigida:
• Ter bom entendimento de suas metas e
objetivos globais
• Define papéis e responsabilidades para
cada um dos membros
• Monitora dados quantitativos do projeto
21. Modelo de Software de Equipe
• Características de uma equipe autodirigida:
• Identifica um processo de equipe que seja
apropriado para o projeto
• Identifica uma estratégia para
implementação do processo
• Define padrões locais que sejam aplicáveis
ao trabalho
22. Modelo de Software de Equipe
• Características de uma equipe autodirigida:
• Avalia continuamente os riscos e reage a
eles
• Acompanha, gerencia e gera relatórios
sobre a situação do projeto
23. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Lançamento
• Descrição do curso:
✓ Visão geral
✓ Informação para os alunos
✓ Objetivos do produto
• Formação dos times:
✓ Integrantes
✓ Metas
✓ Reuniões
• Primeira reunião do time:
✓ Requisitos de dados
• Ativação dos projetos
24. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Estratégia
• Visão geral da estratégia de desenvolvimento
• Critérios da estratégia de desenvolvimento
• Seleção da estratégia de desenvolvimento
• Documentação da estratégia de
desenvolvimento
• Estimativas de tamanho
• Definição do processo de controle de
mudanças
25. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Planejamento
• Visão geral do plano de desenvolvimento
• Produção do plano de tarefas
• Produção do cronograma
• Produção dos planos pessoais dos
engenheiros
• Balanceamento de carga dos engenheiros
• Produção do plano de qualidade
26. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Requisitos
• Revisão do processo de requisitos
• Revisão das demandas dos usuários
• Esclarecimento das demandas dos usuários
• Distribuição das tarefas de requisitos
• Documentação dos requisitos
• Revisão dos requisitos
• Colocação dos requisitos na linha de base
• Revisão dos requisitos pelos usuários
27. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Desenho
• Revisão do processo de desenho
• Desenho de alto nível
• Distribuição das tarefas de desenho
• Documentação do desenho
• Revisão do desenho
• Atualização do desenho, com colocação na
linha de base
28. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Implementação
• Revisão do processo de implementação
• Distribuição das tarefas de implementação
• Desenho detalhado
• Inspeção do desenho detalhado
• Código
• Inspeção do código
• Teste de unidade
• Revisão da qualidade dos componentes
• Liberação dos componentes
29. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Testes
• Revisão do processo de testes
• Planejamento e desenvolvimento dos
testes
• Construção
• Integração
• Testes de sistema
• Documentação dos testes
30. Modelo de Software de Equipe
Atividades metodológicas do Processo de
Software de Equipe
Fase Atividades
Post-Mortem
• Revisão do processo de post-mortem
• Revisão dos dados de processo
• Avaliação do desempenho dos papéis
• Preparação do relatório do ciclo
• Revisão dos pares
32. Tecnologias de Processos
• São Ferramentas de tecnologias de processos
• Auxiliam as organizações de software a:
• Analisar seus processos atuais
• Organizar tarefas de trabalho
• Controlar
• Monitorar o progresso
• Administrar a qualidade técnica
33. Tecnologias de Processos
• Construção de um modelo AUTOMATIZADO
do modelo de processo adotado pela empresa
• Pode ser usada para coordenar o uso de
outras ferramentas de engenharia de
software
34. Tecnologias de Processos
• Processo e produto em alguns momentos são
tratados como uma:
• DICOTOMIA: um conceito dividido em dois
elementos
• DUALIDADE: coexistência de dois princípios
• Pessoas obtém satisfação tanto do processo
criativo quanto do produto final
36. REFERÊNCIAS
1. TSUI, Frank; KARAM, Orlando. Fundamentos
da Engenharia de Software. Tradução e
Revisão Técnica de Edson Tanaka. 2.ª Edição.
Rio de Janeiro: LTC, 2013.
2. WAZLAWICK, Raul Sidnei. Engenharia de
Software: Conceitos e Práticas. 1.ª edição.
Rio de Janeiro: Elsevier, 2013.
37. REFERÊNCIAS
3. PRESSMAN, R. S.; MAXIM, B. R. Engenharia de
Software: Uma Abordagem Profissional. Tradução:
João Eduardo Nóbrega Tortello. Revisão Técnica:
Reginaldo Arakaki, Julio Arakaki, Renato Manzan de
Andrade. 8.ª Edição. Porto Alegre: AMGH, 2016.
4.FILHO, W. P. P. Engenharia de Software:
Fundamentos, Métodos e Padrões. 3.ª Edição.Rio
de Janeiro: LTC, 2015