terça-feira, 3 de setembro de 2013

Os desafios dos projetos envolvendo inovação e tecnologias geoespaciais

Já estou há mais de 6 anos envolvido com projetos que conjugam simultaneamente 3 características:  inovação (as funcionalidades que envolvem o projeto não são encontradas em outras outras soluções, nem mesmo em outros países), escopo muito grande (cronograma físico de alguns anos e orçamento na faixa de milhões de reais) e tecnologias geoespaciais (o coração da solução se baseia num banco de dados espacial).

Ao longo destes projetos, uma das minhas principais preocupações estava relacionada à equipe técnica. Além da seleção e da formação, a garantia da contínua motivação da equipe estava sempre me "tirando o sono". A motivação influencia diretamente a produtividade e confesso que tive dificuldades em garantir esta motivação com um mercado de TI cuja rotatividade de profissional é muito alta.

No decorrer da minha carreira, eu tive a oportunidade de coordenar alguns projetos que me permitiram fazer algumas análises sobre a motivação da equipe de analistas de requisitos e desenvolvedores. Neste ponto, posso afirmar que as tecnologias geoespaciais trouxeram inovação e, consequentemente, desafios que se converteram numa excelente "engrenagem de motivação". Quanto maior o desafio, maior era o comprometimento da equipe. Apesar da inovação ter introduzido esta "engrenagem" nos projetos, o fato negativo é: quanto maior a inovação, maiores são as incertezas com relação ao cronograma físico e, consequentemente, o financeiro do projeto também entra numa área de incertezas.

Dos meus trabalhos mais recentes, um projeto que colocou à prova toda a equipe envolvida foi na área de agronegócios. Neste projeto, na parte referente à Engenharia, eu tive que criar modelos matemáticos a partir das medidas relativas a cada máquina agrícola para poder gerar mapas temáticos de forma automática. A estratégia definida foi organizar o processamento em 2 passos, através de uma arquitetura  capaz de processar, em tempo real, um grande volume de dados. Esta arquitetura foi o primeiro grande desafio que envolveu toda a equipe na concepção e refinamento da mesma. No primeiro passo, os dados brutos do protocolo de cada máquina eram processados para gerar um conjunto de tabelas no banco de dados espacial com feições geográficas mais simples que serviriam como base para o processamento final de cada tipo de mapa. No segundo passo, o servidor de mapas (MapServer, mapserver.org) executava uma query para gerar o modelo final dos mapas temáticos em tempo real.

Outro grande desafio foi a implementação dos algoritmos dos modelos matemáticos integrados com o MapServer, mais especificamente foi utilizado o PHP/MapScript, a interface PHP para acesso aos recursos (API) do MapServer. Neste ponto, trabalhei integrado com os programadores para avaliar continuamente os resultados gerados em cada algoritmo. Era necessário ter a certeza da qualidade final dos mapas gerados, afinal de contas, é por isso que eu assino o Atestado Responsabilidade Técnica (ART, registrado junto ao CREA) de cada projeto que sou responsável. Nos gráficos a seguir, eu apresento as etapas da criação dos mapas temáticos automatizados.

A primeira etapa do processo é o rascunho do modelo matemático. Normalmente faço isso no papel. Isso pode soar estranho vindo de alguém que trabalha para "eliminar o papel" dos processos de negócios dos clientes, mas ainda considero o papel o ambiente mais livre para rascunhar as primeiras ideias (peço que perdoem os meus "garranchos"). 


A segunda etapa do processo é um relatório técnico contendo todas as fórmulas a serem aplicadas, bem como o detalhamento de cada uma delas visando a implementação dos algoritmos por parte dos desenvolvedores.


O resultado final desta "matemágica" é um lindo mapa gerado automaticamente. Se uma pessoa fosse fazer este mapa de forma manual usando um Desktop GIS, por exemplo, levaria semanas. Para a equipe que participou do projeto (desenvolvedores e analistas de requisitos), a cada novo mapa gerado era um motivo de orgulho e motivação. A título de curiosidade, a arquitetura da solução que possibilitou a geração do mapa abaixo foi composta pelos seguintes componentes: PHP, PostgreSQL/PostGIS, OpenLayers e MapServer.


Em cada projeto, é preciso avaliar bem os riscos envolvidos e buscar a melhor forma de como lidar com cada um deles. Em alguns casos, os desafios promovidos pela inovação podem se converter em uma dedicação e comprometimento maior da equipe. Num projeto envolvendo desenvolvimento de sistemas, boa parte dos riscos normalmente terá uma relação direta ou indireta com a equipe técnica, pois o processo produtivo depende basicamente da capacidade criativa das mentes das pessoas envolvidas. Este processo é diretamente afetado pela forma na qual o coordenador do projeto (que pode exercer também o papel de gerente de projeto) lida com os desafios e com a equipe técnica envolvida.

Imagem cortesia de sheelamohan / FreeDigitalPhotos.net

2 comentários:

Marcello Benigno disse...

Muito bom Helton, parabéns.

Helton Nogueira Uchoa disse...

Oi professor Marcello, agraço o seu elogio. Acompanho e admiro os seus trabalhos que muitas vezes envolve software livre. Precisávamos de mais professores como você. :)