Time Tracker para Google Scripts, documentos y hojas de cálculo



En un artículo anterior, hablamos sobre el enfoque de los términos de referencia en Decart IT-production. Cuando presentamos estos cambios, los proyectos se llevaron a cabo en la nube Jira, pero su potencial se utilizó al mínimo. Para una pequeña empresa, la configuración de tareas competente, un rastreador de tiempo, un rastreador de errores y estadísticas sobre un proyecto y un equipo son suficientes. El equipo se sintió mucho más cómodo trabajando con TK como un documento único que con tareas individuales en Jira, al menos debido a la facilidad de navegación en Google Docs (en adelante, Docs). Incluso al comienzo del trabajo en el nuevo TK, hubo pensamientos para simplificar el proceso de trabajo, de alguna manera "completando" Documentos, pero una serie de proyectos no dejaron tiempo para profundizar en este tema. Y así, cuando aún se encontraba el tiempo, hice una lista de objetivos que queríamos lograr:

  1. Seguimiento del tiempo en los propios documentos
  2. Informes de empleados
  3. Informes de proyectos
  4. Reducir el tiempo de trabajo con el sistema durante la implementación de proyectos.
  5. Evite duplicar una información en diferentes lugares.
  6. Gastar un mínimo de recursos de la empresa.

Pero primero, hablemos de tecnología.

Guiones de Google


Google Apps Script (en adelante, GAS) es un dialecto de JavaScript para crear scripts de automatización y extensiones para los servicios de Google. Aunque GAS no es muy popular en la comunidad de Internet de habla rusa, no hay duda sobre su utilidad. GAS es una buena herramienta para automatizar diversos procesos de negocio, ya que tiene una amplia gama de integraciones. Por el momento, el idioma tiene clases y métodos para trabajar con los siguientes servicios: Tablas, Documentos, Formularios, Disco, Gmail, Calendario, Contactos, Mapas, Grupos, Traductor.

Un script puede funcionar con varios servicios a la vez, lo que le permite crear una combinación de herramientas adecuadas para su tarea.

Además, con la ayuda de Google Apps Script, puede crear aplicaciones web completas con interfaces gráficas en HTML / incrustar Google Apps Script en sus sitios. El ejemplo más simple: haga un formulario en el sitio web para cargar archivos desde una computadora a Google Drive

Como resultado, quiero señalar las siguientes ventajas:

  1. GAS es bastante fácil de usar.
  2. Una amplia gama de integraciones con diversos servicios.
  3. Corriendo en la nube
  4. Herramientas convenientes para depurar y registrar
  5. Capacidad para ajustar los derechos de acceso

Como limitaciones, observamos lo siguiente:

  1. Límites en la cantidad de solicitudes, la cantidad de documentos creados, etc. El límite en el tiempo máximo de ejecución puede hacer que pase más tiempo optimizando el código de lo que nos gustaría
  2. Tiene algunas limitaciones con CSS
  3. Debe tener una cuenta de Google para desarrollar y usar extensiones

En general, GAS es una gran herramienta para automatizar los procesos comerciales de pequeñas empresas, pero también se puede utilizar para tareas más serias.

Ahora pasamos directamente a la implementación.

Estructura


Para almacenar y visualizar datos, decidimos usar las hojas de cálculo de Google y construimos una arquitectura simple basada en tres tablas.

Tabla "Labor"


Lo hicimos de inmediato por un año. Las sábanas son meses. Columnas:

  1. Dia del mes
  2. Quien
  3. Proyecto
  4. ID de tarea
  5. Tiempo marcado
  6. Comentario



De hecho, esta es nuestra base en base a la cual se forman otras tablas. Cada línea representa una entrada laboral separada.

Tabla "Informe mensual"


Es necesario que tanto el empleado como la gerencia vean qué día en qué proyectos y cuánto se resolvió. Las sábanas son empleados. Columnas:

  1. Dia del mes
  2. Resuelto en un día
  3. Proyecto
  4. ID de tarea
  5. Desafío
  6. Tiempo marcado
  7. Comentario



El número y el tiempo total para este número en una línea separada, menor son los costos de mano de obra.

Tabla "Trabajo del proyecto"


Le permite comprender el tiempo asignado para la tarea, cuánto se ha gastado, cuántas horas quedan para cada uno de los departamentos (diseño, front-end, back-end). Hojas - versiones de productos. Columnas:

  1. Sección TK (encabezados h1)
  2. ID de tarea
  3. Desafío
  4. 2 columnas para cada departamento: elaborado y estimado (en horas)
  5. Total
  6. El balance Grado menos gastado
  7. Quién trabajó en la tarea y cuánto gastó



La última línea es un resumen de las columnas DL.

Como funciona


Escribimos este complemento en las secuencias de comandos de Google, que después de la instalación se pueden usar en cualquier documento de Google mediante la pestaña "Complementos". Cuando se firman todos los documentos con el cliente, hacemos una copia de la declaración de trabajo, con la cual continuaremos trabajando. Cuando se inicializa el proyecto, se verifica si la tabla "Trabajo del proyecto" ya se ha creado. Si no, se crea uno nuevo. Si es así, se agrega una nueva hoja a la anterior. Para un funcionamiento correcto, por supuesto, es necesario nombrar los archivos de acuerdo con nuestra plantilla elegida, pero esto puede omitirse.



Todas las tareas deben tener el siguiente nombre:
Tasks_Name (Design_Time_Evaluation + Front_Time_Evaluation + Back_Time_Evaluation) [Task_ID].
La ID se genera automáticamente cuando se inicializa el proyecto.

Ahora el archivo está listo para funcionar. Para marcar la hora, debe colocar el cursor en el título de la tarea y seleccionar el elemento de menú "Agregar trabajo", cuando haga clic en él, se abrirá una ventana.



Los costos laborales se agregan inmediatamente a todas las tablas anteriores. Bajo el título de la tarea en Documentos, aparece la línea "Participantes", que enumera a todos los que trabajaron en ella con las horas marcadas.



Bugtracker


Para cada proyecto, además de los archivos con versiones TK, creamos un archivo de error, que en términos del sistema es la misma versión. La evaluación de las tareas (tiempo pagado por el Cliente) serán ceros.

Pero a diferencia de un archivo con TK, se actualizará constantemente. En este caso, implementamos una adición de tarea única, así como también cambiamos el nombre / calificación de la tarea en las tablas si cambiaron.

Para garantizar que no se pierdan errores en este archivo, duplicamos los encabezados de todas las tareas nuevas en un chat separado en un telegrama que indica el proyecto, el grado de importancia y el desarrollador responsable. Cuando se soluciona el error, el desarrollador responde con un plus, y el PM verifica y elimina del chat todos los mensajes relacionados con este error. Entonces el objetivo es un chat vacío.

Sí, en términos del rastreador de errores, uno podría encontrar una solución más elegante, pero este enfoque no requirió ninguna mejora de nosotros, y al mismo tiempo se mostró bien.

Planes futuros


Por el momento, hemos hecho MVP, y en el futuro implementaremos al menos estados de tareas (ahora solo destaca) y estadísticas financieras básicas, sin convertir el proyecto en un monstruo de Frankenstein.

¡Gracias por leer hasta el final y que tenga un buen día!

Source: https://habr.com/ru/post/es421461/


All Articles