Gestão de desenvolvimento de software
Processo end-to-end com SDLC, DevOps, CI/CD, qualidade e governance de software
Descarregar pack completoÂmbito e objectivos
Garantir que os produtos de software satisfazem as necessidades das partes interessadas em termos de funcionalidade, fiabilidade, manutenibilidade, operabilidade, conformidade e auditabilidade, através de um ciclo de desenvolvimento estruturado e alinhado com o negócio.
Necessidade de novo software, funcionalidade ou correcção aprovada no pipeline de desenvolvimento, ou revisão periódica da qualidade e governança do ciclo de desenvolvimento.
Desde a definição de requisitos e design até à entrega em produção e gestão da dívida técnica, incluindo governance do SDLC, qualidade de código, testing e pipeline CI/CD.
Gestão de incidentes em produção (gestão de incidentes), gestão de infraestrutura e plataformas onde o software corre, e decisões de investimento em novos produtos (gestão de portfolio).
Software entregue e validado em produção, repositório com cobertura de testes adequada, pipeline CI/CD operacional, registo de dívida técnica actualizado e documentação de release publicada.
Diagrama do processo
Diagrama BPMN simplificado do processo de gestão de desenvolvimento de software (3 swimlanes). Percorra horizontalmente em dispositivos móveis.
Actividades macro
| # | Actividade | Responsável | Input | Output |
|---|---|---|---|---|
| 1 | Governance do SDLC | Dev manager | Estratégia de produto, requisitos de negócio | Standards de desenvolvimento, políticas de qualidade |
| 2 | Requisitos e design | Developers / Arquitectura | Requisitos de negócio, restrições técnicas | Especificações funcionais, design de solução |
| 3 | Desenvolvimento (codificação) | Developers | Especificações, design aprovado | Código fonte com testes unitários |
| 4 | Revisão de código e qualidade | Developers / QA / Arquitectura | Pull request, código entregue para revisão | Código aprovado, relatório de qualidade |
| 5 | Testing (unitário e integração) | QA | Código aprovado, plano de testes | Relatório de testes, defeitos identificados |
| 6 | Gestão do pipeline CI/CD | Dev manager / Developers | Código aprovado e testado | Build automatizado, software em produção |
| 7 | Gestão da dívida técnica | Dev manager / Arquitectura | Relatórios de qualidade, backlog técnico | Registo de dívida técnica, plano de remediação |
| 8 | Revisão do processo | Dev manager | Métricas de velocidade, qualidade e deployment | Lições aprendidas, melhorias ao processo |
Descrição detalhada das actividades
O dev manager define e mantém actualizados os standards de desenvolvimento, políticas de qualidade e modelo de governance do ciclo de desenvolvimento (SDLC). Esta actividade garante que o processo de desenvolvimento é consistente, auditável e alinhado com os requisitos de negócio e compliance.
Passos chave
- Definir e publicar standards de codificação, branching e versionamento
- Estabelecer políticas de qualidade (cobertura de testes mínima, critérios de code review)
- Assegurar alinhamento com requisitos de compliance e auditabilidade
- Rever periodicamente o modelo SDLC em função de resultados e feedbacks
A equipa de desenvolvimento, com envolvimento da arquitectura e do service owner, levanta e documenta os requisitos funcionais e não funcionais. O design de solução é elaborado garantindo alinhamento com a arquitectura de referência e os princípios de manutenibilidade e operabilidade.
Passos chave
- Recolher e documentar requisitos funcionais e não funcionais
- Validar requisitos com as partes interessadas
- Elaborar design de solução e modelo de dados
- Rever design com a arquitectura para garantir conformidade
- Obter aprovação formal antes de iniciar o desenvolvimento
Os developers implementam as funcionalidades seguindo os standards de codificação definidos, com criação de testes unitários como parte integrante do desenvolvimento. O código é desenvolvido em branches isoladas e submetido para revisão através de pull request.
Passos chave
- Criar branch de desenvolvimento a partir da branch correcta
- Implementar código seguindo standards e clean code principles
- Escrever testes unitários com cobertura adequada
- Documentar código e actualizar documentação técnica
- Submeter pull request para code review
O code review é realizado por pares e, quando necessário, com envolvimento da arquitectura para decisões de design. Ferramentas de análise estática de código (linting, SAST) são executadas automaticamente. O objectivo é garantir qualidade, segurança e manutenibilidade antes de avançar para testing.
Passos chave
- Executar análise estática de código e verificar resultados
- Realizar code review por pelo menos um par
- Verificar conformidade com standards de codificação
- Identificar e documentar issues de segurança ou dívida técnica
- Aprovar ou solicitar alterações ao pull request
A equipa de QA executa testes de integração, funcionais e de regressão, complementando os testes unitários criados pelos developers. O testing garante que o software cumpre os requisitos definidos e não introduz regressões em funcionalidades existentes.
Passos chave
- Preparar ambiente de teste e dados de teste
- Executar testes de integração e funcionais
- Executar testes de regressão para funcionalidades existentes
- Documentar e registar defeitos encontrados
- Verificar correcções e fechar defeitos resolvidos
O pipeline de integração e entrega contínuas automatiza o build, execução de testes e deployment para os ambientes de staging e produção. A gestão do pipeline garante que o processo de release é repetível, auditável e com rollback disponível.
Passos chave
- Configurar e manter pipelines de CI/CD com stages de build, test e deploy
- Garantir que cada merge despoleta o pipeline de forma automática
- Implementar gates de qualidade que bloqueiem deploys com falhas
- Monitorizar métricas de lead time e deployment frequency
- Assegurar capacidade de rollback rápido em caso de falha
O dev manager e a arquitectura monitorizam e gerem a dívida técnica acumulada, garantindo que não compromete a manutenibilidade e operabilidade do software a longo prazo. A dívida técnica é registada, priorizada e abordada em ciclos de melhoria planeados.
Passos chave
- Registar dívida técnica identificada durante o desenvolvimento e code review
- Calcular o rácio de dívida técnica com ferramentas de análise de código
- Priorizar itens de dívida técnica por impacto e esforço
- Alocar capacidade de desenvolvimento para remediação em cada sprint
- Monitorizar evolução da dívida técnica ao longo do tempo
O dev manager analisa periodicamente as métricas do processo de desenvolvimento para identificar oportunidades de melhoria na velocidade, qualidade e fiabilidade das entregas. Os resultados alimentam a governance do SDLC e o plano de capacidade da equipa.
Passos chave
- Rever métricas de velocidade (story points, throughput)
- Analisar tendência de defeitos por release e por equipa
- Avaliar lead time de alterações e deployment frequency
- Realizar retrospectiva com a equipa para identificar melhorias
- Actualizar standards e políticas com base nas lições aprendidas
Modelo RACI
| Actividade | Dev manager (DM) |
Developers (DEV) |
Quality assurance (QA) |
Arquitectura (AR) |
Service owner (SO) |
|---|---|---|---|---|---|
| Governance do SDLC | A | I | I | R | I |
| Requisitos e design | A | R | C | C | C |
| Desenvolvimento | A | R | I | C | - |
| Revisão de código e qualidade | A | R | R | C | - |
| Testing | A | C | R | I | I |
| Gestão do pipeline CI/CD | A | R | C | C | I |
| Gestão da dívida técnica | A | C | I | R | I |
| Revisão do processo | RA | C | C | C | I |
Métricas e KPIs
| Métrica | Descrição | Target sugerido |
|---|---|---|
| Velocity | Story points entregues por sprint, indicador de produtividade e previsibilidade da equipa | Tendência estável ou crescente |
| Defect density | Número de defeitos por 1000 linhas de código ou por story point entregue | Tendência decrescente |
| Cobertura de testes | Percentagem de código coberta por testes automáticos (unitários e integração) | > 80% |
| Lead time to production | Tempo médio desde o commit até ao deploy em produção, indicador de eficiência do pipeline | < 1 dia |
| Rácio de dívida técnica | Percentagem do tempo estimado para remediar dívida técnica face ao custo total de desenvolvimento | < 5% |
| Deployment frequency | Número de deploys para produção por semana, indicador de maturidade do processo de entrega | > 1 por semana |
Interfaces com outros processos
Gestão de portfolio
O portfolio de serviços define quais os produtos e funcionalidades a desenvolver, estabelecendo prioridades e dependências para o pipeline de desenvolvimento.
Gestão de arquitectura
Os princípios e standards de arquitectura guiam as decisões de design e tecnológicas durante o desenvolvimento, garantindo coerência no ecossistema de software.
Change enablement
Cada release de software é tratada como uma mudança e processada pelo change enablement para aprovação e coordenação com outros processos antes do deploy em produção.
Gestão do conhecimento
Documentação técnica, decisões de arquitectura (ADR) e soluções de problemas complexos alimentam a base de conhecimento para reutilização futura.
Gestão de infraestrutura e plataformas
O software desenvolvido corre sobre infraestrutura gerida por este processo. As necessidades de infraestrutura do software são comunicadas para provisionamento e gestão de capacidade.
Gestão de incidentes
Incidentes em produção com causa raiz em defeitos de software originam pedidos de correcção que entram no pipeline de desenvolvimento como itens prioritários.
Descarregar o pack completo
Inclui o processo documentado, template de definição de requisitos, checklist de code review, modelo RACI em Excel e guia de governance do SDLC.