Por que muitas empresas falham ao construir software?
Nunca estudei tanto sobre desenvolvimento de software como ultimamente. Tem a pós em Engenharia de Software que ensina o estado-da-arte dos anos 90 e todas as práticas adotadas pela maioria esmagadora das empresas de software tradicionais, tem os livros de desenvolvimento moderno (The Art of Lean Software Development, Making Software, etc.) e por último, e mais importante, o curso Welcome to the Django.
E não vou parar tão cedo ;)
Nesse final de semana fiquei pensando em por que até hoje, com várias ferramentas, técnicas e práticas para se produzir um bom software, tantos projetos falham por erros já tão batidos e evitáveis. Não cheguei a nenhuma resposta, mas fiz várias perguntas.
AVISO: O contexto aqui são as tradicionais fábricas de software e os velhos departamentos de TI das empresas cuja a atividade fim está longe de ser tecnologia.
-
Por que as empresas insistem em colocar o cliente no papel de vilão?
-
Por que as empresas insistem em achar que requisitos não vão mudar?
-
Por que as empresas insistem em trabalhar no modelo cascata, fingindo que usam o RUP, ou algum processo do mundo real?
-
Por que as empresas não investem em times de arquitetura colaborativos?
-
Por que as empresas adotam tecnologias por meio de critérios bizarros?
-
Por que as empresas acham que desenvolvimento ágil é igual à software sem análise e sem documentação?
-
Por que as empresas não usam projetos open source sempre que possível?
-
Por que as pessoas acham que desenvolvimento ágil é colocar um videogame na sala ao lado, comprar um monte de post-its e falar que o Scrum é seu novo processo de desenvolvimento de software?
-
Por que as pessoas gostam de fazer tudo na mão, mesmo com ferramentas de automação disponíveis pra tudo quanto é lado?
-
Por que os melhores desenvolvedores viram analistas e passam a achar que colocar a mão em código é humilhante?
-
Por que clientes devem pagar caro por produtos de software medíocres?