segunda-feira, 30 de novembro de 2009

O velho novo projeto


E então, somos chamados a mais uma daquelas intermináveis reuniões para debatermos qual a melhor forma de se apagar um incêndio no sistema xpto. Claro, há uma eminente determinação de todos os presentes, o problema tem que ser resolvido e rápido. O departamento z não pode ficar sem o sistema xpto.
Em meio a tantas soluções, tantas boas ideias, o que fazer? Assim, um novo debate surge e, agora, o foco é descobrir qual é a melhor ideia. Mas afinal, como se mede uma ideia? O que faz dela boa ou má? O testes, talvez, mas temos tempo e dinheiro para testar todas?
Neste momento fica claro o objetivo, o foco: resolver o problema. Mas o ideal não seria focar em não se ter problema? Toda e qualquer decisão tomada em momentos de tensão, ambientes de stress, têm a tendência de partirem para o caminho mais rápido, não o melhor. As decisões, nesses momentos, fluem como a água, buscando o caminho mais rápido. O que não significa que é o melhor caminho.
Incêndio significa fogo sem controle. Assim, é ilusória a máxima “apagar incêndio” do sistema. Tal como há tantas ideias para solucionar consequências, inúmeros podem ser os focos de problemas. O que somos: bombeiros, programadores ou paramédicos?
Finda a reunião, um novo projeto vai surgir para tentar resolver velhos problemas. É incrível o apego de um desenvolvedor com uma aplicação, ao ponto de invocar emoções que o impeçam de ver que a hora do sistema xpto chegou.
Que ele vá com Deus!
Embora triste, há momentos em que é chegada a hora de se tomar a decisão da morte de um sistema. Até porque, se o desenvolvedor assim não o fizer, o cliente pode declarar a morte de quem o fez. Claro, não devemos defender a certeza do que julgamos conhecer contra a incerteza do novo. É um fanatismo.
Quanto tempo se perde re-projetando? Em relação a algo pronto, nem sempre utilizamos a liberdade que a tecnologia nos propões: a da simplicidade. Fazer um projeto para corrigir algo de um projeto que não foi terminado. Isto não é reinventar a roda, é o equivalente a estar sempre comprando uma mesma roda.
De posse bom e velho novo projeto, somos fadados a querer produzir, aumentar. O termo “projeto” nos induz a isto. São raros os projetos de “limpeza de funcionalidades”, “eliminação de comandos”. Ora, queremos evoluir, e por vezes entendemos (compreendemos?) evoluir como sendo a algo (físico) a agregar. Mas deveria ser mais simples, evoluir deveria ser “adaptar-se”, no nosso entendimento. É preciso adaptar a forma de pensar ao invés de pensar em formas de se adaptar.
Por que é tão difícil recomeçar? Porque somos treinados a crer que se deve recomeçar somente após uma queda. “levanta, sacode a poeira e dá a volta por cima!”. No entanto, a decisão de se recomeçar um projeto falho, significa a maturidade de ver que crescemos. É como olhar o código e se espantar: fui eu quem fiz isto? Sim. Fui eu mesmo. É hora de evoluir meu produto, hora de substituí-lo, hora de encerrá-lo. Não há tombo, não há derrota, apenas crescimento.
Apagar incêndios é cíclico e consequencial. Nunca termina. E o pior: sempre sobram cinzas impossíveis de se limpar. E quando acredita estar tudo limpo, ainda resta o cheiro de fumaça.
É hora de olhar para o cliente sob o olhar dele, e não do nosso. Quando deveríamos negar funcionalidades fantasmas, as agregamos, pois somos treinados a produzir funcionalidades e não a interpretá-las. Quando devemos ouvir o cliente sobre o seu negócio, seu domínio, o negamos, pois somos treinados a crer que conhecemos o produto melhor que o cliente e não a produzir em conjunto.
Somos mal treinados? Seguimos uma tendência? Somos egoístas? Não deve haver uma resposta plausível para tal questão, no entanto, sempre há lugar para pensar diferente, agir diferente. Projeto novo, que seja mesmo novo.

3 comentários:

  1. Excelente post. Difícil será comentar td q gostaria. Quem sabe num #horaextra?

    Penso q apagar incêndio faz parte, o problema é não analisar e eliminar suas causa após apagá-lo.

    Concordo com vc sobre adaptação. Essa é sem dúvidas uma das grandes qualidades humanas.

    ResponderExcluir
  2. Isso me parece muito familiar. Realmente essa é a rotina dos analistas de sistema dessa geração. É sempre importante darmos um passo para mudanças.

    ResponderExcluir
  3. Muito maneiro! Gostei particularmente de quando você lembrou bem que evoluir, frequentemente, significa subtrair, ao invés de adicionar.

    ResponderExcluir