2. OBJETIVOS (DA AULA)
• Revisão de Engenharia de Software
• Revisão de Qualidade de Software
• Processos de Desenvolvimento de Software
• Modelos de Processos
• Modelos Tradicionais
• Modelos Ágeis
• Manifesto Ágil e o Scrum
3. Princípios da Engenharia de
Software
Engenharia de Software
Disciplina da engenharia que se ocupa de todos os
aspectos da produção de software, desde os estágios
iniciais de especificação do sistema até a manutenção
desse sistema, depois que ele entrou em operação
(Sommerville, 2003)
Estudo e aplicação de uma abordagem
sistemática, disciplinada e quantificável para o
desenvolvimento, operação e manutenção de
software.(ISSO/IEC/IEEE – SWEBOK 3.0)
4. Princípios da Engenharia de
Software
E.S. possui 3 elementos fundamentais:
Metodologias
Ferramentas
Processos
6. Processos de Desenvolvimento
de Software - PDS
Um processo de desenvolvimento de software (PDS) é um
conjunto de atividades, disciplinas e papéis que prescreve
práticas para se conceber, gerenciar, desenvolver, testar e
implantar um software
Conjunto ordenado de atividades e resultados associados
que tem como objetivo o desenvolvimento de um produto
de software (Sommerville 2003)
Visam abranger atividades de:
Especificação de Software
Desenvolvimento de Software
Validação de Software
Evolução de Software
8. Modelo Waterfall - Cascata
As atividades são executadas uma após as outras
Exige alto domínio da aplicação a ser desenvolvida
Erros de qualquer origem só são encontrados nas
fases finais
Sistema é entregue no final do Projeto... E se estiver
tudo errado?
10. Modelo Evolucionário -
Prototipação
Desenvolvimento Exploratório
Desenvolver sistema a partir de um protótipo
Explorar requisitos desconhecidos
Cliente próximo
Prototipação descartável
Protótipos a fim de compreender melhor o sistema
Objetivo de fazer experimentos
Não há um processo regular
Sistemas crescem desordenadamente
Ferramentas e técnicas especiais
14. Princípios Ágeis
Nossa maior prioridade é satisfazer o cliente, através da entrega
adiantada e contínua de software de valor.
Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento.
Processos ágeis se adequam a mudanças, para que o cliente possa tirar
vantagens competitivas.
Entregar software funcionando com freqüencia, na escala de semanas
até meses, com preferência aos períodos mais curtos.
Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em
conjunto e diáriamente, durante todo o curso do projeto.
Construir projetos ao redor de indivíduos motivados. Dando a eles o
ambiente e suporte necessário, e confiar que farão seu trabalho.
15. Princípios Ágeis
O Método mais eficiente e eficaz de transmitir informações para, e por
dentro de um time de desenvolvimento, é através de uma conversa cara
a cara.
Software funcional é a medida primária de progresso.
Processos ágeis promovem um ambiente sustentável. Os
patrocinadores, desenvolvedores e usuários, devem ser capazes de
manter indefinidamente, passos constantes.
Contínua atenção à excelência técnica e bom design, aumenta a
agilidade.
Simplicidade: a arte de maximizar a quantidade de trabalho que não
precisou ser feito.
As melhores arquiteturas, requisitos e designs emergem de times auto-
organizáveis.
Em intervalos regulares, o time reflete em como ficar mais efetivo,
então, se ajustam e otimizam seu comportamento de acordo
17. Scrum
É...
Framework de Gerência de Projetos Ágil
Princípios e crenças Ágeis (Jim Highsmith - Signatário)
Processo de Desenvolvimento de Software
atividades, disciplinas e papéis que prescreve práticas para se
conceber, gerenciar, desenvolver, testar e implantar um
software (sem ser prescritivo)
Não é...
A solução para seus problemas
Receita do sucesso
Bala de Prata
18. Scrum - Produto
Temas
Épicos
Features ou Histórias de Usuários (User Stories)
Eu como ... Desejo ser capaz de ... A fim de que ...
Backlog
Lista
Features ou US
Produto
Sprint
19. Scrum - Papéis
Product Owner: Conhece o negócio, define histórias
Scrum Master: Lidera o time, protege de influências e
impedimentos
Time de Desenvolvimento: Estima, Projeta, Desenvolve –
Auto gerenciável/Multidisciplinar
20. Scrum - Papéis
A Gerência de Projeto é muito complexa pra ser feita por uma pessoa
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki
21. Cerimônias e Time boxes
Sprint – Iteração de tempo fixo – 2 a 4 semanas
Sprint Planning - Planejamento - 1h/semana
Daily Scrum – Acompanhamento - 15 min
Sprint Review – Entrega da Sprint – 1h/semana
Sprint Retrospective – Realinhamento – 1h/semana