Gerentes e desenvolvedores — Processo de transformação

Numa conversa com a minha amiga Jéssica Rodrigues, aspirante a Project Manager de TI, ela citou um ponto que é comum na maior parte dos projetos da nossa área, existe uma grande diferença no conhecimento técnico entre gerentes e desenvolvedores. Isso dificulta a delegação de tarefas pelo gerente e para os desenvolvedores explicarem seus prazos.

Mas acabei percebendo que não tentamos resolver este gap, fica cada grupo defendendo o seu lado, o gerente reclamando que os desenvolvedores não cumprem os prazos ou estão enrolando, e do outro lado, como os gerentes são incompreensíveis ou leigos demais. Quero a partir deste post começar uma série de textos voltados para os gerentes com o objetivo de preencher esta lacuna entre as partes, espero que assim tenhamos resultados melhores nos projetos.


Processo de transformação

Eu sou um desenvolvedor e sei que o meu trabalho é pegar um dado bruto e gerar alguma informação útil para as pessoas, auxiliando elas na tomada de decisão. Por exemplo, imagine que estamos desenvolvendo a tela de extrato do internet banking, as movimentações financeiras são os dados brutos, devemos pegar estes dados e agrupá-las por data e oferecer um subtotal para o cliente, assim facilitamos a análise das movimentações e fornecemos uma forma fácil para ele analisar os gastos diários.

Entendendo o trabalho de um desenvolvedor fica mais fácil delegar tarefa, precisamos entender quais são os dados brutos disponíveis e quais informações queremos que o desenvolvedor entregue. Precisamos descrever o processo de transformação do dado bruto, utilizando o exemplo anterior, podemos descrever da seguinte forma:

Temos as movimentações financeiras por data, uma movimentação financeira consiste numa descrição e um valor que pode ser negativo ou positivo, precisamos ordenar as movimentações por data decrescente e disponibilizar um subtotal por dia, este valor é obtido pela soma do valor das movimentações do dia.

Conseguimos descrever a entrada, como transformá-la e o que esperamos dessa transformação. O diagrama abaixo ilustra melhor este processo.


Encadeando processos

Quando temos processos maiores ou mais complexos parece difícil fazer uma descrição sucinta da entrada e a saída esperada, o caminho nesse caso é entender que processos maiores são compostos por processos menores e o encadeamento entre eles gerá os resultados esperados. A imagem abaixo é um exemplo do encadeamento de processos.

É importante que o gerente e um desenvolvedor mais sênior façam a decomposição dessas tarefas mais complexas para assim delegar em tarefas pequenas, rapidamente tangíveis e mensuráveis. Ao decompor as tarefas o desenvolvedor consegue mostrar ao gerente a sua complexidade e justificar o tempo necessário para desenvolve-las.


Espero que este artigo ajude os gerentes iniciantes da área de TI. Estarei escrevendo mais sobre o processo de desenvolvimento, buscando sempre preencher a lacuna entre gerência e desenvolvedores. Se tiverem alguma sugestão, coloquem nos comentários.

Projetos se tornam bem sucedidos quando todas as partes se envolvem.

Abraço!