Daily Tasks Reporting Automation
Every day we spend 15-40 minutes sharing our work status during the Daily / Stand Up / STUM / YTB meetings. However, we often forget to document it or do it inaccurately. This happens because it is annoying to work with the graphical task management systems. Below I'm presenting my experience in automating this daily routine using textual UI - Human API
Project/Task management systems
I'm sure you are already working with at least one of these.
Of the top of my head: Trello, Jira, Azure Devops, Monday and of course Excel.
No matter what you choose they all have the following:
Strengths
Weakness: Human factor
All the benefits achievable only if the data saved in the system is accurate and complete- the more the better.
How many times did you hear/tell/think:
Human API Benefits:
3. Input validations:
Implementation
Assumptions:
Definitions:
Task's lifetime and your?action:
Human API single task reporting format:
[<ParentType> <ParentID> #<ParentTitle>] -> <ChildType> <ChildID> #<ChildTitle> :actions: <CommaSeparatedActions>
Content sample:
[user_story 1000 #Front-end CI/CD] -> task 1001 #Nginx Configuration CI/CD :actions:
[task 1001 #Front-end CI/CD] -> task 1003 #CORS configuration :actions:
[user_story 1000 #Front-end CI/CD] -> bug 1002 #Python version deprecated :actions:
Human API file types:
Examples (TL/DR)
daily.hapi Example
These are the sections you have in the file:
*Scroll to the right to see complete line
worker_id: [email protected]
>NEW:
[user_story 1000 #Front-end CI/CD] -> task 1001 #Nginx Configuration CI/CD :actions:
>ACTIVE:
[user_story 1002 #Backend] -> task 1003 # Kubernetes Service :actions:
[user_story 1004 #Sprint 888 CI/CD Bugs] -> bug 1005 # Prod Front-end deployment failed :actions:
>BLOCKED:
[user_story 1000 #Front-end CI/CD] -> task 1007 #Nginx Configuration CORS :actions:
>CLOSED:
[user_story 1002 #Backend] -> bug 1009 # Kubernetes Infrastructure :actions:
daily_input.hapi Example 1. Reporting task changes.
Daily actions - actions you do on your tasks: Status changes, setting estimated time, updating completed work time, commenting.
Before the daily meeting you extract current status from Task Management System using API. At the beginning this is a copy of "daily.hapi".
After filling the actions you've performed on the tasks you push the changes back.
Below is an example of the textual format for reporting workers' daily actions.
*Scroll to the right to see complete line
>ClLOSED
[user_story 1002 #Backend] -> task 1003 # Kubernetes Service :actions: +2, comment Created YAML file generator.
[user_story 1002 #Backend] -> bug # QA Nginx cache configuration :actions: 2, +1, comment Time units misconfiguration- hours instead of seconds.
Actions being performed on these work items:
Filled by each team member. Validated for input/format errors and pushed to the Task Management System via API.
Simulation
Let's translate the "daily.hapi Example" to human language.
Yesterday morning I planned to work on the following:
worker_id:[email protected]
>NEW:
[user_story 1000 #Front-end CI/CD] -> task 1001 #Nginx Configuration CI/CD :actions:
>ACTIVE:
[user_story 1002 #Backend] -> task 1003 # Kubernetes Service :actions:
[user_story 1004 #Sprint 888 CI/CD Bugs] -> bug 1005 # Prod Front-end deployment failed :actions:
>BLOCKED:
[user_story 1000 #Front-end CI/CD] -> task 1007 #Nginx Configuration CORS :actions:
>CLOSED:
[user_story 1002 #Backend] -> bug 1009 # Kubernetes Infrastructure :actions:
Despite the expectations my yesterday's work included:
* Report lines are split before "->" because of the text editor's bug.
worker_id:[email protected]
>NEW:
[user_story #Front-end test enhancemet] -> task #User sign out failure test :actions: 2, comment New test use case related to bug 1005.
[user_story 1002 #Backend] -> task 1003 # Kubernetes Service :actions:
>ACTIVE:
[user_story 1000 #Front-end CI/CD] -> bug #Nginx config generator breaks QA :actions: 8, +1 comment After Changing worker type builds are failing in QA.
>BLOCKED:
>CLOSED:
[user_story 1004 #Sprint 888 CI/CD Bugs]
-> bug 1005 # Prod Front-end deployment failed :actions: +2, comment Untested bug found
[user_story 1000 #Front-end CI/CD]
-> task 1001 #Nginx Configuration CI/CD :actions: +6, comment Changed worker type.
[user_story 1000 #Front-end CI/CD]
-> task 1007 #Nginx Configuration CORS :actions: +2, comment Added proper CORS configuration into CI/CD.
[user_story 1002 #Backend]
-> bug 1009 # Kubernetes Infrastructure :actions:
daily_output.hapi (YTB report)
[30/02/2023] Team member: horey
Y:
[user_story 1000 #Front-end CI/CD] -> 1011-Nginx config generator breaks QA
[user_story 1004 #Sprint 888 CI/CD Bugs] -> 1005 -Prod Front-end deployment failed
T:
[user_story 1000 #Front-end CI/CD] -> 1011-Nginx config generator breaks QA
B:
None