I've been working as a developer for 7 years now and have learned a lot of things throughout, may it be small or big, there will always be a positive impact.
One of the things I learned is having the initiative to give progress updates on a timely manner without them asking. It is very simple but it does make a great difference between those who give progress updates and those who don't. I have been doing it since the first day on my first job and have improved it over the years.
This makes your project manager's life easier without them feeling like micro-managing the team or putting a lot more pressure than there already is.
Management is very crucial on setting the expectations of the list of deliverables of the team. You as part of the team, will help management set priorities better.
Remember that your deliverable are your tasks, while one of the project manager's deliverable is the status report which will come from the team. If he doesn't have the status of your task, then he will not be able to accurately report the current status of the project.
This is mostly related to the first reason I listed but I would like to separate this one. This reason is more related to when the developer encounter blocking and cannot move forward on the task.
If you let the project manager know immediately that something is blocking your task, you can get help and in some situations allocate another person on your task to help you fix the issue you encountered. This would also inform the project manager to use the "error" adjustment for the deadline if it will not be met.
This is purely for your benefit. It shows that you are actually working on something, where you at, and makes you feel very accomplished at the end of the day. You have a sense of productivity and it shows on your progress.
My first job contributed a lot to how I improved my daily progress updates. In order to come out on top, I had to have the actual output of my contributions and what was the impact of each contribution to the company I was working for.
As a developer, it helped me be more transparent about my daily progress and of my achievements. It shows that I have initiative and it shows my skills on how I communicate well with team. It also helps me be active and be on top of my tasks.
It's more satisfying to actually write down and see the list of what I have achieved for the day and how productive I am. It helps me evaluate myself on what I could improve and how can I be better the next day.
I assume that your development team uses some form of ticketing tool such as JIRA. I prefer the progress updates to be written on a place where the update is related to. This way, it's organized, and there's a history of conversations and notes. When backtracking changes is needed in the future, the updates in the ticket will be a great help on why decisions and changes were made.
I assume that your development team uses a common chat channel where you discuss tasks outside meeting. When discussing things verbally, it is not always recorded and harder to find a proof of where a certain decision/discussion was made.
A written discussion helps answer questions in the future and most chats use search feature. This way, everyone in the team is also informed of your progress specially on situations you need to go on leave.
What I usually do, whenever we have a discussion and a decision on team chat, I screenshot that discussion and save it on the ticket related to that.
For the benefit of the team - it helps them manage the tasks and priorities for the next day knowing where you at on your task. For example, if you're almost done or actually done, then they can assign you another task or if you need a hand from another person to help, they will allocate another resource to help you resolve your issue.
Update at the end of that day does not only benefit the team but also yourself. You have a sense of productivity and will help you set your goal for the next day.
The best example for this is when the team needs to deliver tasks the next day and giving the update on the first half of the day gives a sense of security that your team will be able to deliver the next day.
The next one is the at the end of the day where you conclude that the team actually finished the task.
These are my recommendations. However, if your team likes more updates than that, for example every 2 hours, specially if the task is high priority, then you may do so. It will always depend on the agreement/request of your team as long as it does not inconvenience you to the point that it affects your progress.
If your project manager gives you a format, then that format must be followed. Otherwise, if you are doing this out of initiative, I recommend a very simple readable format.
[Ticket Number] Ticket Description - List what you finished (if there is) - List what is in progress (if there is) - List what is pending (if there is) - List if there are issues - Overall status (in progress or done)
You may improve this format according to what you desire but this is what I recommend as a base format. Make sure to keep it simple, concise and direct.
[JIRA-10] Create View, Add, Edit for People - [Done] Database changes, backend code for View, Add, Edit - [In progress] UI for View, Add, Edit - [Pending] JQuery scripts - [Current Issue] Having problems using a selector on DataTable. Currently researching the solution. - [Overall status] In progress and still on time.
Take note of the current issue that I listed. It is important to let them know you are handling the situation. If you are not able to, you must mention that you might need help for example from another developer who has more experience regarding the issue.
Overall, it helps you, your team, and the company you work for.
"Businessmen are more convinced to invest if you present an actual output and statistics. Numbers and results measure accomplishment and success."
If you start doing the regular progress update as an initiative, it helps your project manager evaluate your contributions to the team and if the team is actually meeting the expected deliverable.
Let me know in the comments section your own approach or way of handling progress updates so I can improve my approach further or someone else's. You never know someone could benefit from it!