Estratégias de Engenharia de Software
Estratégia Priorizada
- Abordagem: Híbrida;
- Ciclo de vida: Iterativo Incremental;
- Processo: Rapid Application Development (RAD);
- Framework de Gerenciamento: Kanban;
Quadro Comparativo
| Característica | Espiral | RAD |
|---|---|---|
| Abordagem geral | Iterativo com foco em análise de risco | Iterativo incremental com foco na experiência do usuário e feedback precoce |
| Estrutura de processos | Possui uma estrutura sistemática de suas fases (Planejamento - análise de riscos – desenvolvimento - verificação) | Fases bem definidas com alto refino do protótipo através da comunicação com cliente (planejamento -protótipo com testes e refinamento – desenvolvimento - implementação) |
| Flexibilidade de requisitos | Maior flexibilidade quando comparado com cascata | Alta flexibilidade e adaptação de acordo com feedbacks do cliente |
| Colaboração com cliente | Participação ativa, porém, menos intensa que no modelo RAD. No processo espiral, a colaboração com cliente ocorre em 3 momentos principais, que seriam na definição dos requisitos, análise de risco e na avaliação final da iteração | Participação ativa do cliente no processo de desenvolvimento |
| Complexidade do processo | Formal com fases sequenciais, documentação maior e muitas análises de risco | Mais simples, com comunicação atuando como substituto a documentação extensiva |
| Qualidade técnica | Qualidade assegurada por testes unitários, de integração e aceitação | Qualidade assegurada por testes automatizados e validação constante do usuário |
| Práticas de desenvolvimento | Estrutura formal com práticas técnicas específicas dentro do processo de desenvolvimento | Estrutura bem definida, porém, adaptativa, priorizando prototipagem rápida |
| Adaptação ao projeto Conecta UnB | Ideal para projetos com maior documentação e detalhamento no começo do processo, sem a necessidade de reuniões constantes | Ideal para projetos com comunicação constante e escopo relativamente pequeno e previamente conhecido |
| Documentação | Documentação mais robusta e evolutiva ao longo dos ciclos, começando com descrições de alto nível e refinando-se progressivamente. O nível de formalidade da documentação pode ser adaptado com base nos riscos identificados. | Documentação mínima, criada apenas quando necessário para deixar mais claro e dar suporte futuro, caso necessário. |
| Controle de qualidade | Controle de qualidade ao final de cada espiral através de análise de riscos e avaliações | Controle de qualidade constante com validação do cliente |
| Escalabilidade | Para projetos grandes, complexos e de alto risco | Ideal para projetos curtos e escopo modular |
| Suporte a equipes de desenvolvimento | Suporta equipes maiores em projetos complexos e de alto risco, exigindo papéis mais analíticos e bem definidos, pois requer um controle rigoroso focado na avaliação contínua de riscos a cada iteração de desenvolvimento. | Suporta equipes menores e multidisciplinares, com papéis mais flexíveis e alta colaboração com o cliente, permitindo grande agilidade na entrega através de prototipagem rápida e iterações curtas (timeboxing). |
Justificativa
A estratégia priorizada pelo grupo foi a utilização de uma abordagem híbrida com ciclo de vida iterativo incremental usando o processo Rapid Application Development (RAD) e o framework Kanban para o gerenciamento da equipe e das atividades a serem desenvolvidas. Essa escolha foi definida considerando:
- Restrições de tempo da disciplina:
- Com o prazo curto do semestre somado as outras demandas acadêmicas dos integrantes da equipe e dos clientes, o clico iterativo incremental aliado ao RAD e o kanban permite maior flexibilidade e controle de entrega, com adaptações rápidas diante das mudanças nos requisitos e restrições de tempo.
- Perfil dos stakeholders:
- O perfil dos stakeholders é diversificado apesar de estarem inseridos no mesmo ambiente, e possuem diferentes necessidades dentro do contexto da plataforma. Diante disso, a comunicação proporcionada pelo RAD permite que os requisitos sejam validados visualmente de forma mais assertiva e fácil.
- Priorização de uma validação constante:
- Sendo o Conecta UnB uma plataforma voltada para utilidade pública e engajamento da comunidade acadêmica, o maior risco é a falta de adesão e usabilidade da plataforma. A estratégia eleita ataca justamente esse risco focando intensamente na experiência do usuário, possibilitando que os clientes participem da concepção da plataforma.
- Equipe enxuta:
- O grupo é formado por apenas 6 integrantes que precisam atuar de forma otimizada, a abordagem escolhida proporciona essa flexibilidade necessária para o desenvolvimento, realizando uma documentação estratégica e focando na entrega de valor para os stakeholders. Além disso o kanban não exige papéis rígidos ou cerimônias pesadas, focando na visualização do fluxo de trabalho e no trabalho em progresso.