Kanban
Antes de explicarmos o funcionamento desse recurso no sistema EMA DOX, vamos revisar alguns pontos e explicar primeiramente:
O que é o Kanban?
Bom, vamos começar explicando que o Kanban é mais como um conceito de metodologias ágeis. É um sistema que utiliza cartões de cores / tamanhos diferentes para designar, coordenar tarefas. Funciona para manter a organização de uma operação/fluxo. Assim, é possível saber quantas tarefas foram concluídas, quais ainda estão pendentes ou precisam de alguma atenção.
Expectativas / Vantagens / Objetivos no uso do Kanban:
- Aumentar a eficiência da operação/setor, de forma a manter as tarefas organizadas. É de senso comum que organização é a chave para uma estrutura sólida e eficiente de trabalho.
- Otimizar seus sistemas de movimentação/delegação de tarefas, de forma que todos consigam ver a movimentação de cada tarefa e policiarem suas demandas.
- Gestão visual do que está sendo executada em determinada área. Vamos pensar que, dessa forma, com cartões coloridos (representando alguma classificação pré-definida) o setor consegue entender apenas com uma olhada o que já foi concluído, o que falta para concluir e o que deve ser feito para agilizar o trabalho.
** O Kanban faz parte de uma das técnicas desenvolvidas pelos japoneses da Toyota dentro do modo de produção Just In Time (JIT). Ou seja, o Kanban não é o JIT, mas sim, parte dele.
Em uma grande empresa que trabalha com classificações/prioridades/datas e previsão, o Kanban serve de muita ajuda para manter o fluxo sob controle. Não vamos esquecer que uma gestão visual ajuda em muito para a tomada de decisões, temos por exemplos os painéis de indicadores como prova.
Como funciona no sistema DOX?
Uma das vantagens do nosso Kanban é que pode-se ser feita várias ações envolvendo regras de negócio. É possível gerar relatórios, delegar cartões para uma coluna em especifico, alterar a cor, alterar o responsável, encaminhar com um comentário, trazer informações de e-mail (IMAP) por exemplo, dentre várias outras opções.
Uma funcionalidade muito utilizada é a criação de um processo PAI, um processo BPM normal onde informações serão inseridas, e ao final da colaboração um cartão (card) será criado no Kanban com o que foi colocado no BPM inicialmente. É como se o Kanban fosse uma extensão do processo.
Uma outra opção é a utilização do IMAP, onde um processo automático (com horários agendados, específicos do dia) irá executar e buscar os e-mails na caixa de entrada especificas e trazer para o sistema. Depois, quando as informações já estão em nossa base, o processo automático iria criar um cartão (card) no Kanban com essas informações do e-mail.
Vê como é uma ferramenta útil? Além de ser possível mostrar informações nos cartões podemos estruturar com uma regra de negócio: só pessoas especificas podem ver determinada coluna, ao finalizar um cartão (card) será enviado e-mail para gestores, um documento será colocado no GED para aprovação, um usuário irá receber uma mensagem em especifico etc...
Exemplo
Vamos criar um exemplo da criação de um Kanban onde será possível entender na prática suas utilidades. Assim como na imagem acima iremos criar um quadro simples de "A fazer", "Fazendo" e "Feito".
Acesse o módulo de processos > Kanbans > Novo [F2]:
Na primeira aba, "Geral"
Na tela de criação do Kanban é necessário incluir algumas informações, como
- Tipo do processo: Responsável por agrupar os Kanbans no portal,
- Descrição (ou nome do Kanban) que aparecerá na lista de processos dos usuários que possuam permissão para acessá-lo/visualizá-lo.
- Observação: Sobre o Kanban, essa será utilizada para que o usuário compreenda o objetivo deste procedimento e para qual fim ele deve ser utilizado (isso serve também para a descrição, que deve ser feita de forma clara).
- Menu: Neste campo deve-se selecionar o menu do sistema (DOX Portal) em que este Kanban será visualizado. Estão disponíveis: menu de Processos, Inteligência, e ERP.
Estas são informações base para a melhor identificação do processo. As informações abaixo são para fins de gerenciamento do Kanban.
- Modelador: Diz respeito ao responsável pela automação do processo. É quem configurou o processo, de ponta-a-ponta, para que o mesmo seja utilizado no sistema.
- Dono do processo: É a pessoa que possui o conhecimento sobre a regra de negócio a qual este processo pertence, em alguns casos pode acontecer de uma mesma pessoa ser tanto o modelador quanto o dono do processo, porém isso não se aplica a todos os casos.
Faça como na imagem abaixo:
Na aba segunda aba, "Permissões":
Na aba Permissões são definidas as permissões tanto de utilização quanto de visualização/acesso do Kanban. Primeiro, deve-se configurar os usuários/papéis-função que tem permissão para iniciar instâncias e interagir com os "cards" do Kanban.
Para que os usuários possam visualizar as etapas de seu Kanban, pode-se definir na grade "Quem tem permissão para visualizar esse Kanban?" os grupos de usuário que tem acesso de visualização ao Kanban.
É importante citar que este acesso é apenas de visualização, portanto os grupos aqui inclusos não terão acesso para interagir/iniciar instâncias deste processo.
Na terceira aba, "Atividades"
Para iniciar a automação de um processo do tipo Kanban, a partir desta tela a interação com a automação de um Kanban fica similar a de um processo comum, visto que compartilham da mesma tela.
Clique no botão "lançamento" pois ao clicar nele o sistema irá criar uma atividade padrão de lançamento com formulários e eventos:
Essa atividade lançamento será a primeira que o usuário irá interagir e a que irá criar o cartão (card) para ser encaminhado para as próximas colunas.
No portal ele irá aparecer como o botão "NOVO".
Nesta primeira atividade lançamento o sistema por padrão cria 3 formulários assim como suas variáveis:
- Título - /*TITULO*/ (Texto - Longo)
- Responsável - /*RESPONSÁVEL*/ (Inteiro)
- Descrição - /*DESCRICAO*/ (Texto)
Assim como os eventos:
- Definir valor variável - Definir numero do cartão (Define a variável de sistema /*IDPROCESSO */ para a /*NUMEROCARTAOKANBAN*/)
- Definir valor variável - Definir responsável atual (Define a variável de sistema /*USERID*/ para a /*RESPONSAVEL*/ )
Porém para deixar nosso exemplo mais dinâmico, vamos adicionar mais alguns formulários e eventos. Crie o formulário "Prioridade" para que o usuário escolha entre as opções Baixa, Média e Alta.
- Tipo Objetiva - Botões com a descrição "Qual a prioridade da tarefa"?
- Respostas: Baixa = 1, Média = 2, Alta = 3
- Não esqueça da variável /*PRIORIDADE*/conforme imagem acima. Pode ser do tipo "Texto".
Eventos
Agora, na parte de eventos vamos fazer condicionais para atribuir a cor ao cartão (card) criado. Caso o usuário escolha a opção "Prioridade baixa" ou seja, a variável /*PRIORIDADE*/ está recendo o valor 1, a cor será definida para #8DC7C7.
Olhe o exemplo abaixo:
- Abrindo a estrutura condicional:
- Definindo o valor da variável COR (essa variável é criada automaticamente pelo sistema, não é necessário criar uma nova)
* Importante frisar que nesse campo podem ser definidas cores em código hexadecimal ou as utilizadas por padrão no Delphi.
- Finalizando a estrutura condicional:
De acordo com o exemplo acima, crie outras estruturas semelhantes (só mudando a cor definida) para as outras prioridades de forma que fique assim:
O ultimo evento que iremos criar é para definir a data inicio que o card foi criado. Vamos criar um definir valor variável ao SAIR de forma que, se o usuário prosseguir com a colaboração esse valor fiquei salvo no processo.
* O parâmetro Exibir esta atividade no Kanban: caso desmarcado, a atividade não aparecerá em nenhuma das etapas do Kanban. É utilizado para atividades que fazem apenas a execução de eventos
Conforme você for criando atividades no seu processo, as mesmas aparecerão no seu Kanban para que você possa realizar a organização das etapas, conforme imagem
Essas atividades, a partir do momento em que são criadas tem o mesmo layout e lógica de atividades em processos BPM normais. Ao criar "A fazer", "Fazendo" e "Feito" entre em todas essas atividades e copie os formulários da atividade lançamento, porém deixe com a propriedade "Somente leitura".
Feito isso, acesse a atividade "Fazendo" e crie mais dois formulários obrigatórios:
- Análise - /*ANALISE*/ (Texto - Longo)
- Solução - /*SOLUCAO*/ (Texto - Longo)
Na aba "Eventos" crie um evento de "Definir valor variável" para definir a variável "/*DATAFIM*/" (Data) com a variável de sistema /*DATAATUAL*/. Dessa forma quando sair da coluna "Fazendo" e ir para "Feito" significa que a tarefa está finalizada e precisamos da data para futura referência.
Em seguida acesse a atividade "Feito" e copie os dois novos formulários criados, deixando-os somente leitura (Análise e Solução). Adicione em seguida mais dois formulários:
- Data inicio da tarefa - /*DATAINICIO*/ (Texto - Longo)
- Data fim da tarefa - /*DATAFIM*/ (Texto - Longo)
Desvios
Por fim, depois de realizar tudo isso, acesse cada atividade e crie o desvio correto para cada uma:
Salve tudo, e libere a versão do Kanban.
Lembrando que, este é um exemplo bem simples da utilização do Kanban, para regras mais elaboradas é necessário a personalização.
- Para baixar um exemplo do Kanban pronto, onde é apenas necessário importar em sua base, clique aqui.
Card no portal
Agora que já finalizamos o Kanban e está pronto para uso de forma funciona, podemos falar de alguns detalhes que não foram abordados durante o desenvolvimento do Kanban acima.
Quando um card é criado no portal, ele possui algumas abas onde o usuário pode consultar informações/interagir antes de colaborar com os formulários/eventos.
Elas são:
- Aba "Descrição": Aqui estará o conteúdo da variável que é criada automaticamente /*DESCRICAO*/. Essa variável não pode ser deletada do Kanban, então geralmente é preenchida, senão pelo formulário, por um evento de definir valor variável.
- Aba "Mais informações": Esta aba tem a mesma função da primeira aba: mostrar o valor de determinada variável, a diferença é que nesta é possível configurar quais as variáveis serão mostradas.
Acessando o Kanban, na quarta aba "Variáveis/filtros", é necessário marcar a opção "Exibe Kanban" e colocar um título, caso contrário o valor da variável irá aparecer na aba sem nenhuma apresentação. Lembrando que qualquer modificação feita no Kanban, é necessário liberar a versão e abrir um novo card (em antigos não funcionará a alteração).
Para entender melhor sobre versionamento de processos BPM clique aqui.
- Aba "Comentários": Aqui serão exibidos os comentários que foram enviados durante toda a colaboração daquele card. Os comentários ficam no canto direito do processo, e podem ser cadastrados tanto manualmente, quanto por um evento de sistema.
- Aba "Anexos": Aqui serão exibidos todos os anexos vinculados ao card. Tanto de forma manual quanto por um evento de GED.
- Aba "Tempos": Aqui mostra todos os tempos dos usuários focados no card em questão. Lembrando que, ele não conta o tempo em que um usuário esteve COLABORANDO com a atividade, e sim que esteve com esta primeira tela aberta. No exemplo que fizemos acima, seria uma boa informação para se ter em um painel de indicador por exemplo, onde mostraria o tempo médio que colaborador está obtendo em suas tarefas, etc.
- Aba "Marcadores": Marcadores que podem ser vinculados ao card, importantes pois servem de filtro para procurá-lo futuramente. Pode ser feito esse vinculo de forma manual e por um evento de adicionar marcador.
Aqui é onde é configurado quais marcadores aparecerão neste Kanban.
Filtros
Em relação os filtros de Kanban, sua configuração é feita na aba "Variáveis/Filtros" ali você pode colocar a variável em questão como "Filtro" e até mesmo como "Filtro obrigatório".
Coloca-se um título nele para melhor entendimento do usuário (Geralmente o mesmo nome da variável)
No portal:
** Novidade: Na versão 17.8.0.613, foi adicionado uma melhoria relacionada aos filtros de Kanban, sendo possível realizar uma hierarquia de filtros, onde um determinado filtro FK (filho) mostrará os dados com base no que foi escolhido em outro filtro FK (pai).
Filtro PAI
- No filtro FILIAL, mostrará ao usuário todas as filiais disponíveis no sistema e que o usuário logado tem acesso:
Filtro FILHO
- No filtro Usuário, serão exibidos todos os colaboradores, clientes ou fornecedores vinculados na filial escolhida do filtro FILIAL (Filtro PAI).
Note que no filtro filho não está sendo referenciado o IDFILIAL em nenhum momento. Isso acontece pois com essa melhoria, não é necessário existir um filtro adicional como IDFILIAL = 0/*IDFILIAL*/, apenas referenciar os campos em:
- Cód. filtro pai: Onde é vinculado o filtro PAI no filtro filho.
- Campo filtro pai: Aqui é referenciado o campo que será usado para ligar as duas FK's, o nome do campo em comum nas duas tabelas e será usado para aplicar o filtro.
O campo "Usuário" mudará de acordo com a escolha do campo "Filial":