De acordo com a definição do Gartner, os cidadãos desenvolvedores são funcionários que criam aplicações, para seu uso pessoal ou para outros funcionários, utilizando ferramentas que não são proibidas na organização. São indivíduos (não cargos ou funções), que não se reportam ou dependem do departamento de Tecnologia da Informação e Comunicação (TIC ou simplesmente TI).
O ponto-chave aqui é precisamente que um cidadão desenvolvedor não precisa ter um histórico em TI, computação ou programação. Pelo contrário, entende-se que ele é uma pessoa de outra área, mas usando ferramentas apropriadas, ele pode criar suas próprias aplicações para atender às necessidades comerciais.
In – dependência de TI
Por que o conceito de cidadão desenvolvedor é tão interessante? Há muito tempo – e não há razão para acreditar que isso mudará a curto prazo – os departamentos de TI têm muito pouco tempo disponível. Eles estão sempre “atolados” com trabalho, com centenas de tarefas pendentes, e tentando atender às diretrizes estratégicas de TI da organização. E, é claro, eles também estão instalando novas versões de toda sua pilha tecnológica, aplicando patches de segurança e apagando “incêndios” que sempre existem.
Toda essa atividade nos departamentos de TI deixa muito pouco espaço para eles ouvirem as necessidades dos novos funcionários, quanto mais para construírem novas aplicações. Desenvolver (ou adquirir) um novo sistema é uma tarefa demorada. E então, uma vez que você tenha essa aplicação, você tem que mantê-la, instalar atualizações, solucionar problemas, gerenciá-la, fazer backup, etc. Devido a tudo isso, os departamentos de TI têm dificuldade em lidar com pedidos de novas aplicações de outros funcionários.
Mas os usuários têm necessidades. Cada vez mais. E se a TI não se dirigir a eles, eles mesmos se dirigirão a eles.
É disto que se trata o conceito de cidadãos desenvolvedores, pessoas que decidem “não esperar mais” por aplicações para suas necessidades. E eles mesmos embarcam na sua construção. Quer eles os utilizem individualmente ou com suas equipes.
A seguir, exploraremos as capacidades fundamentais que um cidadão desenvolvedor deve ter para criar aplicações. Como caso concreto de aplicação, veremos como estes conceitos se aplicam à digitalização de processos sem programação.
Capacidades dos cidadãos desenvolvedores
Há quatro capacidades principais que os cidadãos desenvolvedores têm: compreender e ser capaz de formalizar um problema em sua organização, criar uma aplicação para resolvê-lo, evangelizar suas equipes para usar essa aplicação, e por último, mas não menos importante, melhorar a aplicação com base em feedback e uso. Vejamos cada uma dessas capacidades.
Entendendo o negócio
A primeira capacidade é que o cidadão desenvolvedor possa compreender o negócio, seu papel dentro da empresa, os objetivos perseguidos e como uma aplicação poderia ajudá-los a resolver seus problemas a fim de alcançar esses objetivos.
A partir desse entendimento, é essencial que os cidadãos desenvolvedores sejam capazes de formalizar e descrever com precisão essas necessidades e a solução desejada. Um modelo é sempre uma abstração da realidade, que não contém todos os detalhes, e se concentra nos elementos mais importantes. O cidadão desenvolvedor deve ser capaz de fazer isso. Distrair-se com detalhes ou casos de uso que acontecem esporadicamente o impedirá de poder construir uma aplicação útil em pouco tempo.
Como exemplo concreto, pense em um cidadão desenvolvedor que está em uma iniciativa de digitalização de processos sem programação. Ele deve ser capaz de compreender como esse processo funciona em sua organização, qual é seu objetivo, que etapas tem, quem são as pessoas envolvidas em cada etapa e que tarefas têm que realizar, etc. E então, você deve construir um modelo desse processo, através de uma representação gráfica (formal, por exemplo, usando a notação BPMN).
Aqui está um exemplo concreto de um processo Flokzu, para atender às exigências de manutenção de um edifício. Este processo poderia ser definido por um cidadão desenvolvedor que está tentando digitalizá-lo e automatizá-lo através de um diagrama gráfico, sem programação:
Criando aplicações
O cidadão desenvolvedor deve ser capaz de criar suas próprias aplicações. Obviamente, isto não requer programação (codificação). Mas também não deve exigir conhecimentos técnicos, instalação de software complexo ou configurações avançadas. As chamadas ferramentas de código baixo atendem a todos esses requisitos. São ferramentas suficientemente intuitivas, que tornam possível construir aplicações facilmente e sem conhecimentos avançados de informática.
Outro ponto relevante ao criar aplicações é onde elas serão executadas. Não é o mesmo pensar em criar um aplicativo que seja baixado e instalado nos telefones das pessoas, ou um que resida no servidor de uma organização, ou um que funcione 100% na nuvem.
Os cidadãos desenvolvedores geralmente escolhem este último cenário: ferramentas que já estão disponíveis na nuvem, e que funcionam lá.
Desta forma, uma vez criada a aplicação, a implantação desta aplicação já está resolvida, e os usuários simplesmente a utilizam.
A agilidade na criação dessas aplicações é fundamental. Deve ser possível construí-los rapidamente, para mostrar resultados e obter apoio. Mas também deve ser possível dar-lhes manutenção evolutiva, para incorporar correções ou melhorias de forma ágil. Este ciclo iterativo deve ser repetido muitas vezes ao longo de todo o ciclo de vida da nova aplicação.
Continuando com o exemplo da iniciativa de digitalizar processos sem programação, Flokzu é uma ferramenta específica para o cidadão desenvolvedor criar rapidamente uma aplicação BPM. Além do fluxo de trabalho ilustrado acima, você pode definir a forma associada, as pessoas que trabalham em cada etapa e as regras comerciais relevantes. E então simplesmente implantar esta aplicação para torná-la disponível aos usuários finais.
Evangelizar
Alguns cidadãos desenvolvedores criam aplicações para si mesmos, para tornar seu trabalho diário mais eficiente, eficaz ou simples. Outros os fazem para suas equipes. Neste segundo grupo, evangelizar a nova aplicação para outros usuários é vital.
As pessoas têm inércia, e geralmente preferem continuar fazendo as coisas da maneira como têm feito. Isto não é certo nem errado, é um fato da vida. Mas para mudar essa inércia, é preciso intervir.
É preciso fazê-los mudar um comportamento adquirido. E devemos fazê-los mudar sua maneira de trabalhar para adotar a nova aplicação.
Chamamos a tarefa de comunicar os benefícios da nova aplicação, motivando os outros membros da equipe a usá-la, convencendo os detratores a pelo menos não se oporem a ela, evangelizando.
Como a aplicação proporciona os resultados esperados, é muito importante compartilhar essas conquistas com os primeiros adotantes. Deve ser uma celebração compartilhada. O cidadão desenvolvedor alavancará este sucesso para ganhar novos apoiadores, patrocinadores e até mesmo apoio ou orçamento de gestão.
Melhorar.
Uma vez que a aplicação esteja pronta e funcionando, a história não está terminada. Pelo contrário, apenas começou. As aplicações estão vivas, elas requerem correções e evoluções. É uma parte fundamental da tarefa dos cidadãos desenvolvedores corrigir os problemas que certamente irão aparecer. É inerente ao software. O importante é identificá-los, resolvê-los e lançar uma nova versão da aplicação corrigida.
Além disso, é essencial definir indicadores para saber se o pedido está atendendo aos objetivos iniciais (identificados na primeira etapa de “Compreender”). E como estes objetivos podem mudar junto com o negócio (devido a mudanças no mercado, reguladores, mudanças internas da empresa, etc.), a aplicação também terá que mudar. Chamamos isso de desenvolvimento evolutivo, e é necessário para que a aplicação não se torne obsoleta em um curto espaço de tempo.
Finalmente, outros usuários devem estar envolvidos nesta evolução. Deixe-os propor melhorias (após utilizar o pedido por um período de tempo razoável). Isto gerará confiança e maior apego à nova aplicação, reforçando o ciclo de melhoria contínua.
Metodologia de construção ágil
A metodologia do cidadão desenvolvedor para construir suas aplicações deve ser ágil e atender a três requisitos-chave:
- Prova de Conceito (PoC). Construir rapidamente protótipos e lançamentos que mostram o conceito funcionando. Aplicações inacabadas, mas que incluem funcionalidades essenciais. O cidadão desenvolvedor não é um engenheiro de software, é muito importante que ele possa ver os resultados rapidamente para corrigir o rumo, se necessário.
- Velocidade. O tempo necessário para detectar a necessidade e liberar o PdC deve ser mínimo. No máximo, por alguns dias. Idealmente, algumas horas. Naturalmente, pode haver situações ou processos mais complexos que levam mais tempo. Mas o conceito é claro, a iteração deve ser muito rápida.
- Retorno do investimento. O benefício de construir a aplicação deve ser visível e mensurável. Seja em tempo economizado, melhor atendimento ao cliente, redução de custos, etc. Não construa a aplicação sem saber o que você espera receber. Lembre-se que a aplicação provavelmente será construída durante o horário de trabalho, portanto, o investimento de tempo deve ser justificável.
Os três elementos acima são fundamentais para a atividade de Evangelização. Ser capaz de mostrar (PoC) a aplicação ajuda outros a compreendê-la. Fazê-lo rapidamente e ser capaz de incorporar feedback estimula a participação e o apoio das pessoas. Mostrar um retorno concreto e tangível do investimento ajudará a obter apoio dos superiores para a primeira aplicação e para as subseqüentes.
Continuando com o exemplo dos processos de digitalização, usando Flokzu o cidadão desenvolvedor poderá construir o PoC em minutos e mostrar o processo funcionando. A partir daí, ele justificará o tempo economizado eliminando centenas de e-mails, planilhas infinitas do Excel e até mesmo o embaralhamento de papel (com seus custos associados). Se o processo envolver clientes ou fornecedores, provavelmente também irá melhorar sua satisfação.
Impacto na carreira
Temos visto em várias empresas em diferentes continentes usando Flokzu, como um cidadão desenvolvedor propõe e constrói uma aplicação para melhorar um processo na organização. A aplicação é um sucesso, outros usuários a adotam. O cidadão desenvolvedor recebe o crédito. Mas também se torna claro que a mesma tecnologia poderia ser usada para outras aplicações. Naturalmente, a mesma pessoa é solicitada, e ganha relevância e reputação. Depois de um tempo, ele ou ela tem muitas portas novas abertas para o desenvolvimento profissional.
Se a construção da aplicação for bem sucedida, o cidadão desenvolvedor obterá o reconhecimento de seus superiores hierárquicos. Isto provavelmente terá um impacto positivo em sua carreira.
Além disso, a experiência de ter construído sua própria aplicação dá ao cidadão desenvolvedor uma experiência valiosa para enfrentar novos problemas ou desafios em sua vida profissional. Eles sabem que podem usar ferramentas de baixo código disponíveis na nuvem, para não depender de terceiros e para melhorar sua eficiência individual ou de equipe.
Conclusões
Os cidadãos desenvolvedores são pessoas que não são de TI e que constroem suas próprias aplicações e, portanto, independentemente do departamento de TI, atendem às necessidades individuais ou de equipe. Neste artigo, apresentamos os pilares fundamentais para que eles sejam bem sucedidos ao fazer isso.
As ferramentas de código baixo são o instrumento certo para os cidadãos desenvolvedores. Quando se trata de desenvolver aplicações para a digitalização de processos de negócios e fluxos de trabalho, Flokzu é o instrumento certo.
Como não há melhor forma de compreender o espírito das ferramentas de baixo código do que utilizando-as, convidamo-lo a marcar uma reunião com um dos nossos especialistas, para que possamos automatizar em conjunto um processo completo, e melhorar a sua organização.