Estratégias de Engenharias de Software
Estratégia Priorizada
-
Abordagem de Desenvolvimento de Software: Ágil com elementos dirigidos por plano
-
Ciclo de vida: híbrido (iterativo e incremental)
-
Processo de Engenharia de Software: OpenUP
O OpenUp segue uma metodologia com 4 fase de desenvolvimento :
- Concepção : Nessa fase é feita a definição dos objetivos do projeto, levantamento inicial de requisitos e o planejamento e cronograma do projeto;
- Elaboração : Nessa fase é realizado o refinamento de requisitos e arquitetura, o desenvolvimento de protótipos e validação do mesmo e por último a análise de riscos;
- Construção : Aqui é feito as iterações de desenvolvimento, testes de funcionalidades e integração contínuos e feedback e ajustes com o cliente;
- Transição : Nesta última fase ocorre os testes finais e implantação, documentação e guias de usuário e o suporte pós-lançamento ao usuário.
No cronograma da disciplina detalhamos como seguiremos cada uma dessas fases de acordo com nosso cronograma.
Quadro Comparativo
Características | Unified Process (UP) | Open Unified Process (OpenUP) |
---|---|---|
Objetivo | Fornecer uma metodologia robusta e escalável para desenvolvimento de software com etapas bem definidas e forte documentação. | Oferecer uma versão simplificada e enxuta do UP, com foco em práticas ágeis e leveza no processo. |
Foco no Processo | Processo estruturado, com foco em documentação e controle, adequado para projetos de médio a grande porte. | Processo leve, com foco em colaboração e agilidade, adequado para projetos de pequeno a médio porte. |
Complexidade | Mais complexo e detalhado, com quatro fases principais e várias disciplinas a serem seguidas em cada fase. | Menos complexo, com simplificação das disciplinas e fases, tornando o processo mais fácil de adaptar. |
Fases | Concepção, Elaboração, Construção, Transição - cada fase possui uma série de atividades, entregas e artefatos bem definidos. | Também utiliza as fases de Iniciação, Elaboração, Construção, Transição, mas com uma abordagem mais flexível e menos prescritiva. |
Disciplinas (Áreas de Foco) | Abrange diversas disciplinas, como Modelagem de Negócios, Requisitos, Análise e Design, Implementação, Testes, e Gerenciamento de Projeto. | Concentra-se nas disciplinas essenciais, como Requisitos, Implementação, Testes e Gerenciamento de Projeto, com menor ênfase em documentação extensa. |
Documentação | Documentação rigorosa e detalhada em cada fase, com artefatos obrigatórios para cada etapa. | Documentação reduzida, com foco em artefatos essenciais e em manter a equipe mais produtiva com menos formalidades. |
Iteratividade | Iterativo e incremental, permitindo revisões contínuas em cada fase para reduzir riscos. | Também iterativo e incremental, mas com ciclos de desenvolvimento mais curtos e mais simples, permitindo respostas rápidas a mudanças. |
Gestão de Riscos | Enfatiza a análise e gestão de riscos na fase de Elaboração para mitigar problemas antes da fase de Construção. | Inclui gestão de riscos, mas de forma menos formal e integrada às práticas ágeis |
Adaptação e Flexibilidade | É mais rígido e detalhado, o que pode dificultar a adaptação a mudanças frequentes no escopo. | Mais flexível e ágil, com menos formalidade, facilitando a adaptação rápida a mudanças. |
Colaboração e Equipe | Frequentemente exige uma estrutura de equipe mais formal com papéis específicos definidos, como Analista de Requisitos, Arquiteto e Testador. | Incentiva uma equipe colaborativa e multifuncional, onde papéis são menos rígidos e os membros podem assumir várias funções. |
Recomendações de uso | Ideal para projetos de médio a grande porte, onde a previsibilidade e controle são prioritários. Útil em contextos que exigem alta conformidade com processos e documentação. | Mais adequado para projetos menores ou ambientes ágeis, onde a simplicidade, velocidade e resposta rápida às mudanças são essenciais. |
Justificativa
Como o OpenUp é menos burocrático e requer menos documentação do que o UP, tornando o processo mais ágil, ele é mais adequado para equipes pequenas, com os requisitos mais simples, como este do Pet Shop Guará.
Este processo promove a colaboração constante e rápida adaptação a mudanças, alinhando-se com as necessidades de um projeto que pode sofrer alterações frequentes conforme o cliente aprende mais sobre o sistema e o produto vai ganhando forma. Para o dono do pet shop, que provavelmente pode mudar algumas ideias ao longo do desenvolvimento, OpenUP permite fazer ajustes sem impactar muito o cronograma ou sobrecarregar a equipe com replanejamentos formais.
Para um projeto menor, como este de um sistema de agendamento e controle de vendas, o OpenUP é mais escalável e não exige a estrutura robusta e formalizada do UP, que seria mais adequado para projetos complexos e de larga escala. O OpenUP permite que a equipe se concentre nas soluções práticas e relevantes ao projeto sem desviar esforços para atividades que não agreguem valor direto ao cliente.
O OpenUP reduz a carga de documentação e a complexidade do planejamento detalhado, o que também diminui o custo e o tempo de desenvolvimento — ambos essenciais para um projeto com orçamento e cronograma restritos. Com menos etapas obrigatórias e mais flexibilidade, a equipe pode acelerar o processo de desenvolvimento e entrega, atendendo ao cliente mais rapidamente.
Referências
SILVA, Luciane. OpenUp: um processo integrado e ágil. Disponível em: https://medium.com/@LucianeS/openup-um-processo-integrado-e-agil-a4400c17ce62. Acesso em: 11 nov. 2024.
CATOLICA. METODOLOGIAS ÁGEIS DE DESENVOLVIMENTO: OPENUP, FDD, DSDM E LEAN. Disponível em: https://conteudo.catolica.edu.br/conteudos/unileste_cursos/disciplinas/nucleo_formacao_geral/Gestao_de_projetos_e_metodos_ageis/tema_03/index.html. Acesso em: 11 nov. 2024.
EDUCATIVE.IO. What is a unified process model. Disponível em: https://www.educative.io/answers/what-is-a-unified-process-model. Acesso em: 11 nov. 2024.
EDEKI, Charles. Agile Unified Process. Disponível em: https://interhad.nied.unicamp.br/courses/roberto-pereira/ci163-projeto-de-software-ufpr-1/agenda/auppaper.pdf. Acesso em: 11 nov. 2024.
TREINAWEB. O que é RUP (Rational Unified Process). Disponível em: https://www.treinaweb.com.br/blog/o-que-e-rup-rational-unified-process. Acesso em: 11 nov. 2024.