Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceitos Bsicos
Modelos de Processo
Agenda
Definio de Processos
Objetivos
Componentes
Conceitos Bsicos
Exemplos
Modelos de Processo
Processo
O que ?
Um conjunto de atividades que recebem insumos, transformando-os, de acordo com
uma lgica pr-estabelecida e com agregao de valores, em produtos / servios para
responderem s necessidades dos clientes / usurios.
Atividades
Insumos
Lgica
de
Transformao
Produtos
Servios
Resultados
Modelos de Processo
Processo de Desenvolvimento
No confundir com processo de negcio!
Processo de Negcio:
Um grupo de atividades relacionadas de forma lgica que usa os recursos da
organizao para fornecer resultados definidos em apoio aos objetivos da
organizao. Foco nos objetivos estratgicos da organizao.
Processo de Desenvolvimento:
Um conjunto de passos ordenados e executados com o objetivo de alcanar uma
meta. No caso de desenvolvimento de software, a meta consiste em criar um software
ou desenvolver um j existente.
Pode ser visto como um processo de negcio aplicado a objetivos especficos.
Modelos de Processo
Processo de Desenvolvimento
Do que composto?
Um processo de desenvolvimento de software possui 4 etapas bsicas:
Especificao
definio das funcionalidades do software e premissas para sua execuo
Projeto
construo do software de acordo com a especificao
Validao
validao do software para verificar se ele atende as necessidades dos
usurios
Evoluo
evoluo do software de modo a atender as modificaes das necessidades
dos usurios
Modelos de Processo
Objetivos
Processos de software visam assegurar o desenvolvimento de software:
com prazos e necessidade de recursos definidos
com elevada produtividade (de forma econmica)
com qualidade assegurada
Processos permitem
organizar
instrumentar
planejar
acompanhar projetos
treinar equipes
Modelos de Processo
Processo de Desenvolvimento
Sem o uso de processos....
Procedimentos existentes na organizao no so documentados e usados de forma
consistente na prtica
Erros so cometidos repetidamente
Dificuldade de prever cronogramas e oramentos
Alto ndice de defeitos, retrabalho e desperdcio
Dificuldade de implementar boas prticas e lies aprendidas
Dificuldade de realizar aes para preveno de defeitos
Modelos de Processo
C
u
s
t
o
Qualidade
Processo
ruim
mediano
bom
Modelos de Processo
Componentes de Processos
Procedimentos e mtodos
definindo os relacionamentos
entre as tarefas e atividades
Artefatos
gerados
Insumos
PROCESSO
Ferramentas
e equipamentos
Modelos de Processo
Conceitos Bsicos
Artefato
um resultado de uma atividade, exemplos
documento revisto e aceito
mdulo implementado, testado e aceito
construto integrado, testado e aceito
framework documentado, implementado, testado e aceito
quando entregue ao usurio (cliente) o artefato um produto
Insumo
elemento necessrio para a realizao de uma tarefa ou atividade
pode ser um elemento de sada de outras atividades ou tarefas
Modelos de Processo
Conceitos Bsicos
Tarefa
uma ao desempenhada por alguma pessoa visando a realizao ou
monitoramento do projeto
no representa uma evidncia de progresso no desenvolvimento
ter trabalhado 20 horas no implica ter produzido um artefato de qualidade,
mesmo que se tenha estimado serem necessrias 20 horas para o seu
desenvolvimento
consome recursos - consumo real
esforo (tempo de pessoa)
equipamento
financeiro
Modelos de Processo
Conceitos Bsicos
Atividade
conjunto de tarefas que levam a um ou mais artefatos de qualidade controlada
representa uma evidncia de progresso no desenvolvimento
os artefatos resultantes existem e podem ser usados
permite o controle da qualidade do resultado
num extremo pode ser a mera constatao que o resultado existe
no outro extremo pode envolver tcnicas muito avanadas de controle da
qualidade
o esforo medido atravs das tarefas constituintes
Atividades so mini-projetos
possuem incio e fim definidos
consomem um volume finito de recursos
produzem artefatos definidos
possuem critrios de concluso estabelecidos
Modelos de Processo
Conceitos Bsicos
Ferramentas e equipamentos
auxiliam a execuo das atividades e tarefas dos processos
podem automatizar partes da execuo das atividades e tarefas
agilizam a execuo dos processos
Papel
descreve como as pessoas se comportam no processo e quais so as
responsabilidades que elas tm
requer habilidades especficas necessrias
papis no so pessoas
pessoas executam papis
Modelos de Processo
Tarefas
Analista de Testes
Identificar objetivos
do teste
Identificar idias
do teste
Definir detalhes
do teste
Definir necessidades
de avaliao e
rastreabilidade
Determinar resultados
do teste
Verificar mudanas
no build
Modelos de Processo
Exemplo de Atividade
Atividade: Realizar estimativas para o projeto
Descrio
A partir do escopo preliminar do projeto, detalhar as atividades necessrias a sua realizao, as
estimativas de consumo de recursos, os prazos e oramentos.
Papel:
Gerente de Projeto
Artefatos de Entrada:
Escopo do projeto; Plano do projeto; Acordo de servio; Estrutura analtica do projeto (EAP)
Artefatos de Sada:
Estimativas de custo da atividades; Estimativa de esforo das atividades, Cronograma e Plano do
projeto atualizados
Tarefas:
Detalhar atividades e recursos; Detalhar cronograma; Detalhar estimativa de custo das atividades;
Detalhar oramento do projeto
Processos de Software:
Conceitos Bsicos
Modelos de Processo
Agenda
Objetivos da Modelagem de Processos
Exemplo
Modelos de Processo
Objetivos
Processos de software podem ser melhorados atravs da padronizao dos
processos utilizados dentro de uma organizao.
A modelagem de processos torna-se essencial para a definio de processos
eficientes, capazes de serem replicados.
Modelagem de processos inclui responder as seguintes perguntas:
O qu?
Como?
Quem?
Quando?
Por qu?
Modelos de Processo
Exemplo
Modelos de Processo
Agenda
Introduo
Modelo Cascata
Desenvolvimento Incremental
Desenvolvimento Evolucionrio
Modelo Espiral
Modelos de Processo
Introduo
O que ciclo de vida?
Conjuntos de fases que devem ser executadas para o desenvolvimento de um produto
de software. O ciclo de vida determina a ordem e interao entre as fases e atividades.
Alguns exemplos
Cascata
Evolucionrio
Espiral
Modelos de Processo
Modelo Cascata
Modelos de Processo
Modelo Cascata
Fases
Definio e anlise de requisitos
Projeto do sistema e do software
Implementao e testes de unidade
Integrao e testes do sistema
Operao e manuteno
Desvantagens
Dificuldade de acomodar as mudanas aps o processo ter sido iniciado
Particionamento inflexvel do projeto em fases distintas
Dificuldade de responder a requisitos do usurio que mudam
Portanto, esse modelo mais apropriado quando os requisitos so bem
compreendidos
Modelos de Processo
Desenvolvimento Incremental
Tambm chamado desenvolvimento iterativo.
Ao invs de entregar o sistema como uma nica entrega, particiona-se o
desenvolvimento e a entrega em incrementos, com cada incremento contendo
parte da funcionalidade requerida
Os requisitos do usurio so priorizados e os requisitos de prioridade mais alta
so includos nos incrementos iniciais
Uma vez que o desenvolvimento de um incremento iniciado, os requisitos so
congelados, ainda que os requisitos para incrementos posteriores continuem a
evoluir
Modelos de Processo
Desenvolvimento Incremental
Modelos de Processo
Desenvolvimento Incremental
Vantagens
Cada incremento pode agregar valor para o cliente, portanto a funcionalidade do
sistema est disponvel mais cedo
Incrementos iniciais atuam como um prottipo para ajudar a descobrir requisitos para
os incrementos posteriores
Menor risco de falha do projeto como um todo
Os servios de mais alta prioridade do sistema tendem a receber a maior parte dos
testes
Modelos de Processo
Desenvolvimento Evolucionrio
Base:
Desenvolver uma implementao inicial
Expor resultado ao comentrio do usurio
Aprimoramento por meio de muitas verses
Modelos de Processo
Desenvolvimento Evolucionrio
Modelos de Processo
Desenvolvimento Evolucionrio
Desvantagens
Falta de visibilidade do processo
Os sistemas frequentemente possuem pouca estrutura
Podem ser exigidas habilidades especiais (por exemplo, em linguagens para
desenvolvimento rpido)
Aplicabilidade
Para sistemas interativos pequenos ou de mdio porte
Para partes de sistemas grandes (por exemplo, a interface com o usurio)
Para sistemas de vida curta
Modelos de Processo
Modelo Espiral
O processo representado como uma espiral, em vez de uma seqncia de
atividades com caminhos de retorno
Cada volta na espiral representa uma fase no processo
No h fases fixas, tais como especificao ou projeto
As voltas na espiral so escolhidas dependendo do que for exigido
Vantagens
os riscos so explicitamente avaliados e resolvidos durante todo o processo
mantm o enfoque sistemtico do ciclo clssico
Desvantagem
requer boa capacidade para Anlise de Riscos
Modelos de Processo
Modelo Espiral
Modelos de Processo
Modelos de Processo
Anlise de riscos
Objetivos principais
detectar riscos
avaliar solues que ofeream menor
risco de implementao
adotar atividades para reduzir os
ricos principais
Engenharia
Modelos de Processo
Construo
e
adaptao
Avaliao do cliente
Modelos de Processo
Planejamento
Modelos de Processo
Modelo Espiral
Resumindo...
Definio do objetivo
Identificam-se os objetivos especficos da fase
Desenvolvimento e avaliao
escolhido um modelo de desenvolvimento para o sistema, que pode ser qualquer um
dos modelos genricos
Planejamento
O projeto revisado e a prxima fase da espiral planejada
Modelos de Processo
Consideraes Finais
Definir o ciclo de vida adequado s caractersticas do projeto essencial para o
seu sucesso
Deve-se analisar os pontos fortes e fracos de cada modelo de ciclo de vida e
escolher o que oferea melhores condies para o desenvolvimento do software
Pontos importantes
variao da especificao dos requisitos ao longo do projeto
complexidade do sistema a ser desenvolvido
caractersticas especficas do projeto
Modelos de Processo
Modelos de Processo
Agenda
Introduo
XP
SCRUM
Comparativo entre XP e SCRUM
Rational Unified Process (RUP)
Comparativo entre RUP e geis
Modelos de Processo
Introduo
Modelos de processo so utilizados para auxiliar na definio da sequncia de
atividades a serem realizadas durante o desenvolvimento de software
Constituem formas especficas de organizar o processo de software para obter
vantagens de qualidade e produtividade
Modelos de Processo
Modelos de Processo
Manifesto gil
Indivduos
Indivduos ee interaes
interaes
sobre
Processos
Processos ee ferramentas
ferramentas
Software
Software funcionando
funcionando
sobre
Documentao
Documentao abrangente
abrangente
Colaborao
Colaborao com
com oo cliente
cliente
sobre
Negociao
Negociao de
de contrato
contrato
Responder
Responder aa mudanas
mudanas
sobre
Seguir
Seguir um
um plano
plano
Modelos de Processo
Mtodos geis
Quando usar?
construo de software complexo
desenvolvimento de novo produto com grandes ndices de mudanas
desenvolvimento imprevisvel
necessidade ou desejo de vantagens competitivas
Prticas comuns
desenvolvimento iterativo
orientado a riscos e a clientes
timeboxing
desenvolvimento evolucionrio e adaptativo
requisitos evolucionrios
planejamento evolucionrio e adaptativo
Modelos de Processo
Construo
para atender a
alguns requisitos
iterao de x semanas
feedback
Construo
para atender a
alguns requisitos
As iteraes
possuem tamanho
fixo - timeboxed
feedback
Construo
para atender a
alguns requisitos
O sistema cresce
incrementalmente
LIBERAO
PARA
CLIENTE
Modelos de Processo
Software
Requisitos
Software
Requisitos
Requisitos Evolucionrios
90%
90%
...
50%
30%
20%
2%
Iterao 1
3%
5%
Iterao 2
Iterao 3
10%
Iterao 4
20%
Iterao 5
Modelos de Processo
Extreme Programming
Foco
colaborao
criao de software rpida e antecipadamente
prticas de desenvolvimento voltadas para habilidades
buscar o mximo de valor a cada dia de trabalho da equipe para o cliente
Baseado em 5 valores
comunicao
cliente sempre disponvel
simplicidade
desenvolvedores devem implementar da forma mais simples possvel o que o
cliente deseja
feedback
do desenvolvedor: aponta riscos, estimativas e alternativas de design
do cliente: conduz o desenvolvimento do seu produto, estabelece prioridades e
informa aquilo que realmente importante
Modelos de Processo
Extreme Programming
Baseado em 5 valores (continuao)
coragem
para mudar de acordo com novas solicitaes
para enfrentar riscos associados a mudanas
respeito
valor fundamental para que os demais valores sejam atingidos
saber ouvir, saber compreender e respeitar o ponto de vista do outro essencial
para que um projeto de software seja bem sucedido
Modelos de Processo
Extreme Programming
Evaluate
system
Break down
stories to tasks
Release
Software
Plan release
Develop / integrate
/ Test software
Modelos de Processo
Extreme Programming
Prticas
Histrias
requisitos dos clientes so escritos em pequenos cartes
histrias servem como guias para a equipe
Ciclo Semanal
uma vez por semana os desenvolvedores se renem com o cliente
cliente solicita as funcionalidades desejadas atravs de estrias
Equipe Integral
equipe deve ser formada por desenvolvedores, cliente e por qualquer pessoa que
possa contribuir para o projeto
Programao em pares
todo e qualquer cdigo implementado no projeto deve ser efetuado em dupla
Integrao contnua
se possvel deve ser efetuada diversas vezes ao dia
a equipe deve ter conhecimento do cdigo recm desenvolvido
Reunies em p (Stand-up meetings)
Modelos de Processo
Extreme Programming
Classificao
ciclos pequenos para projetos mdios, cerca de 1 a 3 semanas
pouco grau de cerimnia o menor possvel
Modelos de Processo
Extreme Programming
Papis
Analistas de Teste
Arquitetos
Designers de Interao
Executivos
Gerentes de Projeto
Gerentes de Produto
Programadores
Recursos Humanos
Redatores Tcnicos
Usurios
Modelos de Processo
Scrum
Valores
compromisso
foco
abertura
respeito
coragem
Pontos chave
equipes que se auto organizam e gerenciam
iteraes de cerca de 30 dias chamadas sprints
reunies dirias com a equipe (stand-up meetings ou Scrum meetings) abordando
questes especiais
entregas para o cliente ao final de cada iterao
para cada iterao, planejamento adaptativo orientado ao cliente
Modelos de Processo
Scrum
Classificao
rgido em termos de tamanho das iteraes sempre iteraes curtas
flexvel em termos de grau de cerimnia depende da complexidade do projeto
Modelos de Processo
Scrum
Enfatiza um conjunto de valores e prticas de gerenciamento de projeto, ao invs
de requisitos, implementao, etc
nfase em processos empricos ao invs de processos definidos
O produto evolui em uma srie de iteraes mensais (sprints)
O produto projetado, codificado e testado durante o sprint
Os requisitos so listados em um Product Backlog
a cada sprint a prioridade da fila de requisitos pode ser modificada pelo cliente, sem
custo adicional para o projeto
antes do incio de cada sprint feito um planejamento rpido das atividades
necessrias para atingir o objetivo do sprint
Sprint Backlog
Modelos de Processo
Scrum
Modelos de Processo
Scrum
Papis
Scrum Master
gerencia e codifica
conhece e refora a viso e os objetivos do projeto e da iterao
assegura o seguimento das prticas e valores do Scrum
mediador entre a gerncia e a equipe
remove impedimentos ao progresso do projeto
conduz as reunies dirias
conduz as revises ao final de cada sprint
Dono do Produto
1 pessoa responsvel pela criao e priorizao do Product Backlog
escolhe os objetivos para o prximo sprint
junto com outros stakeholders, revisa o sistema no final de cada sprint
Equipe
trabalha no Sprint Backlog
no h hierarquia
Modelos de Processo
Scrum
Vantagens
prticas simples e produtos de trabalho gerenciveis
resoluo de problemas e auto-gerncia realizadas pela equipe e individualmente
requisitos e desenvolvimento evolucionrios e incrementais, com comportamento
adaptativo
participao do cliente, que tambm guia a execuo das atividades
foco
abertura e visibilidade
facilmente combinado com outros mtodos
comunicao, aprendizagem e agregao de valor em equipe
construo da equipe atravs das reunies dirias
Desvantagens
oferece apoio mnimo sobre as demais disciplinas, com exceo de gerenciamento de
projetos (ex. requisitos, programao, tcnicas de engenharia de software, etc)
no define padres para documentao do projeto
Modelos de Processo
Modelos de Processo
Modelos de Processo
Modelos de Processo
Comparao
Pontos fortes Abordagem Rigorosa
Considera caractersticas mais abrangentes da gerncia
Riscos
Gerenciamento de Contratos com Fornecedores
Planejamento de recursos necessrios ao projeto
Infraestrutura
Recursos Humanos
Gerencia os compromissos com elementos externos ao projeto que no so clientes,
mas que afetam o seu resultado
Prov uma viso abrangente do planejamento do projeto
Modelos de Processo
Comparao
Pontos fortes Abordagem gil
Permite balancear a flexibilidade e a estabilidade
A priorizao e o planejamento so focados na satisfao do cliente
Facilidade de tratar as mudanas no escopo e nas prioridades do projeto
Respostas mais imediatas aos desvios devido micro-gerencia
Valoriza a colaborao, motivao e compartilhamento do conhecimento.
Modelos de Processo
Rigorosos X geis
Fatores que afetam a Gerncia de Projetos - Comparao
Processos Rigorosos
Mtodos geis
Previsibilidade
Adaptabilidade
Profissionais Especialistas
Profissionais Generalistas
Cliente na equipe
Gerncia de Mudanas
Contratos Formais
Contratos Colaborativos
Modelos de Processo
Bibliografia
Livros:
Modelos de Processo