INTRODUÇÃO
Post anterior: Exemplos D2P T2E1: Exemplo de uso do app D2P - Introdução
Este é o episódio 2 da temporada 1 da série Exemplos D2P, que apresenta o cálculo da produtividade num processo de aprendizado, com foco na Lição 1.
Padrões usados no app D2P
Os padrões usados no app D2P estão definidos no episódio
T2E1 desta série, nos tópicos abaixo, onde você pode obter uma cópia grátis da planilha que contém o app completo:
- Arquitetura do app D2P;
- Guia do Usuário.
Fases do Processo Pessoal
As fases do processo pessoal são: Iniciação, Planejamento, Execução, Controle e Encerramento.
No nosso exemplo, cada fase tem um conteúdo padrão, conforme a descrição abaixo:
- Iniciação: Leitura da Lição do dia. Ao todo serão 365 lições.
- Planejamento: Reflexão 1 sobre a Lição do dia, antes de praticar.
- Execução: Prática da Lição do dia, precedida da leitura. Ao todo serão 6 práticas.
- Controle: Reflexão 2 sobre a Lição do dia, após a realização das práticas do dia.
- Encerramento: Prática da Lição do dia, precedida da leitura. Última do dia, após a reflexão 2.
Planejamento dos exemplos
- Qual é o processo pessoal dos exemplos? É um processo de aprendizado, baseado num livro que tem várias lições com exercícios práticos, sendo executada uma lição por dia.
- Onde queremos chegar com estes exemplos? Queremos chegar ao aprendizado do conteúdo do livro, ao mesmo tempo em que validamos a utilidade do app D2P.
- Quais são os nossos indicadores? Por enquanto temos apenas o indicador de produtividade.
- Onde estão nossas perdas? Saberemos durante a execução dos exemplos, pois o app D2P tem uma funcionalidade de registro das ocorrências que causam perdas.
- Qual é a nossa produtividade global? Saberemos após a coleta de dados nas primeiras 20 Lições.
Plano do Dia da Lição 1
A figura abaixo mostra, em amarelo, os dados de entrada do Plano do Dia, para a Lição 1, que devem ser adicionados no app D2P.
Tarefas padronizadas no app D2P
As tarefas padronizadas abaixo podem ser usadas para qualquer tipo de processo:
- Iniciação
- Planejamento
- Execução
- Monitoramento
- Finalização
Detalhes da tarefa Iniciação
- Leitura 1 da Lição 1: no início do dia, a tarefa leitura 1 da lição 1 deve ser executada, de preferência, antes das 7 horas da manhã.
- O tamanho dessa tarefa é obtido no próprio livro, pela quantidade de sentenças do texto da lição, atribuindo-se a cada sentença 1 ponto.
- A duração dessa tarefa é obtida na versão do livro em audio, pelo tempo de duração do audio da lição.
Detalhes da tarefa Planejamento
- Reflexão 1 sobre a Lição 1: após a tarefa Leitura 1 da Lição 1, deve ser feita uma reflexão a respeito da Lição, antes de praticar.
- O tamanho atribuído a essa tarefa é 5 (Pequena), de acordo com a tabela que combina T-Shirt Size com a série de Fibonacci.
- Saiba mais sobre essa tabela clicando aqui e lendo o tópico Tamanho em Pontos.
- A duração planejada para essa tarefa é calculada em função do tamanho e duração da tarefa Leitura 1 da Lição 1, por regra de três simples e direta.
Detalhes da tarefa Execução
- Prática 1 da Lição 1: essa tarefa deve ser repetida 6 vezes durante o dia, podendo ser de hora em hora ou de duas em duas horas, para fixar o conhecimento.
- Os nomes são:
- Prática 2 da Lição 1,
- Prática 3 da Lição 1,
- Prática 4 da Lição 1,
- Prática 5 da Lição 1,
- Prática 6 da Lição 1 e
- Prática 7 da Lição 1.
- O tamanho é atribuído a essa tarefa somando-se 5 pontos ao tamanho da tarefa Leitura 1 da Lição 1.
- A duração planejada para essa tarefa é calculada, também, em função do tamanho e duração da tarefa Leitura 1 da Lição 1, por regra de três simples e direta.
Detalhes da tarefa Monitoramento
- Reflexão 2 sobre a Lição 1: no final do dia a tarefa Leitura 1 da Lição 1 deve ser executada, antes da tarefa Leitura e prática 7 da Lição 1.
Detalhes da tarefa Finalização
- Prática 7 da Lição 1: esta é a última tarefa a ser executada no dia.
Resumindo a atribuição do tamanho das tarefas
- O tamanho da tarefa "Leitura" deve ser igual à quantidade de frases da lição no livro (Considerado Grande (G) que pode ser 21 ou 34)
- O tamanho da tarefa "Reflexão" deve ser considerado Pequeno (P) e igual a 3 ou 5.
- O tamanho da tarefa "Prática" deve ser igual ao tamanho da tarefa "Reflexão" , que é considerado Pequeno (P) e igual a 3 ou 5.
Estrutura do código da tarefa
O código da tarefa é estruturado de uma forma que permita identificar:
- Processo: no nosso exemplo o processo é C1 (Curso ...)
- Fase: I é Iniciação, P é Planejamento, E é Execução, M é Monitoramento e F é Finalização.
- Lição: no nosso exemplo a lição é L1 (Lição 1), L2 (Lição 2), ... , L365 (Lição 365).
- Sequência: no nosso exemplo é um número sequencial em cada fase, começando em 1.
Como incluir as tarefas do Plano do Dia
Descrição da janela do Plano do Dia da Lição 1
Seguem abaixo as imagens do Dashboard e a descrição das interações do usuário com o app.
Jornada do Dia
A jornada do dia começa com o cartão Jornada do Dia nestas condições abaixo:
Quando o usuário clica no botão
Iniciar Jornada, os campos
Início e
Duração são inicializados.
Regras básicas para usar o app D2P
- Regra 1: O usuário deve limpar a aba Tarefas (deixando apenas o cabeçalho), antes do início da jornada do dia.
- Regra 2: O usuário deve finalizar a jornada do dia no mesmo dia em que foi iniciada.
- Regra 3: O app D2P deve registrar os totais do dia e a produtividade calculada, na aba HistoricoProdutividade, quando o usuário clicar no botão Finalizar Jornada.
- Regra 4: O app D2P deve calcular a coluna HorasTrabalhadasSegundos, da aba HistoricoProdutividade, como o somatório do tempo efetivo de execução das tarefas do dia, em segundos, da aba Tarefas.
- Regra 5: O app D2P deve calcular a coluna PontosTotais, da aba HistoricoProdutividade, como o somatório dos pontos das tarefas executadas no dia.
- Regra 6: O app D2P deve calcular a coluna Valor, da aba HistoricoProdutividade, como a divisão de PontosTotais por HorasTrabalhadasSegundos divididas por 3600.
- Regra 7: A aba XmR deve copiar para o gráfico, da aba HistoricoProdutividade, as produtividades de 60 dias.
- Regra 8: O usuário deve administrar a quantidade de produtividades maior do que 60, na aba HistoricoProdutividade, de acordo com suas necessidades e conforme sua experiência com planilhas Google.
Alternativas para gerenciar a aba HistoricoProdutividade:
Alternativa 1: trabalhar com as fórmulas da planilha, na aba XmR, para coletar as produtividades na aba HistoricoProdutividade, conforme as necessidades.
Alternativa 2: fazer uma cópia da planilha "Banco de Dados - D2P", para guardar um histórico, e reiniciar outra planilha limpando todas as produtividades registradas na aba HistoricoProdutividade.
Alternativa 3: manter a mesma planilha "Banco de Dados - D2P", mas removendo da aba HistóricoProdutividade as 30 primeiras produtividades. Assim, manterá um histórico dos últimos 30 dias e ainda terá espaço para mais 30 produtividades.
Plano do Dia
Depois de iniciar a jornada, o cartão Plano do Dia estará nas condições abaixo:
Quando o usuário clica abaixo do
Nome da Tarefa, aparecerá uma caixa de texto para digitação do nome da tarefa.
Após a digitação do
Nome da Tarefa, aparecerá uma caixa de texto abaixo do
Código e, também, uma caixa de seleção abaixo do texto
Pontos.
Depois de adicionar uma tarefa, esta aparecerá como opção de seleção, abaixo do Nome da Tarefa.
Depois que uma tarefa é adicionada, aparecerá na parte inferior do cartão, tendo do lado direito um botão e o texto "Pendente".
Quando o usuário clica nesse botão, a tarefa é considerada em execução e o tempo começa a ser contado, aparecendo no quadro Tarefa em Execução.
Tarefa em Execução
Se uma tarefa estiver em execução e o usuário clicar no botão Pausar, a contagem do tempo é interrompida.
Quando o usuário pausar, o botão Pausar muda para Retomar.
Quando o usuário clica no botão Retomar, a contagem do tempo volta a ser feita.
Quando o usuário clica no botão Finalizar a tarefa é considerada encerrada e na lista de tarefas o texto "Pendente" muda para "Concluída" e o botão fica desabilitado.
Registro de Ocorrências
O usuário pode registrar a ocorrência de problemas que afetam a execução da tarefa no cartão Registro de Ocorrências, clicando no botão Iniciar Boletim de Ocorrência.
Quando o usuário clicar no botão Iniciar Boletim de Ocorrência, será aberta a janela abaixo.
Quando o usuário clicar no campo Tipo de Defeito, as opções de escolha aparecem conforme a figura abaixo.
Exemplos de defeitos
Mão de Obra
- Mente: falha por falta de concentração, distração, falta de conhecimento ou outras associadas à mente.
- Emoção: falha por instabilidade emocional, irritação ou outras associadas às emoções.
- Corpo: falha por cansaço, doença ou outras associadas ao corpo.
Máquina
- Hardware: falha no equipamento, notebook, tablet ou celular, que impede o funcionamento.
- Software: falha em aplicativos de apoio, que impedem a execução da tarefa.
- Comunicação: falha por indisponibilidade da Internet ou da rede Wifi ou outro tipo de rede.
Método
- Entrada: falha na tarefa por entrada de informação incompleta, imprecisa ou inválida.
- Processo: falha na tarefa por ter produzido informação incompleta, imprecisa ou inválida.
- Saída: falha na tarefa por ter enviado informação incompleta, imprecisa ou inválida.
Quando o usuário clicar no botão Finalizar Boletim de Ocorrência, aparece uma janela de aviso com a mensagem abaixo.
Quando o usuário clicar no botão OK, a janela de aviso será fechada e aparecerá a janela do Dashboard.
Resultado da execução do Plano do Dia
Seguem abaixo as imagens das abas da planilha Banco de Dados - D2P, nas quais foram gravados os dados das tarefas do Plano do Dia que foi executado.
É importante enfatizar que a hora da execução não é relevante, neste exemplo.
Portanto, o intervalo de tempo entre duas tarefas executadas foi muito pequeno.
O que importa é registrar o tamanho e a duração das tarefas conforme o Plano do Dia, para que o resultado, que é o valor do indicador de produtividade, seja calculado usando os dados planejados.
Aba Tarefas
Criação do Plano do Dia
Após criação do Plano do Dia da Lição 1, a aba Tarefas ficou assim:

