time

Qual o nível de conhecimento técnico que um analista deve ter?

Postado em Atualizado em

A cada dia que passa nos deparamos com novas tecnologias no desenvolvimento de software. Surge uma nova versão do sistema operacional ou browser, um novo banco de dados, um novo smartphone ou tablet, um novo framework ou padrão de desenvolvimento, e assim por diante. Isso sem falar em novas regras de negócio, modelos administrativos, ferramentas de modelagem, indicadores de desempenho, etc. Ou seja, estamos sempre correndo atrás da máquina. Quanto mais estudamos, mais nos deparamos com coisas novas e percebemos que de fato sabemos pouco diante da imensidão do mundo de TI.

A partir disso, muitas vezes me questiono: “Quanto de conhecimento técnico eu preciso saber? Qual o nível mínimo de conhecimento que eu preciso?” Acredito que essa seja uma questão recorrente para muitos analistas de negócio, pois geralmente focamos nas regras de negócio, nas ferramentas de especificação de requisitos, gestão de demandas e outras atividades mais administrativas e menos técnicas. Com isso, em algumas especificações de requisitos a falta desse conhecimento técnico mais apurado sobre alguns assuntos, dificulta na especificação e passagem da necessidade para a equipe de desenvolvedores.

Torna-se muito mais simples a passagem da necessidade para um desenvolvedor quando realmente sabemos o que ele pode fazer. Não ficamos imaginando e pedindo o impossível e focamos realmente no que é viável. Além disso, a linguagem utilizada é muito mais direta e objetiva, facilitando muito a comunicação e compreensão das coisas tanto pelo desenvolvedor quanto pelo analista. Mas para isso acontecer, ambos devem estar com um nível semelhante de conhecimento.

O problema todo é que é muito difícil acompanhar a evolução técnica. Naturalmente, o analista acaba se distanciando da parte técnica e focando em questões mais de negócio mesmo. Para acompanhar tudo de forma efetiva, seria necessário trabalhar 24 horas por dia e 7 dias por semana. E não tenho certeza se conseguiríamos mesmo assim. Não podemos querer abraçar o mundo. Temos que entender que cada função possui suas atribuições principais. É do jogo mesmo. Um time de futebol não pode ser composto por 11 goleiros. Precisa ter também os zagueiros, laterais, meias e atacantes. Cada um com sua função e onde produz melhor. Mas o objetivo final é que o time vença. E no desenvolvimento de software é a mesma coisa.

Acredito que os analistas de negócio não devem abandonar totalmente a questão técnica. Devemos acompanhar vídeos, blogs e sites de referências para que estejamos cientes sobre o que há no mercado e as tendências que estão surgindo. Devemos utilizar redes sociais e ferramentas que nos mantenham “antenados” sobre as tecnologias existentes. Mas não precisamos saber fazer ou sermos especialistas nisso. Saber que existe e onde buscar se for necessário, já é um grande caminho. Ter experiência no passado como desenvolvedor também é algo saudável para entender as dificuldades e problemas enfrentados na geração de código-fonte.

Mas acima do conhecimento técnico que o analista deve ter, deve existir confiança e humildade no time. Se o analista não conhece detalhes técnicos, mas sabe que o time pode apoiar e ajudar na especificação, não deve exitar em pedir ajuda e especificar a necessidade em conjunto com a equipe técnica. O contrário também é verdadeiro. Ou seja, se a equipe técnica tem dúvida sobre regras de negócio ou como mapear um critério de aceitação ou modelagem no banco de dados, também deve sempre buscar apoio no analista. Ser humilde e reconhecer que há pessoas mais qualificadas para apoiá-lo é algo fundamental. E sempre pensar no coletivo e não no individualismo. Não queremos heróis e sim times coesos capazes de atingir os objetivos esperados.

Você confia nas pessoas do seu time?

Postado em Atualizado em

Lendo o post “Não quero gerentes, mas pessoas capazes de gerenciar” do Daniel Wildt que é muito bom e está em linha com o que acredito também, veio a inspiração para esse novo post. 😉 Falarei um pouco sobre confiança. Sim, confiança. Assunto não técnico, mas que tem muito a ver com análise de negócio, relações entre pessoas de um time, liderança e trabalho em equipe.

Delegar responsabilidades não é algo simples. É importante saber delegar. Passar uma tarefa a alguém e esperar que ela faça exatamente o que você faria não é a forma adequada. Muito pelo contrário. É um sinal claro de desconfiança. As pessoas sempre farão diferente do que você faria. Isso é natural, pois cada pessoa é diferente com seu conhecimento, habilidade e atitude (CHA). Se você quer que as coisas sejam exatamente como você espera, o melhor é que você mesmo faça. Caso contrário, a chance de frustração é bem grande.

Além disso, encontrar as pessoas que possuem a aptidão e perfil adequado para desenvolver algumas funções também é delicado. Devemos conhecer as pessoas e saber o que cada pessoa do time é capaz de executar. Cobrar algo de alguém que não tem o perfil adequado, com certeza é um tiro do pé. A relação de confiança da pessoa com o restante do time ficará abalada, pois a execução da tarefa não se dará de forma adequada, já que o perfil da pessoa não é o adequado para tal execução.

O mais importante de tudo é confiar nas pessoas do time. O que quero dizer com isso? Quero dizer que devemos passar uma tarefa para a pessoa e ter certeza que ela dará um jeito de resolver. Se ela não conseguir resolver, ela deverá avisar. Mas não devemos ficar cobrando se está indo ou não, ou como fez. Se delegou a tarefa, e deixou claro o que deve ser feito, não deve se preocupar como ela será feita. Importante é que o objetivo seja alcançado. E a pessoa deve ser responsável o suficiente para executar a tarefa e dar feedback a fim de continuar tendo a confiança do líder e de todo o time. Isso faz com que o time seja auto gerenciável, sem necessidade de cobranças e controles excessivos.

Quem não passou por situações onde o gerente ou diretor ficou cobrando as coisas diariamente, semanalmente ou mensalmente? Isso na minha visão, é total falta de confiança no time ou nas pessoas. Claro que o time deve dar retorno sobre o andamento da tarefa. Mas muitas vezes, nem consegue iniciar a execução, que já vem outra cobrança. Um time somente cresce quando há confiança. Se o líder não confia no time, não serão criadas novas lideranças e não irá ocorrer crescimento individual. O mesmo serve para a confiança entre as próprias pessoas do time. Com a desconfiança entre as pessoas, irão surgir “heróis” que sempre ficarão com as tarefas mais difíceis e irão se tornar gargalos, não propiciando o crescimento das demais pessoas através do repasse de conhecimento.

A confiança é a base de qualquer relação. E é sobre esse pilar que devemos construir o relacionamento entre as pessoas do time. Lendo o livro Transformando Suor em Ouro do Bernardinho, que sem dúvida nenhuma é um grande líder, podemos tirar algumas lições importantes que devem ser aplicadas nos times:
– Deve-se sempre fomentar as lideranças no time
– Nunca esquecer que a vaidade é inimiga do espírito de equipe
– Buscar o “brilho da vitória” no olhar das pessoas do time
– Combater o desperdício do talento. É fundamental conhecer as pessoas para motivá-las
– Quanto mais o gestor mostrar que acredita no potencial das pessoas do time e se dedicar a elas, maior será a produtividade

Para finalizar, reforço a necessidade de aumentar cada vez mais a confiança entre as pessoas do time. Cada pessoa deverá ser responsável por suas atividades de acordo com sua aptidão. Mas para conquistar a confiança de todos, é necessária muita responsabilidade sobre as tarefas executadas.