Você está na página 1de 91

Ralph J. R.

Filho
Esclarecer a importncia do processo de
desenvolvimento de software bem como
explicar suas aplicabilidades e a participao
das pessoas
Primeiros Passos
Viso Geral
Tipos de PDS
Tradicionais
RUP, Cascata
geis
SCRUM, XP
Processo
Conjunto de passos e instrues para executar
determinadas atividades
Desenvolvimento
Criao ou manuteno de um produto ou servio
Software
Conjunto de cdigo-fonte e documentao
Um processo de desenvolvimento de
software (PDS) um conjunto de atividades,
disciplinas e papis que prescreve prticas
para se conceber, gerenciar, desenvolver,
testar e implantar um software
As atividades do PDS possuem entradas,
sadas, ferramentas e tcnicas que esto
ligadas a artefatos criados ou alterados
durante sua execuo
Os primeiros PDS's surgiram nos anos 70
impulsionados pela crise do software que
ocorreu nos anos 60
Os projetos de software dos anos iniciais
apresentavam diversos problemas
Altos investimentos, sem visibilidade
Excesso de falhas (bugs)
Requisitos mal compreendidos
Quase impossvel de manter aps pronto
Any fool can write code that a computer can
understand. Good programers write code that
humans can understand

Martin Fowler
Viso de Projeto
Aplicao de boas prticas
Indicadores de qualidade
Definio de papis ligados ao plano de
carreira e s atividades executadas
Viso de Projeto
Saber sobre o progresso das atividades,
impedimentos, atrasos, dependncias,
relacionamentos, custos, riscos
Poder organizar/planejar com maior eficincia as
tarefas que iro compor cada etapa de um
desenvolvimento
Indicadores de qualidade
Identificar acuracidade de estimativas
Comparar projetos
Alinhar objetivos dos projetos com os objetivos
estratgicos da empresa
Identificar esforo com defeitos e retrabalhos
Mapear desempenho de recursos humanos
20%
50%
20%
10%
Disciplinas
Requisitos
Desenvolvimento
Negcios
Testes
Aplicao de boas prticas
Modelos de documentos a serem utilizados para
agregar valor ao software
Lies aprendidas com projetos anteriores
descritos como guias
Estrutura de papis adequada poltica da
empresa
Estrutura de fases e disciplinas adequada
natureza dos projetos da empresa
O que ?
Papel
Disciplina
Artefato
Administrador de Rede
Analista de Qualidade
Analista de Requisitos
Analista de Negcios
Analista de Testes
Arquiteto de Software
Consultor
Desenvolvedor
Gerente de Configurao
Gerente de Projetos
Testador
...
Cada papel tem sua importncia,
disciplina, artefatos associados e
atividades pr-definidas
Anlise e projeto de software
Desenvolvimento de software
Gerncia de Configurao
Gerncia de Requisitos
Gerncia de Projetos
Implantao
Modelagem de Negcios
Teste de Software


Categorizao de processos que
so, teoricamente, independente
dos demais
Ator
Burndown chart
Caso de Teste
Caso de Uso
Cdigo fonte
E-mail
Glossrio
Plano de iterao
Requisito

Exemplo:
Coleo de Requisitos
Caso de Uso
Regra de Negcio
Documento ou elemento
pertencente a este, que deve ser
criado ou alterado
Organizaes bem estruturadas usam PDS
em seu ambiente, sempre buscando melhoria

O PDS possui um conjunto de regras e
elementos que so criados e refinados ao
passar do tempo
Pessoas que desempenham o papel de
Analista de Qualidade focam seu trabalho em
definir, manter, ensinar e auditar o PDS
Algumas empresas possuem um setor de
qualidade
O conhecimento das pessoas que usam o
PDS na prtica fundamental para o
refinamento dos processos
Uma pgina web um bom caminho para
centralizar o PDS. Ele deve ser de acesso a
todos na empresa
Cada pessoa, de acordo com seus papis,
executa as atividades conforme o PDS e pode
dar sugestes de melhorias bem como
indagar sobre elementos que no concorda
ou que tem dvidas
importante conhecer o PDS como um todo!
Conhecer o seu papel na empresa
Descobrir e trilhar caminhos de carreira
Estudar e aplicar as melhores prticas
Ferramentas so utilizadas pelas pessoas que
fazem o PDS acontecer. Atravs do uso delas
as tarefas so executadas, os documentos
arquivados e as informaes mantidas

Exemplos: MS Project, CVS, Eclipse, IBM
Rational Suite, Thunderbird
O PDS deve evitar referir-se a ferramentas
diretamente, ou fazer isso de forma
independente, porqu as ferramentas devem
oferecer suporte ao PDS, e no o contrrio

O PDS deve englobar as diferentes naturezas
dos projetos que a organizao executa
Atualmente existem diversos modelos de
PDS no mercado

O PDS ideal aquele que atende aos tipos de
projetos que a organizao executa

