Category: github

Automação de Rotinas

Automação de rotinas é uma das técnicas recomendada pelo Lean. Este tópico explica alguns pontos básicos sobre automação e o porque. Começo com o meu porque e adiante o porque da automação. Em julho de 2012 eu conheci o Hubot um robô de chat feito pelo github com o primeiro objetivo ajudar os empregados a otimizar rotinas e divertir toda empresa com este desenvolvimento. Achei fantástico esta ideia e criei o meu próprio repositorio no github (quando se copia algo chamamos de FORK) com uma configuração de Máquina Virtual para testar este robô na minha realidade. Percebi que muitas pessoas tinham problema em colocar este robô para funcionar então este repositório tem o objetivo de ensinar e deixar pronto para quem quiser usar. Fazendo esta tarefa aprendi muitas coisas interessantes e revistei outras como vagrant, chef, coffescript , vim-scripts e git.

A algum tempo eu ressuscitei este projeto e estou usando com o pessoal da minha empresa (@vmenck e @josuecvitorino) para otimizar rotinas nos diversos sistemas que temos, vou explicar agora como fazemos isto e porque é importante.

Esta versão no github tem somente a parte open-source, as rotinas de otimização de trabalho são privadas a empresa onde trabalho. Sobre os avanços na parte open-source, de uma olhada aqui. Ao longo do tempo vou inserindo novas rotinas para uso público.

Meu objetivo com o projeto é disponibilizar uma VM com tudo pronto para qualquer empresa se beneficiar. O que você precisa é um programador JavaScript e saber quais tarefas você quer automatizar.

Porque automatizar tarefas repetitivas?
Automatizar tarefas rotineiras é muito recompensadora, automatizar tarefas não é apenas para prevenir erros, mas respeitar a inteligência das pessoas, recomenda Mary and Tom POPPENDIECK (2011).

Pessoas tem que fazer tarefas que gostam, não por hábito, e sempre buscando novas e melhores formas de realizar o trabalho.

E um outro problema, tarefas repetitivas são propensas a erros. Uma das melhores formas de não cometer erros é automatizar!
Vocês já se depararam com estas perguntas abaixo?

  • Quais projetos você trabalhou durante o mês? ou na semana?
  • Das tarefas que você fez qual a porcentagem era documentação? ou testes?
  • Quantos clientes com chamados críticos nós atendemos este mês?
  • Quanto de tempo livre meu time tem para fazer um outro projeto?

Todas estas perguntas podem ser automatizadas. Isto não é legal? Não seria mágico?
Você me responde:
– Não! Eu tenho um excel!

Ótimo! use ele! mas…

Você não tem alguma outra pergunta que necessita de alguém para coletar e agregar esta informação?

Sim! então faça automação desta rotina!

Como funciona este robô?

O fluxo , de como usar o robô, é o seguinte:

  1. Você chama um contato no skype, neste caso o Hubot;
  2. Você pede uma ajuda para determinada tarefa;
  3. O Hubot te responde com o resultado da tarefa.

Exemplo usando o robô hubot para verificar se pessoas já estão no escritório:

  • eu: hubot quem está no escritório?
  • hubot: João e Gorski falaram comigo hoje.
  • eu:  hubot Obrigado
  • hubot: disponha!

O importante é decidir quais ações ou rotinas são candidatas a serem automatizadas, um possível exercício para descobrir isto é o Drop-Delegate-Redesign , onde você pode selecionar tarefas passíveis a serem delegadas ou candidatas a automação.

Como posso ter isto na minha empresa?
Precisa ter uma máquina e seguir o passo-a-passo no github. Verifique o branch stable_1.0 que é a versão mais simples.

Caso queira uma versão mais avançada com conexão a banco de dados via Node.JS então use o branch master.

Tá mas como faço minhas rotinas automatizadas?
Os detalhes de como fazer uma tarefa simples eu ainda vou publicar aqui no futuro. Você pode fazer sozinho usando o tutorial do github:

Não tem nada pronto?

Sim, existe várias pessoas fazendo estas automações, de uma olhada aqui: http://hubot-script-catalog.herokuapp.com

Referências:

Gostou? Faz um fork ou marca um Star no projeto do github :)