Observe que a coluna Status está igual a pending para todas as tarefas.
Compare a aba Tarefas com a figura que aparece acima, no tópico Plano do Dia da Lição 1, e observe que parte dos dados na figura que estão na cor amarela estão aparecendo nessa aba.
Alem disso, a coluna DuraçãoEfetivaSegundos está zerada e a coluna DataConclusao está vazia.
Isto confirma que as tarefas do Plano do Dia foram adicionadas com sucesso.
Execução das tarefas
Após a execução das tarefas do Plano do Dia da Lição 1, a aba Tarefas ficou assim:
Por que não foram executadas todas as tarefas que foram planejadas no tópico Plano do Dia da Lição 1? Porque o livro recomendou fazer apenas duas práticas da Lição 1.
Após a execução das tarefas a Jornada do Dia, da interface do usuário, ficou assim:
Observe que a Produtividade foi calculada e, também, o tamanho total das tarefas em Pontos.
Esses dados são registrados na aba HistoricoProdutividade, a fim de emitir o gráfico de controle, na aba XmR.
Após a execução das tarefas o Plano do Dia, da interface do usuário, ficou assim:

Aba Defeitos
Após a execução das tarefas do Plano do Dia da Lição 1, a aba Defeitos ficou assim: Nenhum defeito foi registrado neste exemplo.
Aba HistoricoProdutividade
Após a execução das tarefas do Plano do Dia da Lição 1, a aba HistoricoProdutividade ficou assim:

