Trabalho em Equipe no Desenvolvimento de Sistemas


Autor: Paulo Alcion de Oliveira - GPS

A acelerada evolução da Tecnologia da Informação tem trazido profundos impactos em diversas frentes envolvidas em sua aplicação. Uma destas frentes refere-se à forma de trabalho dos técnicos e das equipes de desenvolvimento de sistemas. As constantes mudanças verificadas nas tecnologias de desenvolvimento, associadas às também contínuas mudanças do perfil e exigência dos Clientes, têm demandado dos desenvolvedores e das equipes uma significativa adaptação nos seus processos, práticas e forma de organização. Até há pouco tempo o analista dependia fortemente dele mesmo para garantir o sucesso no desenvolvimento de um sistema. Para isto tinha de possuir, além da experiência, conhecimento das técnicas e processos de desenvolvimento. Demandava treinamento que visasse capacitá-lo a desempenhar suas atividades e um período para que pudesse aperfeiçoar seus conhecimentos na prática. Tudo isto demandava tempo. Este tempo requerido passou a tornar-se incompatível com a agilidade necessária para a assimilação das evoluções e a sua aplicação nas soluções demandadas pelos Clientes.

A Internet é um exemplo pois, muito mais do que uma tecnologia, mostra-se como um meio facilitador para o desenvolvimento de aplicações, apresentando uma série de novas possibilidades na forma de novas tecnologias, técnicas e ferramentas. Também amplia em muito as possibilidades de troca de experiências entre os desenvolvedores, já que reduz a distância entre eles - por exemplo: se precisamos de uma solução para um determinado problema, podemos entrar em uma lista de discussão, apresentá-lo e depois selecionar qual a melhor solução entre aquelas que nos são apresentadas. Tudo muito ágil, sem a necessidade de partir para um longo estudo de alternativas, que certamente demandaria tempo - que em certos momentos não temos.

Se não há mais tempo para o analista adquirir os conhecimentos necessários, como fazer para garantir a qualidade dos sistemas a serem desenvolvidos? Experiências da empresa demonstram que o conhecimento não precisa ser todo adquirido por uma única pessoa, podendo estar "espalhados" pelos componentes da equipe de desenvolvimento. O sucesso dependerá da qualidade do processo de gerenciamento do trabalho do grupo envolvido no projeto. Neste sentido a equipe precisa ser organizada para o máximo aproveitamento das capacidades de cada componente, sendo que estas devem ser maximizadas, através de um constante processo de reciclagem e auto-estudo.

Componentes com conhecimento no negócio são importantes pois darão o suporte negociável necessário para identificação do problema e garantir uma solução adequada - não havendo na equipe alguém com este conhecimento é necessária a seleção e a incorporação. Outros que sejam responsáveis pela qualidade dos bancos de dados, através da adoção de um processo adequado de administração de dados e de banco de dados. Outro grupo será responsável pela elaboração da interface com o usuário, procurando não somente desenvolver, mas verificando a possibilidade de utilização, parcial ou total, de soluções de mercado. Um grupo para administrar o ambiente operacional, verificando as necessidades de evolução frente às necessidades do desenvolvimento e da implantação dos sistemas desenvolvidos. Por fim, o grupo de gestores de projetos que ficariam responsáveis por gerenciar as atividades do grupo envolvido no projeto - envolvendo processos de levantamentos, especificações da estrutura e arquitetura, contratações, acompanhamentos e avaliações de produtos.

O sucesso no resultado do trabalho em equipe é algo que motiva, muito mais do que resultados individuais. Todos podem ser aproveitados podendo utilizar melhor suas capacidades em benefício do grupo e do resultado final. As experiências de trabalho em equipe permitem que os conhecimentos de cada componente sejam assimilados pelos demais, possibilitando liberação de tempo para reciclagem dos conhecimentos. Dependendo da quantidade de componentes da equipe e do volume de demandas, alguns analistas podem assumir uma ou mais funções - por exemplo: o componente com conhecimento do negócio ou o encarregado pela interface pode assumir a gestão do projeto. Fazem sabendo que é algo momentâneo, ligado a uma situação especial, ficando atento ao seu principal papel na equipe.

A tendência inicial neste tipo de organização de equipe seria dos especialistas participarem desde o início do projeto junto ao Gestor. Isto ocorre pois o gerente não tem conhecimento completo e procura a segurança da participação de todos desde as fases iniciais do projeto. Isto tem de ser evitado, já que a capacidade produtiva é finita, não permitindo que um especialista participe em tempo integral de todos os projetos.

O gestor deve acionar adequadamente os especialistas durante as fases do processo de desenvolvimento. O especialista no negócio será acionado durante as fases de levantamentos. A partir de uma visão clara das necessidades, o gestor aciona todos os especialistas para uma discussão sobre a estrutura e arquitetura da solução. A partir disto os especialistas serão acionados dependendo das fases: o de dados, chamado a participar na fase de montagem de modelo de dados e de especificação do banco de dados; o de interface, na fase de especificação da solução e de projeto de interface, e o de ambiente, na especificação da infra-estrutura operacional do sistema. Com o projeto concluído, uma revisão técnica com todos os especialistas é importante para os ajustes finais. O importante é o gestor possuir domínio sobre a solução como um todo, não necessariamente tendo o conhecimento completo e detalhado de todas as suas partes.

A partir do projeto o gestor parte para o processo de contratação do desenvolvimento com a equipe, de acordo com os requisitos de prazos definidos junto ao cliente. Aciona os especialistas de dados, interface e ambiente, contratando as atividades a serem desenvolvidas. Também aciona o especialista no negócio quanto houver a necessidade de detalhar algum procedimento junto aos outros componentes do projeto. Acompanha o desenvolvimento das atividades, avalia produtos parciais e estabelece e executa eventuais ações de redirecionamento do andamento do projeto. Avalia o produto final verificando se todas as partes estão adequadamente integradas. Busca constante acompanhamento das atividades junto ao cliente do projeto, gerenciando as naturais expectativas com relação à entrega dos produtos.

Cabe ressaltar que não existe hierarquia entre os componentes da equipe - todos os envolvidos são responsáveis pelo projeto, afinal o sucesso do trabalho será resultado do empenho de cada componente. Cada um assume uma postura de colocar seus conhecimentos à disposição do grupo, levantando alternativas, decidindo e continuamente reafirmando a importância de sua atividade para o projeto. Tudo isto em um clima em que devem ser observadas as melhores práticas de relacionamento interpessoal.

Várias experiências de sucesso da empresa demonstram a importância do trabalho em equipe - elas certamente contribuem para uma organização mais adequada dos grupos de desenvolvimento e da empresa. A partir do amadurecimento pode surgir a necessidade de formar novos grupos especialistas e melhorias no processo como um todo, garantindo, assim, a evolução do trabalho da empresa.

Todo o processo de organização deve ocorrer tendo como foco principal o atendimento ao Cliente, buscando-se constantemente a agilidade na entrega e qualidade dos produtos.

alcion@celepar.gov.br