3. Estratégias de Engenharia de Software
3.1 Estratégia Priorizada
Abordagem de Desenvolvimento de Software: A abordagem que irá guiar o desenvolvimento do produto proposto será a Ágil, que prioriza a flexibilidade, a entrega contínua de valor e a colaboração constante com o cliente para responder rapidamente às mudanças.
Ciclo de vida: O ciclo de vida de desenvolvimento de software a ser utilizado será o Ágil, caracterizado por ciclos curtos de desenvolvimento (iterações) que produzem incrementos funcionais do produto, permitindo adaptação e refinamento contínuos.
Processo de Engenharia de Software: O processo de desenvolvimento de software que será utilizado para a construção do produto proposto será uma combinação de Scrum com práticas de eXtreme Programming (XP). O Scrum fornecerá o framework de gestão (sprints, papéis, cerimônias), enquanto o XP agregará práticas de engenharia focadas na qualidade técnica, para responder aos desafios de escalabilidade e segurança do projeto.
3.2 Quadro Comparativo
CRITÉRIO | XP/SCRUM | XP/KANBAN |
---|---|---|
Estrutura de Gestão | Prescritiva e estruturada. Organizada em ciclos fixos (Sprints) com rituais definidos (Planning, Daily, Review, Retro). | Flexível e adaptativa. Focada em fluxo de trabalho contínuo, otimizado pela visualização e limitação do WIP (Work in Progress). |
Papéis e Responsabilidades | Papéis claramente definidos: Scrum Master (facilitador/mentor), Product Owner (dono do produto) e Time de Desenvolvimento. | Não prescreve papéis. A equipe deve se auto-organizar, exigindo maior maturidade e proatividade. |
Suporte à Equipe | O Scrum Master fornece suporte e orientação, ideal para equipes que precisam de um processo claro e estruturado. | Exige alta disciplina e maturidade para autogerir prioridades e melhorar o processo sem papéis formais. |
Frequência de Planejamento e Feedback | O planejamento ocorre no início de cada Sprint. O feedback formal sobre o produto ocorre na Sprint Review e sobre o processo na Retrospectiva. | O planejamento (replenishment) é contínuo. O feedback pode ocorrer a qualquer momento, mas sem frequência obrigatória. |
3.3 Justificativa
A decisão de adotar o processo XP/Scrum em detrimento do XP/Kanban para o desenvolvimento do produto UK CRM é uma escolha estratégica, fundamentada principalmente no perfil da equipe de desenvolvimento, que é jovem e com pouca experiência na área. Embora ambas as abordagens incorporem as mesmas práticas de excelência técnica do eXtreme Programming (XP), a estrutura de gerenciamento que o Scrum oferece é consideravelmente mais apropriada para guiar e amadurecer uma equipe em formação.
O framework XP/Scrum fornece uma estrutura prescritiva, com papéis, rituais e um ritmo de trabalho bem definidos. Essa clareza serve como um suporte essencial para uma equipe júnior, removendo ambiguidades e fornecendo um caminho claro a seguir. O papel do Scrum Master, central no XP/Scrum, é crucial nesse contexto, atuando como um mentor e facilitador dedicado a ensinar os processos, remover impedimentos e proteger a equipe. Em contrapartida, o XP/Kanban exige um nível de maturidade e autogestão a equipe ainda não possui. Sua natureza flexível e a ausência de papéis formais poderiam levar a uma falta de direção e dificuldade na resolução de problemas de processo.