
Em um
artigo anterior, falamos sobre a abordagem dos termos de referência na produção de TI da Decart. Quando introduzimos essas mudanças, os projetos foram conduzidos na nuvem Jira, mas seu potencial foi usado no mínimo. Para uma empresa pequena, a definição de tarefas competentes, um rastreador de tempo, um rastreador de erros e estatísticas de um projeto e uma equipe são suficientes. A equipe ficou muito mais confortável trabalhando com o TK como um único documento do que com tarefas individuais em Jira, pelo menos devido à facilidade de navegação no Google Docs (doravante - Docs). Mesmo no início do trabalho no novo TK, as idéias pareciam simplificar o processo de trabalho, de alguma forma "concluindo" o Google Docs, mas uma série de projetos não deixou tempo para mergulhar nessa questão. E assim, quando ainda era tempo, fiz uma lista de objetivos que queríamos alcançar:
- Rastreamento de tempo no próprio Documentos Google
- Relatório de funcionários
- Relatórios do Projeto
- Reduzir o tempo para trabalhar com o próprio sistema durante a implementação de projetos
- Evite duplicar uma informação em lugares diferentes
- Gaste um mínimo de recursos da empresa
Mas primeiro, vamos falar sobre tecnologia.
Scripts do Google
O Script do Google Apps (daqui em diante GAS) é um dialeto do JavaScript para criar scripts e extensões de automação para os serviços do Google. Embora o GAS não seja muito popular na comunidade da Internet de língua russa, não há dúvida sobre sua utilidade. O GAS é uma boa ferramenta para automatizar vários processos de negócios, pois possui uma ampla gama de integrações. No momento, o idioma possui classes e métodos para trabalhar com os seguintes serviços: Tabelas, Documentos, Formulários, Disco, Gmail, Calendário, Contatos, Mapas, Grupos, Tradutor.
Um script pode funcionar com vários serviços ao mesmo tempo, o que permite criar uma combinação de ferramentas adequadas para sua tarefa.
Além disso, com a ajuda do Script do Google Apps, você pode criar aplicativos da Web completos com interfaces gráficas em HTML / incorporar o Script do Google Apps nos seus sites. O exemplo mais simples: crie um formulário no site para fazer upload de arquivos de um computador para o Google Drive
Como resultado, quero observar as seguintes vantagens:
- O GAS é muito fácil de usar.
- Uma ampla gama de integrações com vários serviços
- Correndo na nuvem
- Ferramentas convenientes para depuração e registro
- Capacidade de ajustar os direitos de acesso
Como limitações, observamos o seguinte:
- Limites no número de solicitações, no número de documentos criados etc. O limite do tempo máximo de execução pode fazer com que você gaste mais tempo otimizando o código do que gostaríamos
- Tem algumas limitações com CSS
- Você deve ter uma Conta do Google para desenvolver e usar extensões
Em geral, o GAS é uma ótima ferramenta para automatizar processos de negócios de pequenas empresas, mas também pode ser usado para tarefas mais sérias.
Agora passamos diretamente para a implementação.
Estrutura
Para armazenar e visualizar dados, decidimos usar o Google Spreadsheets e construímos uma arquitetura simples com base em três tabelas.
Tabela "Trabalho"
Fizemos isso imediatamente por um ano. Lençóis são meses. Colunas:
- Dia do mês
- Quem
- Projeto
- ID da tarefa
- Hora marcada
- Comentário

De fato, esta é a nossa base com base na qual outras tabelas são formadas. Cada linha representa uma entrada de mão de obra separada.
Tabela "Relatório mensal"
É necessário que o funcionário e a gerência vejam em que dia em quais projetos e quanto foi elaborado. Lençóis são funcionários. Colunas:
- Dia do mês
- Trabalhou em um dia
- Projeto
- ID da tarefa
- Desafio
- Hora marcada
- Comentário

O número e o tempo total para esse número em uma linha separada, menor são os custos de mão de obra.
Tabela “Trabalho de Projeto”
Ele permite que você entenda o tempo alocado para a tarefa, quanto já foi gasto, quantas horas restam para cada um dos departamentos (design, front-end, back-end). Folhas - versões do produto. Colunas:
- Seção TK (títulos h1)
- ID da tarefa
- Desafio
- 2 colunas para cada departamento: elaborado e estimado (em horas)
- Total
- A balança. Grau menos gasto
- Quem trabalhou na tarefa e quanto gastou

A última linha é um resumo das colunas da DL.
Como isso funciona?
Nós escrevemos esse complemento no google scripts, que após a instalação pode ser usado em qualquer documento do Google usando a guia "Complementos". Quando todos os documentos com o cliente são assinados, fazemos uma cópia da declaração de trabalho, com a qual continuaremos trabalhando. Quando o projeto é inicializado, é verificado se a tabela "Trabalho do Projeto" já foi criada. Caso contrário, um novo é criado. Nesse caso, uma nova planilha é adicionada à antiga. Para uma operação correta, é claro, é necessário nomear os arquivos de acordo com o modelo escolhido, mas isso pode ser omitido.

Todas as tarefas devem ter o seguinte nome:
Tasks_Name (Design_Time_Evaluation + Front_Time_Evaluation + Back_Time_Evaluation) [Task_ID].
O ID é gerado automaticamente quando o projeto é inicializado.
Agora o arquivo está pronto para funcionar. Para marcar a hora, você precisa colocar o cursor no título da tarefa e selecionar o item de menu “Adicionar mão-de-obra”. Ao clicar nela, uma janela será aberta.

Os custos de mão-de-obra são adicionados imediatamente a todas as tabelas acima. Sob o título da tarefa no Documentos, a linha "Participantes" é exibida, listando todos os que trabalharam nela com o horário marcado.

Bugtracker
Para cada projeto, além dos arquivos com versões TK, criamos um arquivo de erro, que em termos de sistema é a mesma versão. A avaliação das tarefas (tempo pago pelo Cliente) será zeros.
Mas, diferentemente de um arquivo com TK, ele é atualizado constantemente. Nesse caso, implementamos uma única adição de tarefa, além de alterar o nome / classificação da tarefa nas tabelas, se elas forem alteradas.
Para garantir que os erros não sejam perdidos neste arquivo, duplicamos os cabeçalhos de todas as novas tarefas em um bate-papo separado em um telegrama indicando o projeto, o grau de importância e o desenvolvedor responsável. Quando o bug é corrigido, o desenvolvedor responde com um sinal de adição, e o PM verifica e remove do bate-papo todas as mensagens relacionadas a esse bug. Portanto, o objetivo é um bate-papo vazio.
Sim, em termos do bugtracker, é possível encontrar uma solução mais elegante, mas essa abordagem não exigiu nenhuma melhoria da nossa parte e, ao mesmo tempo, mostrou-se bem.
Planos futuros
No momento, realizamos o MVP e, no futuro, implementaremos pelo menos status de tarefas (agora é apenas destaque) e estatísticas financeiras básicas, sem transformar o projeto em um monstro de Frankenstein.
Obrigado pela leitura até o final e tenha um bom dia!