Customizao de modelos normal
Tradicionais
Possuem uma grande quantidade de papis,
disciplinas e fases. Chamados desta forma por serem
precursores ou serem baseados nestes. Lembram
etapas de um processo fabril (Fbrica de Software)
geis
Conceito criado nos anos 90 com o pretexto de que os
tradicionais no atendiam determinadas naturezas de
projetos (web) e que eram excessivamente
burocrticos
Tradicionais
Cascata
RUP
geis
SCRUM
XP
Modelo Cascata
Primeiro PDS formalizado, anos 70
Processo sequencial e esttico, simples de ser
aplicado e controlado
Vrias empresas utilizam atualmente
Originou-se em empresas da rea industrial, de
manufatura e construo
O modelo Cascata puro prescreve que s
possvel avanar para uma prxima fase
depois que a fase anterior estiver 100%
concluda

Existem variaes deste modelo
Quais as vantagens?
Quais as desvantagens?
IBM Rational Unified Process
Usa a abordagem O.O. e UML na sua
documentao
Organizado em fases e disciplinas inclui guias de
boas prticas e templates
Possui um vasto conjunto de papis e
documentos, abrange a elaborao de softwares
de alta complexidade

Principais documentos
Quais as vantagens?
Quais as desvantagens?
Visite
http://www.wthreex.com
SCRUM, XP
Porqu est em evidncia?
Toyota, Honda, HP
Inovao
Web
A abordagem humanitria em detrimento
dos processos bem elaborados
Princpios
Indivduos e iteraes melhor que: processos e ferramentas
Software funcionando melhor que: documentao compreensiva
Cooperao do cliente melhor que: negociar contrato
Resposta mudanas melhor que: seguir planos

Cuidado com a interpretao dos itens acima

Mais de 300 mil colaboradores
A maior empresa automotiva em produo e
vendas
Toyota-way
Pensamento longo prazo como base para
decises gerenciais
Processo para solues de problemas
Adicionar valor organizao atravs do
desenvolvimento das pessoas
Soluo de problemas na raiz direciona ao
aprendizado organizacional
Respeito aos seres humanos e melhoria
contnua
Desafio
Kaizen
Trabalho em equipe

Os geis basearam-se neste modelo
Extreme programming
Prticas geis voltadas para o desenvolvimento
de software


Ok, pode-se entender o significado nos
desenhos, mas... precisa ser to feio?
Em alguns casos precisa ser feito de forma rpida
Mantem-se estes rascunhos?
Sim, fotos de quadros tambm so aceitas como
documentao.
Lembre-se que
Sw funcionando melhor que docs bonitos
Planejamento com a participao da equipe
Requisitos priorizados pelo cliente
Desenvolvimento orientado testes
Programao em par
Refactoring
Sacrifcio da qualidade interna que
posteriormente resgatada
O funcionamento do sw no pode ser
comprometido
Refactoring aplicao de boas prticas de
codificao em um segundo momento porque no
momento do desenvolvimento havia pouco
tempo disponvel
Cdigo coletivo
Integrao contnua
Participao ativa do cliente
Mudanas constantes
Equipes pequenas, experientes e maduras
Requisitos pouco conhecidos
Quais as vantagens?
Quais as desvantagens?
Framework gil voltado ao gerenciamento de
projetos
Foca em planejamento de iteraes curtas,
envolvimento do cliente e equipes
multifuncionais e auto-organizveis

... equipes Scrum fazem um
pouco de cada coisa, todo o
tempo.
Requerimentos Projeto Cdigo Teste
Ao invs de completar uma
coisa por vez...
Change
Papis
Dono do Produto (prioriza, aceita ou rejeita
solues)
SCRUM Master (garante a execuo do processo
durante o desenvolvimento, resolve
impedimentos)
Equipe (de 6 a 9 pessoas, multifuncional e auto-
organizvel)

Quero que os
usurios do portal
possam planejar
suas frias,
escolhendo
itinerrios online.
Modelagem (8 horas)
Codificar interface (4)
Escrever textos (4)
Codificar a classe foo (6)
Atualizar testes de performance (4)
O que fizeste ontem?
O que vais fazer hoje?
H algum obstculo?
1
2
3
Retrospectiva de Sprint
O que funciona o que no funciona
Reviso de Sprint
Resultados obtidos
WTH is sprint anyway?
Artefatos
Product Backlog
Sprint Backlog
Burndown chart

Quais as vantagens?
Quais as desvantagens?
Qual o melhor?
O que diferencia um arteso de um operrio?
Os dois paradigmas de modelos podem ser
combinados?
Documentao necessria? At que ponto?
Modelo constri-conserta (caos)
Toyota-way, seo 2
O processo correto trar os resultados corretos
Foco nas pessoas
Aproximao do cliente
Qualidade interna e externa
Evitar processos engessados, aplicar melhoria contnua
O que mais tem a ver com isso
CMMI, MPS.BR, PMI (PMBOK), ISO
Obrigado!