5 project management tips
It’s so hard to write a post about project management which wouldn’t make people say: ‘Hey, this is obvious!’. Still obvious solutions to problems are often the right ones and at the same time difficult to follow-through on. Most management tips may sound logical and even familiar to you, yet so many project problems arise not because of technical failures but rather due to mismanagement.
Project management will look very different from company to company and from project to project. Here I would like to stress just a few things which make a difference whatever you do in a team.
1. Talk with your teammates
Tech people tend to underestimate the importance of communication, and yet most problems in projects appear as a result of insufficient communication, or lack of transparency in communication. Sometimes you may think that things are obvious without discussion when, in fact, team members have different opinions on them. Examples could be:
- project mission and values (why you do something);
- expectations and motivation (what you want to do, in which way and what result you expect);
- actual meaning behind vague task titles (e.g. improving UI may mean reworking design or cleaning up markup);
- etc.
There are many communication techniques which may come handy and efficient: issue trackers, wiki, project management tools, not to mention emails and chats. And at the same time, talking to people is still indispensable, because it helps you not just to understand each other, but also to reveal communication gaps. Please, find your time to talk to each other.
2. Ask for help
Often students don’t ask for help. The reasons may be different:
- I don’t want to look not smart/capable enough;
- I don’t want to bother others;
- I want to deal with this challenge myself!
The latter might make sense up to a certain degree, however, try also to think of what is good for the project. You can spend a week on a one-day task and finally nail it, but ask yourself first: Is it an efficient way to spend time? Doesn’t it hinder the project instead?
Ask people for help if you feel like you’re stuck. You might even set a “rule of one day”: if I spent one day on a particular problem, searched everywhere I could (I really did!) and didn’t find a solution, I ask my teammates for advice. It doesn’t have to be one day, of course; try to find a period which would be comfortable for your team. It’s always about balance.
3. Share progress and set deadlines
Even if things are going well at your side, don’t disregard sharing your progress with the team. It’s really easy to forget about it when you:
- do something monotonous;
- work on one task for a long time;
- dive too deep into technical details…
But even then, providing your team with updates will not only get the team on the same page, but may also be beneficial — be it actual help from your teammates or just them pushing you forward :)
One of the best ways to make sure you move in a good pace is to set deadlines. Everybody is used to setting deadlines to big tasks. Sometimes it is useful to set deadlines to smaller tasks, too. If you’re stuck with a task or not sure which solution to choose, break the task into smaller pieces and eat your elephant one bite at a time: you can plan to talk to someone ‘by Wednesday’ and make a decision ‘by Friday’. This will help you keep moving.
4. Don’t rely on your memory
Whenever you have a meeting where you discuss things and especially make decisions, a good thing would be to write a short summary and share it. It could be as simple as: “Today is DD.MM.YY, participants are Alice and Bob, we agreed on this and that”.
Often you might feel that it’s not necessary because:
- the meeting was short;
- it wasn’t official enough;
- nobody demands notes from me, so why would I lose precious time writing them;
- and my personal favorite: we won’t forget this anyway.
Time goes, things change. Sometimes it’s very useful to refer to history, whether you want to understand why things went the way they went, need facts to argue with someone, or want to give a quick update on the project to someone who wasn’t there with the team for some time.
5. Stay in touch with the project maintainer
Whenever you have a customer, a product owner or an OSS project maintainer — a person who is interested in developing a project — it’s good to keep them in the loop. Show them what you have accomplished every once in a while, even if it’s not a big piece of software and even if you send pull requests anyway.
Don’t take it the wrong way, I don’t mean you should spam your project maintainer with emails (maintainers are usually busy after all!). The point is the following: if you work on a project regularly and try to make major contributions, it’s good to give the person on the other side an overview of what you were/are up to. This will not only help you get feedback and learn if you are doing the right thing or not, but it will also ensure transparency and shape your future plans.
That’s it. No silver bullet, right? Hope you still found it useful. Good luck!