If you are a fool, write down how I do it
One of the companies where I worked had very strict reporting. All working hours had to be closed in the reports by some kind of task, and reports were submitted daily. In general, a person gets used to everything, and it was quite possible to recall what you did today and paint everything. But once we were asked to additionally draw up such reports for the previous month and a half. Naturally, such a desire caused some difficulties for employees.
For me, it was quite easy to fulfill this requirement. It's just that everything is written down for me. Every working day.
Reporting allows you to evaluate your effectiveness.
Someone updates the repository every day, someone does not leave until they complete the task. Daily reports look something egregious only in isolation from this series. From myself, I can say that such a practice is very motivating to focus on work, and I continued to compile reports even when I switched to another job.
What do you say to yourself at the end of your day if you have an empty list of tasks? Well, if the day ended in solving the problem, and if not? What did you do today, what did you spend your time on?
')
Now you can analyze your working day, understand what time is spent on, and spend time more efficiently.
Accounting allows you to allocate time-consuming tasks
Somehow, even before the introduction of this scheme, when I worked on freelance, I did not understand why so few problems were solved in a long time. I suspected that I was talking a lot with potential customers, but when I began to record this time, I was amazed at how huge the losses were! Then I limited my communication with potential customers to ten minutes, while earlier I could talk to them for up to an hour, but they might not return.
Efficiency immediately increased significantly.
Reporting allows you to maintain a knowledge base
In addition, not only tasks are recorded, but also methods for solving them, which allows you to accumulate experience and use these solutions in the future, even if several years have passed. This is especially useful for a broad-profile developer, since there are many languages and technologies, the solution to the problem can be imagined, but the specific syntax can be forgotten, and the similar knowledge bases into which these reports turn into become very useful.
Reporting does not spend, but saves time
It may seem that maintaining a base of your actions takes a lot of time, but it is not. When I needed to evaluate this, in my tasks I began to note the time that was spent on reporting. And on average, this time was equal to 25 minutes per working day. Taking into account the fact that the reports were often compiled very broadly, and this made it possible to use the operating time repeatedly, this ultimately turned out not to be a waste of time, but rather, saving it.
Microsteps
Over time, I improved this system, and converted it into a method, which I called microsteps. For example, you need to apply a solution that is already described six months ago. But the conditions can change, and it may not be clear why at that stage it was this solution that was applied, and not some other. The reuse efficiency of the solution has been reduced. Then I introduced a causal element into the reporting, limited one described action to twenty minutes of work. It was an experiment, but it was a success!
It turned out that any task can be divided into such subtasks and put it in the required time. Yes, this is the first requirement for the effective solution of problems, the division into sub-tasks, but I additionally added to the sub-tasks the reasons for which they are done, and organized a nested structure, moving forward by which, it is possible to trace why this or that solution was applied.
Fear of finding out the truth
And yet it allows you to evaluate your own effectiveness, and specify what exactly you need to tighten your knowledge if some microstep takes an unreasonably long time compared to what it should have taken. Of course, for this you need not be afraid to look into the eyes of the truth that your own reporting will show.
Microstep Example
Microstep example. Information this specific example does not make any sense except the developers of this application. This example only shows how microsteps are designed to solve a certain problem.
If microsteps are on the same level, then they arise and are solved sequentially. If there is a transition to one level of nesting, this means that to perform this microstep, you need to perform other microsteps, and after they are completed, a higher level task will be solved. If at some moment there is a transition to a lower level of nesting, it means that with the help of nested microsteps, a higher task is completed, which is at the same level of nesting to which the transition took place.
In this task, given as an example, it was necessary to correct the null values in the database of the mobile application and check its operation, but since the application crashed on one of the mobile devices, I had to go to the server and find out under which login it was necessary to log into this application, in this case it was important. On the second mobile application, it turned out to be quite simple to fix the database.
. usb , adb pull /sdcard/mobapp/mobapp.db null, , MNGFA=0 30-60. . db browser for sqlite , . 1.2.2. . . . mosquitto id /var/log/srvapp/server.log . journalctl root ? - journalctl -u srvapp.service | grep "14F0-F610-MOBILE-ID" | grep -A2 "Z_MB_IF_FUNCNAME" : "ZID":"12345678" : ng.log4j.Log - # Topic: XXYYZZ/ERP/Z_MB_IF_FUNCNAME : , , .
Using microsteps to fill knowledge gaps
Analysis of microstep reporting allows you to identify bottlenecks in the developer’s knowledge system, and, in theory, a further development of this system will be the systematization of these bottlenecks and the allocation of time to fill the gaps in these areas. Identification itself is not a difficult task: you need to see which steps require additional actions and take enough time to solve them.
Similar solutions
Please provide links to similar existing practices.