Aba XmR
Após a execução das tarefas do Plano do Dia da Lição 1, a aba XmR apresentou um gráfico com apenas 1 ponto, que é a produtividade do dia, portanto, não será analisado e interpretado.

O gráfico XmR exige uma quantidade razoável de dados para que os limites de controle calculados sejam estáveis e representem com precisão a variação do processo.
Geralmente, um mínimo de 10 a 15 pontos é recomendado para obter estimativas razoáveis dos limites de controle.
Com menos pontos, os limites de controle podem ser muito sensíveis a variações nos dados e gerar muitos sinais falsos de que o processo está fora de controle.
Como é feito o cálculo da produtividade
Entenda como o cálculo da produtividade foi realizado, na explicação feita pelo próprio Gemini 2.5 Pro, que criou o app D2P.
A produtividade é calculada dividindo o total de pontos das tarefas concluídas pelo total de horas efetivamente trabalhadas.
O tempo é salvo como um número decimal na planilha para facilitar cálculos futuros.
Abaixo, detalho os dois pontos.
⚙️ Cálculo da Produtividade (Pontos / Hora)
O cálculo é feito no front-end (arquivo `Dashboard.html`) e segue esta fórmula:
$Produtividade = \\frac{\\text{Pontos Totais Concluídos}}{\\text{Horas Efetivas Trabalhadas}}$
O cálculo acontece dentro da função `updateUI()` e pode ser quebrado em duas partes:
1. Pontos Totais Concluídos (`totalCompletedPoints`):
O código primeiro soma os pontos de todas as tarefas que têm o status `"completed"` (concluída).
```javascript
const totalCompletedPoints = state.tasks
.filter(t => t.status === 'completed') // Filtra apenas tarefas concluídas
.reduce((sum, t) => sum + parseInt(t.points || 0, 10), 0); // Soma os pontos
```
2. Horas Efetivas Trabalhadas (`hoursWorked`):
O sistema mede o tempo de trabalho "efetivo" em segundos na variável `state.workday.totalEffectiveSeconds`. Este contador só avança quando uma tarefa está ativa e não pausada. Isso garante que pausas e o tempo entre tarefas não entrem no cálculo.
Este total de segundos é então convertido para horas pela função `formatTimeHours`.
```javascript
const formatTimeHours = (totalSeconds) => {
if (isNaN(totalSeconds) || totalSeconds <= 0) return 0;
return totalSeconds / 3600; // Converte segundos para horas (ex: 1800s -> 0.5h)
};
```
A conversão é chamada dentro de `updateUI`:
```javascript
const hoursWorked = formatTimeHours(state.workday.totalEffectiveSeconds);
```
Finalmente, a divisão é realizada para obter a produtividade, que é exibida na tela. O código também evita divisão por zero.
```javascript
const productivity = hoursWorked > 0 ? (totalCompletedPoints / hoursWorked).toFixed(2) : '0.00';
productivityRateEl.textContent = productivity;
```
🔢 Formato do Número na Planilha `HistoricoProdutividade`
Na planilha, a coluna `HorasTrabalhadas` armazena um número decimal em vez de um formato de tempo (`HH:MM:SS`) porque o valor enviado do dashboard já está nesse formato.
Isso é uma decisão de design intencional e vantajosa. Veja o porquê:
1. Envio dos Dados: Ao finalizar a jornada (`handleEndWorkday`), o código prepara o objeto `historyData` para ser salvo. A propriedade `hoursWorked` já usa o valor convertido para horas decimais.
```javascript
const hoursWorked = formatTimeHours(state.workday.totalEffectiveSeconds);
const historyData = {
// ... outras propriedades
hoursWorked: hoursWorked.toFixed(4) // Ex: 0.7500 em vez de "00:45:00"
};
google.script.run.saveProductivityHistory(historyData);
```
2. Armazenamento: A função `saveProductivityHistory` no arquivo `Código.gs` simplesmente pega esse valor numérico e o insere na planilha, sem nenhuma conversão adicional.
```javascript
const novaLinha = [
historyData.date,
historyData.productivityRate,
historyData.totalPoints,
historyData.hoursWorked // Insere o número decimal diretamente
];
sheet.appendRow(novaLinha);
```
Vantagem principal: Armazenar o tempo como um número decimal (ex: `1.5` para 1 hora e 30 minutos) simplifica enormemente a realização de cálculos futuros diretamente na Planilha Google, como calcular médias de produtividade, somar horas trabalhadas ao longo da semana ou criar gráficos.
Seria muito mais complexo fazer isso com textos no formato `HH:MM:SS`.
CONCLUSÃO
Neste episódio 2 da temporada 2 da série Exemplos D2P, foi apresentado o resultado do processo de aprendizado, com foco na Lição 1.
Esses dados da Lição 1 foram usados no gráfico XmR que apresenta o Indicador de Produtividade.