
Dans un
article précédent, nous avons parlé de l'approche des termes de référence dans Decart IT-production. Lorsque nous avons introduit ces changements, les projets ont été menés dans le cloud Jira, mais son potentiel a été utilisé au minimum. Pour une petite entreprise, l'établissement de tâches compétentes, un suivi du temps, un suivi des bogues et des statistiques sur un projet et une équipe suffisent. L'équipe était beaucoup plus à l'aise de travailler avec les savoirs traditionnels en tant que document unique qu'avec des tâches individuelles dans Jira, du moins en raison de la facilité de navigation dans Google Docs (ci-après - Docs). Même au tout début des travaux sur le nouveau savoir traditionnel, des réflexions ont été faites pour simplifier le processus de travail, en quelque sorte «compléter» les documents, mais une série de projets n'a pas laissé le temps de se plonger dans cette question. Et donc, quand le temps était encore trouvé, j'ai fait une liste d'objectifs que nous voulions atteindre:
- Suivi du temps dans Docs lui-même
- Rapports des employés
- Rapports de projet
- Réduction du temps de travail avec le système lui-même lors de la mise en œuvre des projets
- Évitez de dupliquer une information à différents endroits
- Dépensez un minimum de ressources de l'entreprise
Mais d'abord, parlons de la technologie.
Scripts Google
Google Apps Script (ci-après GAS) est un dialecte de JavaScript pour la création de scripts d'automatisation et d'extensions pour les services Google. Bien que le GAS ne soit pas très populaire dans la communauté Internet russophone, son utilité ne fait aucun doute. GAS est un bon outil pour automatiser divers processus métier, car il dispose d'un large éventail d'intégrations. À l'heure actuelle, la langue a des classes et des méthodes pour travailler avec les services suivants: Tableaux, Documents, Formulaires, Disque, Gmail, Calendrier, Contacts, Cartes, Groupes, Traducteur.
Un script peut fonctionner avec plusieurs services à la fois, ce qui vous permet de créer une combinaison d'outils adaptés à votre tâche.
De plus, avec l'aide de Google Apps Script, vous pouvez créer des applications Web à part entière avec des interfaces graphiques sur HTML / intégrer Google Apps Script sur vos sites. L'exemple le plus simple: créez un formulaire sur le site Web pour télécharger des fichiers depuis un ordinateur vers Google Drive
En conséquence, je tiens à noter les avantages suivants:
- GAS est assez facile à utiliser.
- Une large gamme d'intégrations avec différents services
- Courir dans le cloud
- Outils pratiques pour le débogage et la journalisation
- Possibilité d'affiner les droits d'accès
En tant que limitations, nous notons ce qui suit:
- Limites sur le nombre de demandes, le nombre de documents créés, etc. La limite du temps d'exécution maximal peut vous faire passer plus de temps à optimiser le code que nous le souhaiterions
- A quelques limitations avec CSS
- Vous devez avoir un compte Google pour développer et utiliser des extensions
En général, GAS est un excellent outil pour automatiser les processus commerciaux des petites entreprises, mais peut également être utilisé pour des tâches plus sérieuses.
Passons maintenant directement à l'implémentation.
La structure
Pour stocker et visualiser les données, nous avons décidé d'utiliser Google Spreadsheets et avons construit une architecture simple basée sur trois tableaux.
Tableau «Travail»
Nous l'avons fait tout de suite pendant un an. Les feuilles sont des mois. Colonnes:
- Jour du mois
- Qui
- Projet
- Identifiant de tâche
- Temps marqué
- Commentaire

En fait, c'est notre base sur la base de laquelle d'autres tables sont formées. Chaque ligne représente une entrée de main-d'œuvre distincte.
Tableau «Rapport mensuel»
Il est nécessaire que l'employé et la direction voient à quel jour quels projets et combien ont été élaborés. Les feuilles sont des employés. Colonnes:
- Jour du mois
- Entraîné en une journée
- Projet
- Identifiant de tâche
- Défi
- Temps marqué
- Commentaire

Le nombre et la durée totale de ce numéro sur une ligne distincte sont inférieurs aux coûts de main-d'œuvre eux-mêmes.
Tableau «Travail de projet»
Il permet de comprendre le temps alloué à la tâche, combien a déjà été dépensé, combien d'heures il reste pour chacun des départements (conception, front-end, back-end). Fiches - versions de produits. Colonnes:
- Section TK (rubriques h1)
- Identifiant de tâche
- Défi
- 2 colonnes pour chaque département: élaborées et estimées (en heures)
- Total
- L'équilibre. Grade moins dépensé
- Qui a travaillé sur la tâche et combien dépensé

La dernière ligne est un résumé des colonnes DL.
Comment ça marche
Nous avons écrit ce module complémentaire sur les scripts Google, qui après l'installation peut être utilisé dans n'importe quel document Google à l'aide de l'onglet "Modules complémentaires". Lorsque tous les documents avec le client sont signés, nous faisons une copie de l'énoncé des travaux, avec laquelle nous continuerons à travailler. Lorsque le projet est initialisé, il est vérifié si la table «Project Work» a déjà été créée. Sinon, un nouveau est créé. Si c'est le cas, une nouvelle feuille est ajoutée à l'ancienne. Pour un fonctionnement correct, bien sûr, il est nécessaire de nommer les fichiers selon le modèle que nous avons choisi, mais cela peut être omis.

Toutes les tâches doivent porter le nom suivant:
Tasks_Name (Design_Time_Evaluation + Front_Time_Evaluation + Back_Time_Evaluation) [Task_ID].
L'ID est généré automatiquement lors de l'initialisation du projet.
Le fichier est maintenant prêt à fonctionner. Pour marquer l'heure, vous devez placer le curseur sur le titre de la tâche et sélectionner l'élément de menu «Ajouter du travail», lorsque vous cliquez dessus, une fenêtre s'ouvrira.

Les coûts de main-d'œuvre sont immédiatement ajoutés à tous les tableaux ci-dessus. Sous le titre de la tâche dans Docs, la ligne «Participants» apparaît, répertoriant tous ceux qui y ont travaillé avec les heures marquées.

Bugtracker
Pour chaque projet, en plus des fichiers avec les versions TK, nous créons un fichier d'erreur, qui en termes de système est la même version. L'évaluation des tâches (temps payé par le Client) sera de zéro.
Mais contrairement à un fichier avec TK, il sera constamment mis à jour. Dans ce cas, nous avons implémenté un ajout de tâche unique, ainsi que le changement du nom / de la note de la tâche dans les tableaux s'ils ont changé.
Pour garantir que les bogues ne soient pas perdus dans ce fichier, nous dupliquons les en-têtes de toutes les nouvelles tâches dans un chat séparé dans un télégramme indiquant le projet, le degré d'importance et le développeur responsable. Lorsque le bug est corrigé, le développeur répond par un plus, et le PM vérifie et supprime de la discussion tous les messages liés à ce bug. Le but est donc un chat vide.
Oui, en termes de bugtracker, on pourrait trouver une solution plus élégante, mais cette approche n'a pas nécessité d'améliorations de notre part, et en même temps elle s'est bien montrée.
Plans futurs
Pour le moment, nous avons fait du MVP, et à l'avenir, nous mettrons en œuvre au moins des statuts de tâche (maintenant c'est juste une mise en évidence) et des statistiques financières de base, sans transformer le projet en monstre de Frankenstein.
Merci d'avoir lu jusqu'au bout et bonne journée!