Como temos acompanhado, o mundo passa por um momento de crise, onde corporações, instituições financeiras e investidores tiveram grandes prejuízos. Empresas tradicionais e seculares foram estatizadas, fecharam as portas ou amargam grandes prejuízos. Isto leva todos - empresas e pessoas - a buscar a redução de despesas, o que desacelera a economia como um todo.
Como desenvolvedores, estamos acostumados a atuar sob pressão de tempos e investimentos limitados, então não existem mudanças neste sentido. O que acontece de novo é que temos um contexto de mudanças muito rápidas se somam a este cenário: Previsões de vendas alteradas com freqüência, demissões e reestruturações, suspensão de investimentos em ferramentas corporativas... tudo é questionável e sujeito a alterações súbitas.
Felizmente existem técnicas e abordagens que as empresas podem utilizar para economizar recursos e tornar-se mais ágeis e produtivas. Apresentá-las é o propósito deste artigo.
A necessidade de desenvolvimento de aplicações de automatização de processos de trabalho se torna mais evidente em períodos de incertezas econômicas: organizações que conseguem responder rapidamente à mudança conseguem preservar-se ou aproveitar oportunidades ou ganhar diferenciais competitivos através de melhores serviços.
Assim, uma estratégia que permita adaptação rápida e de baixo custo torna-se crítica para o sucesso (ou para a sobrevivência).
Em diversas situações não há tempo a perder, onde o processo tradicional de desenvolvimento – que exige que todos os detalhes sejam especificados antecipadamente – não é uma abordagem eficaz.
Um processo mais iterativo, com ciclos menores e maior proximidade com os usuários, onde se desenvolve rapidamente protótipos funcionais com os quais os usuários possam interagir é muito mais poderoso. Naturalmente, não é algo recomendável para soluções de missão critica, mas para aplicações satélite onde a forma correta de solução está sujeita a mudanças.
A vantagem de apresentar rapidamente uma solução parcial aos usuários rapidamente é que se torna possível responder às mudanças com base no uso do sistema. Assim, funções complexas originalmente concebidas para o sistema podem ser identificadas como desnecessárias ou podem ser simplificadas a partir do feedback dos usuários.
Em vários casos, as pessoas não sabem exatamente quais são as funcionalidades realmente necessárias – e justamente este esforço de prever todas as possibilidades e variações que torna o processo tradicional de desenvolvimento tão caro.
Mesmo aplicações planejadas “perfeitamente” podem se tornar inúteis por razões além de nosso controle. As novas regras e leis, as mudanças na economia, mudanças de comportamento de consumidores, novos produtos e concorrentes, podem tornar uma grande aplicação ou tecnologia irrelevante. A capacidade de criar algo rápido, colocar em prática e ajustá-la durante o vôo é uma poderosa habilidade e filosofia. Especialmente em tempos incertos.
Toda organização enfrenta uma série de desafios de desenvolvimento. Alguns exigem soluções corporativas, enquanto outros são melhor enfrentados pela linha de frente de profissionais do conhecimento.
E nestes casos, quanto mais as aplicações puderem automatizar os processos de cálculo, liberando o tempo destes profissionais, maior o valor destas aplicações. Com ferramentas que forneçam informações de qualidade rapidamente, os profissionais do conhecimento liberam-se de tarefas menores de digitação, tratamento de dados e elaboração manual de relatórios, gráficos e apresentações.
E a partir desta constatação que são criadas sofisticadas planilhas ou mesmo bancos de dados em Access pelos próprios usuários, que vão evoluindo e se modificando em resposta as mudanças. E mesmo que estas pequenas soluções não se enquadrem nas melhores práticas ou não tenham uma abordagem mais profissional, elas resolvem os problemas imediatos que não podem ser resolvidos pelas ferramentas corporativas ou pelo departamento de tecnologia/desenvolvimento.
Esta é uma situação comum e normal e é melhor não tentar impedir estes esforços individuais, mesmo sabendo que estas soluções podem ser uma colcha de retalhos difícil e cara de reparar e reestruturar no futuro. Profissionais que buscam a produtividade sempre vão criar tais ferramentas.
A questão da “dificuldade e alto custo de reparo e estruturação” é um ponto central para observarmos. Naturalmente uma aplicação seria melhor desenvolvida por um desenvolvedor profissional desde o principio, e ninguém gosta de consertar o trabalho de outros. Mas o valor e os benefícios de se ter aplicações desenvolvidas por usuários e Power users são reais, uma vez que eles:
Considerando que a maioria das organizações não tem os recursos necessários para resolver a todas as necessidades internas de desenvolvimento, o melhor curso a seguir seria:
Esta última parte é critica. Os desenvolvedores devem apoiar os usuários quando há a necessidade de ajuda, ao invés de reclamar e culpá-los por criar uma situação complexa. Afinal, não sabemos o quanto foi necessário de trabalho e dedicação para atingir este ponto. A melhor abordagem é um esforço de equipe, reconhecendo as inúmeras aplicações que não precisamos desenvolver por terem sido resolvidas pelos próprios usuários.
Telefones: (11) 2985-4003, 2985-4008 e 2985-4009
Rua Luis Coelho, 308, Conjunto 51 - Cerqueira Cesar, São Paulo - CEP 01309-000