Pular para o conteúdo
A Analogia Errada para o Desenvolvimento de Software
Product Management

A Analogia Errada para o Desenvolvimento de Software

#ágil#agilidade#desenvolvimento#software

Por Rodrigo de Toledo

Publicado em Atualizado em 1 min de leituraK21

Desde quase o começo da história do desenvolvimento de software, a comparação com a construção civil foi largamente utilizada para descrever esse tipo de projeto. São, no entanto, trabalhos de naturezas muito distintas.

Embora tenham evoluído ao longo dos tempos, projetos de construção existem há eras na história da humanidade.

E, em linhas gerais, sua forma de execução se manteve a mesma: uma longa fase de definições e especificações no início que tem como saída um plano, seguida de sua fase de execução.

Parece natural para o ser humano comparar outros tipos de trabalho com um que lhe seja tão familiar.

Os métodos tradicionais de desenvolvimento de software buscaram algo similar com o modelo em cascata e suas fases sequenciais de levantamento e análise de requisitos, especificação, desenvolvimento e testes.

Ainda hoje é comum utilizarem-se as expressões “engenharia ou engenheiro de software”, “arquitetura ou arquiteto de software ”. E até mesmo “construção de software ”, todas vindas da analogia com a construção civil.

Por que métodos tradicionais de desenvolvimento de software não funcionam?

O livro Wicked Problems, Righteous Solutions (DeGrace & Stall, 1990 apud. Sutherland, 2004) já descrevia em 1990 as razões por que métodos tradicionais de desenvolvimento de software não funcionam, a partir de suas prerrogativas básicas:

  • requisitos não são completamente compreendidos antes do início do projeto;
  • usuários só sabem exatamente o que querem após ver uma versão inicial do produto;
  • requisitos mudam frequentemente durante o processo de desenvolvimento;
  • novas ferramentas e tecnologias tornam as estratégias de desenvolvimento imprevisíveis.

Sabemos, portanto, que comparar projetos de desenvolvimento de software com projetos de construção civil não faz sentido. A analogia simplesmente não funciona.

Perguntas frequentes

Por que a comparação entre desenvolvimento de software e construção civil é incorreta?

A comparação é incorreta porque a construção civil baseia-se em fases sequenciais com planejamento longo e execução previsível. Já o desenvolvimento de software lida com alta incerteza. Aplicar o modelo em cascata sequencial da construção ao software ignora a necessidade de adaptação contínua, pois requisitos mudam e o processo não é totalmente previsível como uma obra tradicional.

Quais termos do desenvolvimento de software foram herdados da construção civil?

Vários termos comuns no mercado de tecnologia foram derivados diretamente da analogia com a construção civil. Entre as expressões mais conhecidas estão engenheiro de software, arquitetura ou arquiteto de software e construção de software. Esses conceitos surgiram da tentativa histórica de aplicar métodos tradicionais e fases sequenciais de engenharia ao contexto de criação de softwares.

Por que os requisitos de um software não podem ser totalmente definidos no início do projeto?

Os requisitos de um software não podem ser totalmente compreendidos antes do início porque os usuários geralmente só descobrem o que realmente precisam após interagirem com uma versão inicial do produto. Além disso, os requisitos mudam com frequência durante o desenvolvimento, tornando ineficiente a tentativa de especificar tudo antecipadamente como em projetos tradicionais.

Por que os métodos tradicionais de desenvolvimento de software costumam falhar?

Os métodos tradicionais falham porque pressupõem estabilidade em um cenário imprevisível. Segundo o livro Wicked Problems, Righteous Solutions, os requisitos não são totalmente conhecidos no início, mudam frequentemente durante o processo, os usuários só definem o que querem ao verem o produto inicial e novas tecnologias tornam a estratégia imprevisível.

Pronto pra dar o próximo passo?

Conheça os cursos da K21 e leve essas ideias pra prática com quem vive agilidade todo dia.

Ver cursos K21

Continue lendo