Escolar Documentos
Profissional Documentos
Cultura Documentos
As fases não são idênticas em termos de programação e esforço. Embora isso varie
muito de acordo com o projeto, um ciclo de desenvolvimento inicial típico para um
projeto de médio tamanho deve prever a seguinte distribuição de esforço e
programação:
Esforço ~5 % 20 % 65 % 10%
Programação 10 % 30 % 50 % 10%
Uma passagem pelas quatro fases é um ciclo de desenvolvimento; cada passagem pelas
quatro fases produz uma geração do software. A menos que produto "desapareça", ele
irá se desenvolver na próxima geração, repetindo a mesma seqüência de fases de
iniciação, elaboração, construção e transição, mas agora com ênfase diferente nas
diversas fases. Esses ciclos subseqüentes são chamados de ciclos de evolução. À
medida que o produto atravessa vários ciclos, são produzidas novas gerações.
Os ciclos de evolução podem ser disparados por melhorias sugeridas pelos usuários,
mudanças no contexto do usuário, mudanças na tecnologia subjacente, reação à
concorrência e assim por diante. Normalmente, os ciclos de evolução têm fases de
Iniciação e Elaboração bem menores, pois a definição e a arquitetura básicas do produto
foram determinadas por ciclos de desenvolvimento anteriores. São exceções a essa
regra os ciclos de evolução em que ocorre uma redefinição significativa do produto ou
da arquitetura.
FASE ELABORAÇÃO
As fases e os marcos de um projeto
CONSTRUÇÃO
A meta da fase de construção é esclarecer os requisitos restantes e concluir o
desenvolvimento do sistema com base na arquitetura da baseline. A fase de construção é
de certa forma um processo de manufatura, em que a ênfase está no gerenciamento de
recursos e controle de operações para otimizar custos, programações e qualidade. Nesse
sentido, a mentalidade do gerenciamento passa por uma transição do desenvolvimento
da propriedade intelectual durante a iniciação e elaboração, para o desenvolvimento dos
produtos que podem ser implantados durante a construção e transição.
• Atingir as versões úteis (alfa, beta e outros releases de teste) com rapidez e
eficiência.
• Concluir a análise, o design, o desenvolvimento e o teste de todas as
funcionalidades necessárias.
• Desenvolver de modo iterativo e incremental um produto completo que esteja
pronto para a transição para a sua comunidade de usuários. Isso implica descrever os
casos de uso restantes e outros requisitos, incrementar o design, concluir a
implementação e testar o software.
• Decidir se o software, os locais e os usuários estão prontos para que o aplicativo
seja implantado.
• Atingir um certo paralelismo entre o trabalho das equipes de desenvolvimento.
Mesmo em projetos menores, normalmente há componentes que podem ser
desenvolvidos um independente do outro, permitindo o paralelismo natural entre as
equipes (se os recursos permitirem). O paralelismo pode acelerar bastante as
atividades de desenvolvimento; mas também aumenta a complexidade do
gerenciamento de recursos e da sincronização dos fluxos de trabalho. Uma
arquitetura sofisticada será essencial para atingir um paralelismo significativo.
Atividades Básicas
• Gerenciamento de recursos, otimização de controle e processo
• Desenvolvimento completo do componente e teste dos critérios de avaliação
definidos
• Avaliação dos releases do produto de acordo com os critérios de aceitação para a
visão
O marco Capacidade Operacional Inicial determina se o produto está pronto para ser
implantado em um ambiente de teste beta.
No Marco da Capacidade Operacional Inicial, o produto está pronto para ser passado
para a Equipe de Transição. Toda a funcionalidade já foi desenvolvida e todos os testes
alfa (se houver algum) foram concluídos. Além do software, um manual do usuário foi
desenvolvido, e existe uma descrição do release atual.
Critérios de Avaliação
Observe que há muito trabalho de design contínuo mostrado nessa iteração, indicando
que ela é uma das primeiras no ciclo de construção. Em interações de construção
posteriores, isso diminuirá à medida que o trabalho de design for concluído, e o trabalho
de design restante se relacionará às Solicitações de Mudança (defeitos e melhorias) que
afetam o design. A descoberta e o refinamento de requisitos são mostrados como
concluídos nesse estágio, o esforço restante se refere inteiramente ao gerenciamento de
mudança.
O principal resultado de uma iteração no final da fase de construção é que mais
funcionalidade é adicionada, o que proporciona um sistema muito mais completo. Os
resultados da iteração atual ficam visíveis para os desenvolvedores formarem a base de
desenvolvimento para as iterações subseqüentes.
FASE TRANSIÇÃO
Objetivos
O foco da Fase de Transição é assegurar que o software esteja disponível para seus
usuários finais. A Fase de Transição pode atravessar várias iterações e inclui testar o
produto em preparação para release e ajustes pequenos com base no feedback do
usuário. Nesse momento do ciclo de vida, o feedback do usuário deve priorizar o ajuste
fino do produto, a configuração, a instalação e os problemas de usabilidade; todos os
problemas estruturais mais graves devem ter sido trabalhado muito antes no ciclo de
vida do projeto.
No fim do ciclo de vida da Fase de Transição, os objetivos devem ter sido atendidos e o
projeto deve estar em uma posição para fechamento. Em alguns casos, o fim do ciclo de
vida atual pode coincidir com o início de outro ciclo de vida no mesmo produto,
conduzindo à nova geração ou versão do produto. Para outros projetos, o fim da
Transição pode coincidir com uma liberação total dos artefatos a terceiros que poderão
ser responsáveis pela operação, manutenção e melhorias no sistema liberado.
Essa Fase de Transição pode ser muito fácil ou muito complexa, dependendo do tipo de
produto. Um novo release de um produto de mesa existente pode ser muito simples, ao
passo que a substituição do sistema de controle do tráfego aéreo de um país pode ser
excessivamente complexa.
A Fase de Transição entra quando uma baseline estiver desenvolvida o suficiente para
ser implantada no domínio do usuário final. Isso normalmente requer que algum
subconjunto usável do sistema tenha sido concluído com nível de qualidade aceitável e
documentação do usuário, de modo que a transição para o usuário forneça resultados
positivos para todas as partes.
Os objetivos principais da Fase de Transição são:
Atividades básicas
No fim na fase de transição está o quarto marco mais importante do projeto, o Marco
do Release do Produto. Nesse momento, você decide se os objetivos foram atendidos,
e se outro ciclo de desenvolvimento deve ser iniciado. Em alguns casos, esse marco
pode coincidir com o fim da fase de iniciação do próximo ciclo. O Marco do Release do
Produto é o resultado da conclusão com êxito de Atividade: Revisão da Aceitação do
Projeto.
Critérios de Avaliação
Em uma era onde metodologias Agile estão emergindo como respostas para problemas
persistentes na produção de softwares de qualidade, falar em RUP pode parecer, em
uma rápida e errônea análise, um passo para trás. Porém, se entendermos os conceitos
por trás de cada modelo, processo ou framework, passamos a compreender que nenhum
desses arcabouços deve prometer (e sequer faz essa promessa) a resolução de todos os
problemas encontrados no dia-a-dia da Tecnologia de Informação.
Por ser um produto que traz uma série de modelos de artefatos (templates e guidelines)
e uma quase infinidade de fluxos, atividades, etc., usuários do RUP geralmente
esquecem o conceito “Customização” do tripé citado acima e passam a acreditar que,
para se ter bons resultados com o processo, é necessária a adoção de todo o “pacote”.
Bem, se pensarmos assim, e cotarmos a terceira perna dessa mesa, a mesa certamente
irá cair ao primeiro sinal de movimento rumo a um projeto.
Além disso, o conceito de iterações, muito pregado também por frameworks como o
SCRUM, por exemplo, nem sempre são levados a sério quando tratamos da implantação
do RUP. Isso se dá, muitas vezes, por essa informação vital ser ofuscada por tantas
outras que o processo traz, diferente do framework SCRUM, onde as Sprints ficam
sempre muito claras em todas as palestras, workshops, etc. Sendo assim, tiramos do
RUP outro de seu alicerce e, comprometemos nossos objetivos, investindo muito, para
obter muito pouco.
Ainda vale a máxima que devemos sempre utilizar quando tratamos de processo: Um
bom processo é um processo que atende às nossas necessidades. E, sendo assim, o RUP
obviamente traz grandes ferramentas e conceitos que podem ser aproveitados para
atender a essas necessidades, basta saber do que se fala, e como se utiliza