Decomposição do problema
O primeiro passo consiste em dividir o problema em partes menores, por exemplo:
• Receber lista de candidatos;
• Coletar disponibilidade dos candidatos;
• Coletar disponibilidade dos entrevistadores;
• Cruzar horários;
• Definir agenda;
• Enviar e-mails de confirmação;
• Registrar status da entrevista;
• Tratar cancelamentos;
• Tratar reagendamentos.Reconhecimento de padrões
Identificar os padrões do processo repetitivo, previsível e baseado em regras, como:
• O processo acontece toda semana;
• Os e-mails seguem sempre o mesmo modelo;
• A agenda tem sempre a mesma estrutura;
• Cancelamentos seguem o mesmo fluxo: cancelar → liberar horário → reagendar;
• As decisões seguem regras simples.Abstração
Gerenciar automaticamente agendamentos, confirmações, cancelamentos e reagendamentos de entrevistas, mantendo a agenda sempre atualizada e comunicando todos os envolvidosAlgoritmo
Com base nos padrões e nas abstrações definidas, é possível criar um algoritmo com o seguinte fluxo:
Agendamento
• Receber dados do candidato;
• Receber dados do entrevistador;
• Cruzar horários;
• Definir melhor horário disponível;
• Criar evento na agenda;
• Enviar e-mails de confirmação;
• Registrar status = Agendado.
Cancelamento
• Receber solicitação de cancelamento (candidato ou entrevistador);
• Atualizar status = Cancelado;
• Excluir ou marcar evento como cancelado na agenda;
• Enviar e-mails automáticos informando o cancelamento;
• Liberar horário para novo uso.
Reagendamento
• Buscar novo horário disponível;
• Criar novo evento;
• Enviar novas confirmações;
• Atualizar status = Reagendado.