How often should a programmer communicate with management?

I struggle with finding a good means of communication. At our workstations, it seems very easy to get lost in the code and waste time. It also seems ridiculous to send updates for every tiny task. Despite the fact that I work very hard to achieve a result, in a company that has a very active connection between other branches, it looks bad for me when I do not constantly update my status. However, if I work on a project in 3-4 hours, I’m not going to update the controls for every single line of code that I output.

I know it depends on people, company, etc., but what would be a good general rule for effective communication?

+4
source share
5 answers

You need to understand why managers need your communication. I used to have development teams, and I'm currently using coding, so I saw both sides of the message.

Managers usually do not have time to be involved in your coding, mainly because they also often have to deal with other coders in your group, testers, senior managers, product managers, customers, human resources, etc.

Your manager is committed to supplying the software and instructed you to provide some of them. Because (a) he does not have time to deal with you, (she) he needs to trust you. (S) he trusts you to focus on your work and deliver the software. If you ruin it, it will suffer too.

The purpose of communication is to demonstrate knowledge of purpus, show focus and demonstrate results. Here are the main forms of communication.

  • The high-level design reports that you know what you were instructed to deliver. This should not be a fantasy. I really like rough sketches of a good data model, detailed key use cases and interfaces to third-party software.
  • The development plan shows that you understand the steps required for delivery. I believe that providing work precedents is best if I am a manager or an encoder, because this is an unambiguous way to independently verify the completion of useful work.
  • Regular status updates are good because they show focus. As a manager, I don't care if you worked for one or another. I care about what you set. From a developer's point of view, a good time to provide a status report is when you commit the code to control the source code. Of course, you need good comments to show what you are delivering as planned. This is also a natural time for delivery, because it represents the end of a “flow” or “zone” period.
  • Flagship roadblocks are important because they demonstrate both knowledge of the target and focus. A good manager will help you solve them, but (a) he should know about them.
  • Dealing with errors is a particularly sensitive time, because an error is a breakdown of trust, because in your mind you did not deliver clarity to what you said. Being extra-communicative is very important here.

Over time, good communication will create good trust, and ultimately it is the quality and quantity of your work that will determine your trust.

During this 3-4-hour project, you should update the status when you start it, when you complete it, and on any code entries that you make in the middle (but if you don't, it's good too).

+6
source

The Agile methodology says you should have 2-week code development cycles. I think the same is true for communication on large projects. I try to have important communication every 2 weeks. This includes the status that I have for all my projects and everything. This can be in the form of email, a phone call, or face-to-face. In my opinion, the only reason I have to communicate is if you encounter a road block and managers help you deal with it, or if you are working on a project or task in which they need feedback upon completion. In general, this avoids unnecessary messages.

Another approach is to immediately look at your manager and ask them what type of communication they want and how often. In general, good managers want to receive updates only if there are serious problems or in the weekly / monthly interval. You need to discuss with them what is enough to keep them in a loop, but not to waste time or time.

+1
source

This is an interesting question, since it illuminates the verbal ability of the programmer, who eventually becomes all-consuming in the coding process, that everything else seems "inappropriate", was done there with disastrous consequences!

CANNOT BE SATISFIED ....

If there is something that bothers you when you code ... try to talk to them in a simplified way, in the end, the manual does not want to know the intrauterine manipulations with pointers, the TCP / IP stack, management re-refreshes WM_PAINT, mapping a network drive dynamically to get some data .... you get a drift ....

Speak clearly and concisely, be abstract .... instead of saying something, saying ... manipulating the pointer and seg-faulting, just say: "There's some kind of problem with the internal elements of the code that causes it improper behavior, I will evaluate the time n to fix it and get it documented, and mark the problem as soon as possible, "where n is the amount of time, be it minutes / hours / days / weeks or even worse months / years ... .

If you follow this pattern, then what management wants to hear, if they hear a proactive approach, it is there that you get mutual understanding and trust, and the level of trust will deepen. Of course, there’s a “slight embarrassment” with this ... management can ultimately pile up a burden of trust that equates to responsibility for your coding ... be careful ... don’t flatter yourself for thinking “Gosh”, I like them, " at the same time burdening you with the "responsibility" for the code ... there is a delicate balance between communication and what they want to hear ... by the way, I absolutely hate the concept of kissing one ass to move forward ... NO !!! !

Morality and the bottom line (my deaf and finding communication is extremely frustrating and feels as if I am depressed or not obeying, it’s difficult to cope with, because I can easily interpret or mistakenly say that it was said that my experience of this) clearly and they’re not afraid to speak out no matter how big or small the coding problem is or if the call is insurmountable, and in the end, it takes the team’s efforts. Share it with the team. I would be careful if nothing was shared, and everyone on the team was isolated and said nothing ... it's suspicious ....

+1
source

Ultimately, a lot of messages are good, but if you are in a zone (and believe me, I know how difficult it is to leave a zone when you are in it) find other ways to communicate without losing flow.

Communication can take many forms. If you have a list of features and you can check them somehow, communication can be as simple as disabling email for each feature. If you have a problem tracking system, communication can be as simple as updating a problem when fixing / implementing it.

0
source

To update the stakeholders of your business? I do it weekly.

To learn more from business stakeholders about what I need? Several times a week, sometimes several times a day, always either scheduled or improvised for instant messaging.

To talk with the project manager? As often happens, to make me more effective.

0
source

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


All Articles