Prazo no desenvolvimento de software, qual é a ciência exata?

Pensando igual macaco

Falar de prazo é uma tarefa muito complicada hoje e sempre, pois não existe uma ciência exata (tirando 42), outro ponto que prazo é uma promessa e consequentemente promessa tem que ser cumprida (e você vai fazer de tudo para cumpri-las), com isso trabalhar muito mais para cumprir o que você assumiu (prazo).

Levantando conteúdo para esse blogpost achei no Quora o seguinte topico “What is the hardest thing you do as a software engineer?” (Qual a coisa mais difícil para um engenheiro de software?) e os termos que tem haver com tempo, prazo, horas e etc são os mais falado.

Sou engenheiro de software a mais de 7 anos de experiência passando por diversas empresas, mercados, equipes, é que praticamente todo engenheiro de software que conheci começa com a premissa que “código” é o objetivo e a solução de todo problema.

Para falar mais sobre esse assunto acho necessário sairmos de nossa área de atuação (desenvolvimento de software) e olhar outras área:

  • Ilustrador
  • Produtor de video
  • Design
  • Entre outras profissão que trabalha com a mente…

As áreas relatadas acima trabalham com uma parte mais intelectual onde precisa ter a criatividade para conseguir produzir um conteúdo. Esse final de semana estava almoçando com outros desenvolvedores e um deles foi no evento InterCon onde um palestrante estava apresentando um case de um video de no máximo 1 minuto onde esse 1 minuto envolvia no minimo 5 profissionais e a produtora levou media de 5 mês para desenvolver esse projeto.

Desenvolvimento de software não é diferente das área relatada acima, é uma área intelectual onde você precisa pensar como o software escalar, se o banco de dados relacional vai se sair bem na hora que tiver muito trafego (caso não, qual é a melhor alternativa), qual é melhor design pattern para a implementação a ser feita e outros pontos que envolvem o desenvolvimento de software.

Então aprendam a primeira e mais difícil verdade do mundo: Software normalmente não é resolvido com Software, é resolvido com capacidades Humanas. Numa distribuição de Paretto eu diria que 80% de todo problema de software somente é resolvido quando você investe aqueles 20% restantes em Comunicação, Articulação, Pensamento Claro e Racional, quebra Ambiguidades, Negociação, Compromisso.

Quando você passa um prazo (faz uma promessa) você vai ter que assumir o risco que a proposta inicial vai realmente resolver o problema proposto, e isso nem sempre é possível pois estamos trabalhando com tecnologia e a evolução é constando. Outra que nos engenheiro de software não somos maquinas onde usamos software para escrever software e sim uma cabeça pensante de onde sai toda a logica.

Dito isso, é possível cumprir todas as promessas? Não, infelizmente não é. Mas é nossa responsabilidade como profissionais estar sempre em busca desse ideal, não criar maneiras de evitá-las.

Ou seja, não existe uma ciência exata para prazo!