Você está na página 1de 27

Modelagem Prof. Me.

Leandro Borges
de Processos
Aula 06 - Processos Ágeis e
Processo Unificado (UP)
Processos Ágeis

 Ágil
é um termo abrangente que compreende
muitos processos que compartilham um conjunto
comum de valores e de princípios, conforme
definido pelo Manifesto of Agile Software
Development (http://agileManifesto.org)
Extreme Programming (XP)
Scrum
Processos Ágeis

 Fortemente adaptativos por natureza!

 Processos muito voltados às pessoas!


Processos Ágeis

 Asestratégias ágeis presumem que o fator


mais importante no sucesso de um projeto é a
qualidade das pessoas que estão envolvidas
nele e o quão bem elas trabalham juntas, em
termos humanos.

 Osprocessos e as ferramentas que elas


utilizam são estritamente efeitos de segunda
ordem!
Processos Ágeis

 Asmetodologias ágeis tendem a utilizar


iterações curtas e com quadro de tempo
estabelecido...
... frequentemente de um mês ou menos

A maioria utiliza a UML no modo de esboço


Processos Ágeis

 Osprocessos ágeis tendem a ter pouca


formalidade.

 Osprocessos ágeis consideram que a


formalidade torna mais difícil fazer alterações
e vão contra a natureza das pessoas
talentosas
Processos Ágeis

 Processoságeis são frequentemente


caracterizados como leves!

A falta de formalidade é uma consequência da


adaptabilidade e da orientação das pessoas,
em vez de ser uma propriedade fundamental!
Métodos de desenvolvimento
ágil usualmente aplicam
desenvolvimento iterativo e
evolutivo de tempo limitado,
O que são empregam planejamento
métodos e adaptativo, promovem entrega
incremental e incluem outros
atitudes ágeis?
valores e práticas que
encorajam agilidade – resposta
rápida e flexível à
modificação.
O manifesto ágil

 Indivíduos e iterações
vem antes de processos e ferramentas
 Software funcionando
vem antes de documentação abrangente
 Colaboração do cliente
vem antes de negociação de contrato
 Resposta à modificação
vem antes de um plano em andamento
Os Princípios ágeis
 1.Nossa prioridade mais alta é satisfazer o cliente por meio de entrega pronta e contínua de software de
valor.
 2.
Acolher modificação de requisitos, mesmo no final do desenvolvimento. Processos ágeis valorizam a
modificação para vantagem competitiva do cliente.
 3.
Entregar software funcionando com frequência (de várias semanas a vários meses), preferencialmente
usando uma escala de tempo menor.
 4. O pessoal do negócio e os desenvolvedores devem trabalhar juntos diariamente ao longo do projeto.
 5.
Construir projetos em volta de indivíduos motivados. Dê a eles o ambiente e o apoio que necessitam e
confie que eles vão fazer o serviço.
 6.
O método mais eficiente e efetivo para levar informação de e para uma equipe de desenvolvimento é a
conversa face a face.
 7. Software funcionando é a principal medida de progresso.
 8. Processos ágeis promovem desenvolvimento sustentável.
 9. Os patrocinadores, desenvolvedores e usuários devem poder manter um ritmo constante indefinidamente.
 10. Atenção contínua para a excelência técnica e para um bom projeto aumenta a agilidade.
 11. Simplicidade – a arte de maximizar a quantidade de trabalho não realizada – é essencial.
 12. As melhores arquiteturas, requisitos e projetos surgem de equipes auto-organizadas.
 13.Em intervalos regulares, a equipe reflete sobre como se tornar mais efetiva, depois sintoniza e ajusta o
seu comportamento de acordo com isso.
Processo Unificado

O que é PU?
 Umprocesso de desenvolvimento de software descreve uma
abordagem para a construção, implantação e, possivelmente, a
manutenção de software.

O Processo Unificado (PU) surgiu como um processo iterativo


popular para o desenvolvimento de software visando à
construção de sistemas orientados a objetos.

 Em particular, o Processo Unificado da Rational ou RUP (de


Rational Unified Process), um refinamento detalhado do PU, é
muito adotado.
Processo Unificado

O PU combina as melhores práticas


comumente aceitas, como ciclo de vida
iterativo e desenvolvimento guiado por risco,
em uma descrição de processo coesa e bem
documentada.
 Trata-sede uma estrutura de
RUP (Rational processo, fornecendo um
Unified vocabulário e uma estrutura
para falar sobre processos.
Process)
RUP (Rational Unified Process)

 Quando você usa o RUP, a primeira coisa que precisa


fazer é escolher um caso de desenvolvimento
O processo que você vai utilizar no projeto!

 Àsvezes, o RUP é referido como UP (Unified Process –


processo unificado).

 Issoé feito normalmente por organizações que desejam


utilizar a terminologia e o estilo global do RUP, sem
usar os produtos licenciados da Rational Software
RUP (Rational Unified Process)

A escolha de um caso de desenvolvimento


exige alguém que esteja antecipadamente
familiarizado com o RUP.

 Qualquer que seja o caso de


desenvolvimento, o RUP é basicamente um
processo iterativo.
RUP (Rational Unified Process)

 Todos os projetos RUP devem seguir quatro


fases:
Concepção
Elaboração
Construção
Transição
RUP - Concepção

A concepção faz uma avaliação inicial de um


projeto. Normalmente, na concepção, você
decide se vai comprometer fundos para
realizar uma fase de elaboração.
RUP - Elaboração

A elaboração identifica os casos de uso


principais do projeto e elabora o software em
iterações para reorganizar a arquitetura do
sistema. Ao final da elaboração, você deve ter
uma boa ideia dos requisitos e um esqueleto
funcional do sistema, que atue como semente
de desenvolvimento. Em particular, você
deve ter encontrado e resolvido os principais
riscos do projeto.
RUP - Construção

A construção continua o processo,


desenvolvendo funcionalidade suficiente para
o lançamento.
RUP - Transição

A transição inclui várias atividades de último


estágio que você não faz de forma iterativa.
Isso pode incluir a distribuição para o centro
de dados, treinamento dos usuários e coisas
parecidas.
Como adequar um processo a um projeto

 Os projetos de software diferem muito uns dos outros!

A maneira de proceder em um desenvolvimento de


software depende de muitos fatores
tipo de sistema que está sendo construído
tecnologia utilizada
tamanho e da distribuição da equipe
da natureza dos riscos
das consequências de um fracasso
cultura da organização
Como adequar um processo a um projeto

 Vocênunca deve esperar que haja um


processo único que funcione para todos os
projetos!

 Vocêsempre tem de adaptar um processo, de


acordo com s eu ambiente particular!
Importante...

 Examinarseu projeto e considerar quais


processos parecem mais próximos ao
desejado é o melhor a ser feito...
 Considerarentão quais adaptações precisa
fazer para adequá-las ao seu projeto.
 Interessanteutilizar um processo já pronto
para fazer algumas iterações, até você saber
como ele funciona.
Atenção!

 Normalmente é mais fácil começar com pouco


e acrescentar itens do que começar com
muitas coisas.

 Aofinal de cada iteração, realize uma


retrospectiva de iteração, na qual a equipe se
reúne para considerar como as coisas
correram e como elas podem ser aprimoradas.
Boas práticas...

 Uma boa maneira de realizar isso é fazer uma lista com três
categorias:

 1.
Manter: coisas que funcionaram bem, as quais você quer
que continuem a funcionar assim.
 2. Problemas: áreas que não estão funcionando bem.
 3. Tentativa: alterações em seu processo para aprimorá-lo.

 Aofinal de um projeto ou de um lançamento importante,


considerar uma retrospectiva de projeto mais formal!
Referências…
Utilizando UML e Padrões - Uma introdução à análise e ao
projeto orientados a objetos e ao desenvolvimento iterativo,
3. ed.
Craig Larman
https://integrada.minhabiblioteca.com.br/books/9788577800476

UML Essencial: Um Breve Guia para Linguagem Padrão, 3. ed.


Martin Fowler
https://integrada.minhabiblioteca.com.br/books/9788560031382

Você também pode gostar