# Fase Automatizar

## Objetivos

Essa é a **segunda fase** da [Fórmula Zeev](/zeev/formula-zeev/introducao-a-formula-zeev.md) de criar aplicativos.

Nessa fase o [desenvolvedor cidadão](/zeev/formula-zeev/definir-papeis.md#desenvolvedor-cidadao-citizen-developer) irá realizar todas as atividades de mapeamento, modelagem e configuração da ferramenta Zeev **que não envolvam nenhum tipo de programação ou criação de códigos.**&#x20;

O grande segredo dessa fase é explorar ao máximo o uso de recursos nativos da ferramenta, separando e isolando requisitos técnicos que eventualmente envolvam codificação para a próxima fase ([customizar](/zeev/formula-zeev/criar-um-aplicativo/executar-fases/fase-customizar.md)).

## Profissionais envolvidos

O [desenvolvedor cidadão](/zeev/formula-zeev/definir-papeis.md#desenvolvedor-cidadao-citizen-developer) é o principal responsável pela execução dessa etapa. É ele o responsável por realizar todas as configurações necessárias no Zeev.

Essa fase pode levar uma ou mais iterações, dependendo do tamanho do aplicativo.&#x20;

O desenvolvedor cidadão irá contar com apoio do [dono do aplicativo](/zeev/formula-zeev/definir-papeis.md#dono-do-aplicativo-app-owner), dos [especialistas](/zeev/formula-zeev/definir-papeis.md#especialista-de-dominio-subject-matter-expert), do [cliente ](/zeev/formula-zeev/definir-papeis.md#clientes-customers)e dos [atores ](/zeev/formula-zeev/definir-papeis.md#atores-performers)para:

1. Elucidar dúvidas;
2. Simular o aplicativo;
3. Aprovar a fase;

Eventualmente, o desenvolvedor cidadão poderá interagir com o [desenvolvedor profissional](/zeev/formula-zeev/definir-papeis.md#desenvolvedor-profissional-professional-developer), responsável pela próxima fase, para ajudá-lo em dúvidas de como especificar da melhor maneira os requisitos técnicos que serão implementados no futuro.

## Como&#x20;

Nessa fase, o desenvolvedor cidadão irá:

* [Desenhar o processo do aplicativo](/zeev/como-construir-processos/como-desenhar-processos.md) completo, totalmente no [formato BPMN](/zeev/como-construir-processos/como-desenhar-processos/o-padrao-bpmn.md), seguindo todas as[ regras de modelagem](/zeev/como-construir-processos/como-desenhar-processos/regras-fundamentais-de-desenho.md) e [boas práticas de desenho](/zeev/como-construir-processos/como-desenhar-processos/boas-praticas-de-desenho.md);
* Implementar o [formulário eletrônico](/zeev/como-construir-processos/como-criar-formularios.md) do aplicativo;
* [Simular](/zeev/como-construir-processos/como-validar-aplicativos-antes-de-publica-los/como-simular-a-execucao-de-processo.md), conjuntamente com os [stakeholders](/zeev/formula-zeev/definir-papeis.md#stakeholders), a execução do aplicativo.

Para que essa fase seja implementada iterativamente, a recomendação é que o desenvolvedor cidadão determine um número máximo de elementos do aplicativo que serão contemplados em cada ciclo. Geralmente, em casos normais, trabalhamos entre 8 e 12 elementos em cada iteração.&#x20;

Isso significa que você irá desenhar, configurar e automatizar de maneira completa entre 8 e 12 elementos do desenho. Irá simular essa parte do aplicativo, e apresentá-la aos stakeholders. E buscar a aprovação dos stakeholders sobre esse pedaço.

Após essa aprovação, você parte para a próxima parte do aplicativo, com mais 8 a 12 elementos.&#x20;

E assim sucessivamente.&#x20;

### Desenhar o processo do aplicativo

Recomendamos que o primeiro passo seja o [desenho do processo do aplicativo](/zeev/como-construir-processos/como-desenhar-processos.md), puro e simples.

Nessa etapa, você **não deve se preocupar** ainda com:

* Formulários;
* Anexos;
* Atores;
* SLAs;
* Prazos;
* Controles;
* Configurações de etapas;
* Configurações de condicionais;
* Integrações,
* Etc.

Você irá se preocupar somente em representar visualmente o fluxo de informações de sua empresa. &#x20;

Encare o desenho do aplicativo como uma ferramenta iterativa. Você irá gerar diversas versões incrementais desse desenho, melhorando-o pouco a pouco, validando com seus colegas e com os *stakeholders* do aplicativo.&#x20;

Para desenhar o processo do aplicativo, é necessário que você conheça:

* O funcionamento de [atividades](/zeev/como-construir-processos/como-desenhar-processos/o-que-sao-atividades.md), [gateways](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways.md), [eventos ](/zeev/como-construir-processos/como-desenhar-processos/como-usar-eventos.md)e [swinlanes](/zeev/como-construir-processos/como-desenhar-processos/como-usar-swinlanes.md);
* Como usar nossa [ferramenta de desenhador de processos](/zeev/como-construir-processos/como-desenhar-processos/desenhador-de-processos.md);
* [Regras fundamentais de desenho](/zeev/como-construir-processos/como-desenhar-processos/regras-fundamentais-de-desenho.md);
* [Boas práticas de desenho](/zeev/como-construir-processos/como-desenhar-processos/boas-praticas-de-desenho.md);

Exemplo de um desenho de processo:

![](/files/NYfA8VQXu6HyHfqUoREa)

Veja o manual completo desse assunto no link abaixo:

{% content-ref url="/pages/xWEWzLx4YkBs6zcgnLSq" %}
[Como desenhar processos](/zeev/como-construir-processos/como-desenhar-processos.md)
{% endcontent-ref %}

### Criar formulário

Recomendamos que o formulário seja a segunda etapa, e que o formulário comece a ser construído depois de você ter uma versão inicial básica do [desenho do aplicativo](#desenhar-processo).

Os formulários são alguns dos principais elementos dentro de um aplicativo de processo. Apesar de nem todos os aplicativos possuírem formulários (ex.: um aplicativo de documentos), a maioria utiliza este recurso como método de estruturação das informações digitadas pelos solicitantes e participantes do aplicativo. Assim, na maior parte das vezes, você irá criar um formulário associado a um aplicativo.

Cada aplicativo pode possuir somente um formulário. Mas, não se preocupe! Na próxima etapa, de [configurar elementos](#configurar-elementos), entre outras coisas, você irá definir quais campos do formulário serão visíveis e quais serão editáveis em cada etapa do aplicativo. Ou seja, no Zeev, você irá construir um grande formulário que inclui todas as informações necessárias para seu processo rodar.  E esse formulário poderá ser quebrado em múltiplas visões, ao longo das tarefas.

Exemplo de um formulário de aplicativo:

![](/files/cJtmjFjSAr0juhfTp58m)

Veja o manual completo desse assunto no link abaixo:

{% content-ref url="/pages/Hbkk8Sb8Nk1JnSS6tyfm" %}
[Como criar formulários](/zeev/como-construir-processos/como-criar-formularios.md)
{% endcontent-ref %}

### Configurar elementos

Com seu processo já desenhado e o formulário base construído, vamos a etapa de configuração. Essa etapa consiste em acessar a tela de configurações de cada elemento do aplicativo e definir como esse elemento será executado.

Para configurar um elemento, [selecione o elemento](#selecionar-elemento) e, nos ícones de opções avançadas, clique no ícone de configuração. A barra de configurações aparecerá do lado esquerdo da tela.

![](/files/1FScMmQ5WZPuZ91N5ttM)

A maior parte das configurações são opcionais. Aos poucos, você vai acrescentando níveis de recursos no aplicativo.

As regras de negócio envolvidas na configuração de cada elemento, nesse manual, estão justamente dentro da documentação geral de cada elemento: [atividades](/zeev/como-construir-processos/como-desenhar-processos/o-que-sao-atividades.md), [gateways](/zeev/como-construir-processos/como-desenhar-processos/como-configurar-gateways.md) e [eventos.](/zeev/como-construir-processos/como-desenhar-processos/como-usar-eventos.md)

### Depurar e simular

A [depuração](/zeev/como-construir-processos/como-validar-aplicativos-antes-de-publica-los/depuracao-de-processos.md) de um processo de aplicativo é um procedimento automatizado que irá percorrer todo o seu desenho, seu formulário e suas configurações,  buscando inconsistências. Você pode e deve rodar a depuração diversas vezes ao longo de seu desenvolvimento. Com base no relatório de problemas identificados, você pode implementar melhorias e correções no processo do aplicativo.

{% content-ref url="/pages/-MDti2aE2tBG1-0Oydw6" %}
[Como identificar erros nos aplicativos](/zeev/como-construir-processos/como-validar-aplicativos-antes-de-publica-los/depuracao-de-processos.md)
{% endcontent-ref %}

Já a [simulação ](/zeev/como-construir-processos/como-validar-aplicativos-antes-de-publica-los/como-simular-a-execucao-de-processo.md)consiste em rodar, manualmente, todo o aplicativo. Com essa ferramenta, todas as tarefas humanas serão direcionadas a você, que poderá simular o papel de outras pessoas recebendo e executando tarefas. A simulação é importante para você ter a mesma visão dos atores finais e garantir que tudo está funcionando corretamente.

{% content-ref url="/pages/-MDti5o\_HRRHp6G60ded" %}
[Como testar a execução de aplicativos](/zeev/como-construir-processos/como-validar-aplicativos-antes-de-publica-los/como-simular-a-execucao-de-processo.md)
{% endcontent-ref %}

### Customizações e integrações

Um dos grandes objetivos dessa fase é dar condições para que o aplicativo possa ser simulado, validado e aprovado pelos [stakeholders](/zeev/formula-zeev/definir-papeis.md#stakeholders), <mark style="color:orange;">**SEM**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">se preocupar com integrações e customizações.</mark>&#x20;

Para isso, o desenvolvedor cidadão deverá usar algumas técnicas para simular as integrações e customizações.&#x20;

#### Necessidades de customizações no formulário

Como desenvolvedor cidadão, é possível que você identifique, ao criar o formulário associado ao aplicativo, a necessidade de algumas customizações que vão além do que a ferramenta oferece nativamente.&#x20;

Exemplos de necessidades relativamente comuns de customizações:

* Realizar cálculos matemáticos com base em campos do formulário;
* Esconder e mostrar campos do formulário de acordo com regras de negócio;
* Realizar validações especiais;
* Carregar valores de campos com base em integrações e sistemas externos;

Nessa fase, você não irá desenvolver nenhuma dessas customizações. Você fará adaptações no aplicativo temporárias para permitir que ele seja simulado e poderá usar o recurso "Ajuda do campo" no construtor de formulários para especificar e tornar visível os requisitos técnicos necessários.&#x20;

Digamos que você tenha um formulário com os campos valor unitário, quantidade e valor total, e possua como requisito realizar o cálculo do valor total com base no valor unitário e na quantidade. Nossa sugestão seria:

* Tornar o campo "Valor total" editável no aplicativo (temporariamente), permitindo que ele seja preenchido manualmente, possibilitando assim que o aplicativo seja simulado;
* Adicionar comentário no campo "Valor total" explicitando a necessidade da automação.

Veja como poderia ficar:

![](/files/unbzNmoIsYxE3gLMZtBl)

Em outro cenário, digamos que você tenha um formulário com duas caixas de seleção, UF e cidade. Deseja que, após selecionada a UF, a lista de cidades seja atualizada automaticamente. Nossa sugestão seria:

* Transformar o campo "Cidade" temporariamente em um campo do tipo texto, permitindo que o nome da cidade seja preenchido manualmente e possibilitando assim que o aplicativo seja simulado;
* Adicionar comentário no campo "Cidade" explicitando a necessidade da automação.

Veja como poderia ficar:

![](/files/bX4y9q11OD4VUUes2bd6)

Observe que ao utilizar esses artifícios:

* Você permite que o aplicativo seja executado e simulado de ponta a ponta;
* Você permite que os stakeholders aprendam com o aplicativo real, executado;
* Você permite que os stakeholders confirmem que a customização é extremamente necessária;
* Você deixa explícito aos stakeholders que está ciente do requisito que foi solicitado, mas informa que ele não foi implementado ainda.

{% hint style="info" %}
**Dica**: partir direto para a codificação de customizações sem passar pela aprovação pelos stakeholders da fase de Automatização é um dos [principais erros](/zeev/formula-zeev/resumo-de-principais-erros.md#partir-para-integracoes-e-customizacoes-logo) de projetos de automação.&#x20;
{% endhint %}

#### Necessidades de integrações com outros sistemas

Digamos que você identifique, no meio do desenho do aplicativo, a potencial necessidade de integrações com outros sistemas, com o uso de [tarefa de serviço](/zeev/como-construir-processos/como-desenhar-processos/o-que-sao-atividades/tarefa-de-servico.md).&#x20;

Como desenvolvedor cidadão, você irá [especificar essa necessidade](#backlog-de-pendencias-tecnicas-revisto-e-priorizado-1) e desenhar a tarefa no aplicativo , mas não irá configurá-la. Se você não configurá-la e não se preocupar com a criação da integração em si, o aplicativo ainda assim poderá ser simulado e executado; a tarefa de serviço simplesmente será ignorada. &#x20;

Veja o exemplo abaixo. Caso a tarefa "Criar negócio no CRM" não seja configurada, após "Montar proposta comercial" ([tarefa humana](/zeev/como-construir-processos/como-desenhar-processos/o-que-sao-atividades/como-configurar-atividades-humanas.md)), o aplicativo seguirá direto para "Enviar proposta ao cliente e aguardar retorno".

![](/files/CRh9Q91IQAxn78yFXasT)

Caso essa integração seja responsável por retornar algum dado (por exemplo, o número do negócio no CRM), você usará as mesmas técnicas utilizadas na simulação das customizações do formulário para apresentar essa informação aos stakeholders:

![](/files/ndTZBUsgDDOvcHqdLegB)

{% hint style="info" %}
**Dica**: partir direto para a codificação de integrações sem passar pela aprovação pelos stakeholders da fase de Automatização é um dos [principais erros](/zeev/formula-zeev/resumo-de-principais-erros.md#partir-para-integracoes-e-customizacoes-logo) de projetos de automação.&#x20;
{% endhint %}

#### Backlog de pendências técnicas revisto e priorizado

O Backlog é um documento de especificação onde o desenvolvedor cidadão realiza a identificação, mapeamento e descrição das necessidades técnicas de customização e integração que serão, na próxima fase, implementadas pelo [desenvolvedor profissional](/zeev/formula-zeev/definir-papeis.md#desenvolvedor-profissional-professional-developer).

Esse Backlog é construído ao longo das diversas iterações da fase de automação. Ao final, é muito importante que o dono do aplicativo aprove o documento, formalmente confirmando a importância de cada item ser desenvolvido.

Na tabela abaixo, temos um exemplo simplificado de como um documento de Backlog poderia ser:

<table><thead><tr><th width="150">#</th><th width="150">Tipo</th><th width="202.7142857142857">Atividade</th><th>Descrição</th></tr></thead><tbody><tr><td>REQ01</td><td>Integração</td><td>Criar negócio no CRM</td><td>Enviar as informações nome, CPF, e-mail, valor e descrição para o CRM,  módulo de negócios, e salvar o ID do negócio no campo "Número do CRM"</td></tr><tr><td>REQ02</td><td>Integração</td><td>Consultar escore de crédito</td><td>Com base no CPF, consultar API de consulta de crédito e armazenar o valor no campo "retornoCredito"</td></tr><tr><td>REQ03</td><td>Formulário</td><td>Preencher solicitação</td><td>Ao selecionar o campo UF, preencher automaticamente com a lista de cidades</td></tr><tr><td>REQ04</td><td>Formulário</td><td>Preencher solicitação</td><td>Ao preencher os valores da solicitação, somar todos os valores e salvar o valor de soma no campo  "somaTotal"</td></tr></tbody></table>

## Cursos Online

Esses são os cursos online que apoiam essa fase.

* [Dia-a-dia usando o Zeev](https://universidade.zeev.it/p/ead-03)<br>
* [Como criar aplicativos](https://universidade.zeev.it/p/ead-05-criar-aplicativos)

## Duração

Essa fase pode levar de alguns dias até alguns meses, dependendo do tamanho do projeto. Se o projeto é grande, divida-o em ciclos menores de entregas.

## Entregas

Ao final de todas as iterações dessa fase, é esperado que as seguintes entregas sejam finalizadas:

* [ ] Processo do aplicativo [desenhado ](/zeev/como-construir-processos/como-desenhar-processos.md)e configurado no Zeev, usando padrão [BPMN ](/zeev/como-construir-processos/como-desenhar-processos.md#o-que-e-bpmn)e melhores práticas<br>
* [ ] [Formulário eletrônico](/zeev/como-construir-processos/como-criar-formularios.md) construído no Zeev, usando somente funções nativas<br>
* [ ] [Times ](/zeev/usuarios-e-permissoes/como-criar-times.md)e [funções ](/zeev/usuarios-e-permissoes/como-criar-funcoes.md)cadastrados na plataforma<br>
* [ ] Aplicativo [simulável ](/zeev/como-construir-processos/como-validar-aplicativos-antes-de-publica-los/como-simular-a-execucao-de-processo.md)na plataforma, sem customizações nem integrações<br>
* [ ] Aplicativo básico testado e aprovado pelos [stakeholders](/zeev/formula-zeev/definir-papeis.md#stakeholders)<br>
* [ ] [Backlog de pendências](#backlog-de-pendencias-tecnicas-revisto-e-priorizado) técnicas revisto e priorizado


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.stoque.com.br/zeev/formula-zeev/criar-um-aplicativo/executar-fases/fase-automatizar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
