Apesar dos softwares serem produtos definidos, reprodutíveis e na maioria das vezes determinísticos, o seu desenvolvimento implica na canalização da criatividade, na capacidade de trabalhar colaborativamente e enfrentar desafios como a integração de elementos já disponíveis. Para que isso seja possível e agradável, é fundamental que o(a) programador(a) entenda o processo de desenvolvimento que vai além de simplesmente codificar seu raciocínio numa linguagem de programação. Serão apresentados problemas essenciais e acidentais da programação e diferentes maneiras de abordá-los, indo desde a ansiedade de programar até os modernos ambientes de teste contínuo.
Ao concluir o curso, o(a) aluno(a) terá condições de:
- Analisar criticamente as técnicas e ferramentas apresentadas.
- Escolher quais delas mais se adequam à sua realidade.
- Pesquisar o tema por conta própria.