A arte de desenvolver software Um processo humano de criatividade, técnica e estratégia
Matheus Castiglioni
Conteúdo
Na era da automação e da entrega contínua, este livro propõe enxergar o desenvolvimento de software como um processo humano, criativo e estratégico — não apenas técnico. Matheus Castiglioni mostra como compreender problemas, lidar com a complexidade e tomar decisões conscientes para criar sistemas sustentáveis e com propósito.
Mais do que ensinar tecnologias, a obra valoriza habilidades que a IA não substitui: pensamento crítico, visão sistêmica, responsabilidade técnica e tomada de decisão. Um convite para usar a IA como aliada sem perder o controle da própria carreira.
Sumário
- 1. Comece bem
- 1.1 Visão geral do capítulo
- 1.2 Entendendo o problema antes da solução
- 1.3 Análise de requisitos na prática
- 1.4 Boas perguntas na prática: de perguntas vagas a respostas valiosas
- 1.5 Ferramentas para entender melhor o problema
- 1.6 Conclusão: do problema à arquitetura
- 1.7 Exercício prático: comece bem o seu próximo projeto
- 2. Calculando a complexidade do problema
- 2.1 Visão geral do capítulo
- 2.2 Por que analisar a complexidade do problema?
- 2.3 As dimensões da complexidade
- 2.4 Ferramentas para análise de complexidade
- 2.5 Casos práticos: analisando complexidade
- 2.6 Reduzindo complexidade: estratégias práticas
- 2.7 Conclusão: da análise à arquitetura
- 2.8 Exercício prático: analise a complexidade do seu projeto
- 3. Medindo o custo de desenvolvimento
- 3.1 Visão geral do capítulo
- 3.2 Por que entender todos os custos?
- 3.3 As dimensões do custo
- 3.4 Tipos de custos
- 3.5 Ferramentas para análise de custos
- 3.6 Casos práticos: analisando custos reais
- 3.7 Reduzindo custos: estratégias práticas
- 3.8 Custos ocultos: os que não vemos (mas pagamos)
- 3.9 Conclusão: custos como ferramenta de decisão
- 3.10 Exercício prático: analise os custos do seu projeto
- 4. Planejamento
- 4.1 Visão geral do capítulo
- 4.2 Por que planejar?
- 4.3 Os níveis do planejamento
- 4.4 Da estratégia ao roadmap
- 4.5 Técnicas de planejamento
- 4.6 Planejamento de sprint/iteração
- 4.7 Execução e acompanhamento
- 4.8 Erros comuns e como evitá-los
- 4.9 Casos práticos: planejamento na prática
- 4.10 Conclusão: planejamento como arte e ciência
- 4.11 Exercício prático: crie um plano para seu projeto
- 5. Desenhando um rascunho da primeira proposta
- 5.1 Visão geral do capítulo
- 5.2 Por que criar uma proposta antes de começar?
- 5.3 O que compõe uma proposta?
- 5.4 Product Requirements Document (PRD)
- 5.5 Diagramas C4: uma linguagem para arquitetura
- 5.6 Architecture Decision Records (ADRs)
- 5.7 Documentação de APIs e contratos
- 5.8 Modelo de dados e fluxos
- 5.9 Estratégia de implementação
- 5.10 Design Technical Document (DTD)
- 5.11 Iteração sobre a proposta
- 5.12 Ferramentas e práticas
- 5.13 Casos práticos: propostas na prática
- 5.14 Erros comuns e como evitá-los
- 5.15 Conclusão: da proposta ao código
- 5.16 Exercício prático: crie uma proposta para seu projeto
- 6. Concebendo o sistema
- 6.1 Visão geral do capítulo
- 6.2 Por que conceber antes de desenvolver?
- 6.3 O que compõe a concepção do sistema?
- 6.4 Configurando o ambiente de desenvolvimento
- 6.5 Definindo padrões e convenções
- 6.6 Ferramentas de qualidade
- 6.7 Estrutura de testes
- 6.8 Versionamento e workflows
- 6.9 Documentação inicial
- 6.10 CI/CD básico
- 6.11 Erros comuns e como evitá-los
- 6.12 Casos práticos: concepção na prática
- 6.13 Conclusão: da concepção ao código
- 6.14 Exercício prático: conceba o sistema do seu projeto
- 7. Implementação
- 7.1 Visão geral do capítulo
- 7.2 Por que implementação é diferente de "apenas codificar"?
- 7.3 Desenvolvimento incremental: construindo em pequenos passos
- 7.4 Test-Driven Development (TDD)
- 7.5 Code review: qualidade através de colaboração
- 7.6 Refatoração contínua
- 7.7 Integração contínua e deploy
- 7.8 Preparação para produção
- 7.9 Pós-lançamento: operação e evolução
- 7.10 Erros comuns e como evitá-los
- 7.11 Casos práticos: implementação na prática
- 7.12 Conclusão: da concepção ao código em produção
- 7.13 Exercício prático: implemente uma feature completa
- 8. Conclusão
- 8.1 Uma jornada de compreensão
- 8.2 Os princípios fundamentais
- 8.3 O caminho à frente
- 8.4 Uma reflexão final
- 9. Próximos passos
- 9.1 Onde estamos e para onde vamos
- 9.2 O que fazer agora?
- 9.3 Uma palavra final
- 10. Referências
- 10.1 Referências online
- 10.2 Normas técnicas
Autor

Matheus Castiglioni
Matheus Castiglioni é arquiteto de software, engenheiro e autor com mais de uma década de experiência em desenvolvimento de software. Ao longo de sua carreira, trabalhou em projetos de diferentes escalas e complexidades, desde startups até grandes corporações, sempre buscando equilibrar excelência técnica com o valor de negócio.
Dados do produto
- Número de páginas:
- 400
- ISBN:
- 978-85-5519-432-0
- Data publicação:
- 06/2026