Enhance software consulting practices by exploring essential principles that focus on teamwork, communication, and working in a nice office.
Whenever you're doing something more than once there should be a clear procedure. We call them “standards” or “rules”. That means that there should be lots of standards.
Standards should not be followed blindly. They should always help the critical thinking process, but never replace it. Aim for continual improvement.
There are pros and cons to having standards:
When most people say they'll do something, they really mean they'll try to do it, and they don't really worry too much whether they are successful or not, so long as they gave their best effort.
Once you’ve internalized the importance of having professional integrity, you may feel like you are suddenly under a lot of pressure to keep your word, and this can be stressful.
“When you have a hammer, everything looks like a nail.”
This saying is often used by developers who want to use their favourite technology to solve every coding issue, even when it’s not the best fit. But this saying is actually relevant to us all.
Managing up is providing your manager with an active request or an option to approve, rather than asking a general question.
Always do a quick investigation before asking for help. When asking a question using IM, always start your conversation with "I have googled this and no luck".
IM can interrupt a person when they are busy, so make sure that you are well prepared and have tried to find the solution another way first. AI tools like ChatGPT are another great option for getting unblocked before bothering someone.
When you are asked to improve a feature, your manager expects a recommendation, not a blank question. Don't just throw things over the fence. Even if the request pushes you outside your comfort zone, make a best-effort attempt so the conversation stays focused on approving the right option.
Sometimes, meetings can drag on while everyone tiptoes around an obvious problem, like a missed deadline, an unspoken conflict, or a broken feature. This is common in teams who don't trust each other or don't know the value of healthy conflict.
Sometimes you can't complete a task right away or anytime soon. People might just say: "I can't do it this week, but I should have it done by the end of next week".
Another scenario is when the task should be done or will expire after a period of time. For example "Send Google Analytics data after a month" or "Remove course banner once the course is completed".
If you leave it like that there is a high chance it gets forgotten as remembering tasks is a highly unreliable method.
Efficient people don't rely on their memory and instead, use some way to make sure they don't forget to do that task. Common ways are to make a note in a paper diary or stick a post-it note to a screen, but there are better ways.
There are five interrelated issues that undermine the performance of a team: