5.3. Managing time
What to do when drowning in issues or feature requests
- Why is time management important?
- Sustainability & burn out in open source
- Learning to delegate/contributors pathways
- Tips and tools
- Assignment: Revisit you project and roadmap in light of time management
- Resources
Why is time management important?
One of the biggest issues in open projects is the lack of time to implement all ideas and features that would bring the project forward. The fact that a lot of open projects are made by one or a few people in their free time, does not help with the time issue.
This is why focusing on time management is important. As a very precious and scarce resource, one should make sure it is used efficiently and in a way that is sustainable, since as project grows and new users come in, more and more time is needed to answer questions, resolve unexpected issues, onboard new contributors, etc.
Sustainability & burn out in open source
A common issue in open projects is the small number of people working on each project, and the fact that a lot of them start as “spare-time projects”, that is, developers start them on their free time, sometimes as a hobby and/or because it is something that they find interesting.
If a project grows and more people start using it, the time needed to maintain this project (as mentioned above) also grows. When these are hobby/spare time projects, they put an extra load on developers, that have to deal with it after they’ve had a full working day and/or on the weekends. Depending on the developer approach to the project, what was a fun time activity, is now another obligation, and in some cases, could lead to burn out, making everyone unhappy.
This is why it is important to plan for sustainability, onboarding new developers, thinking about ways to get compensated for working on the project (so people can be hired and/or developers could slowly turn their hobbies into full time work activity), and figuring out a way to work efficiently.
Learning to delegate/contributors pathways
One of the best skills to learn when developing an open project is learn to delegate tasks, and create pathways for contributions. Remember, time is a really important resource, so if people who are willing to give their time a project, they should really be cherished and have the feeling that their contributions are appreciated.
Therefore, it is very important to think of small actionable steps that can be done by others and that fall in line with your roadmap. Remember they should be SMART (Specific Measurable, Achievable, Realistic and Timely) so that people can understand right away what is needed. This way they can implement solutions and share them with the project. Make sure you also create “easy” steps that could be used a “safe” first interaction for newcomers and first time contributors.
Delegating tasks and waiting for people to pick up tasks can be a bit hard in the beginning as it involves releasing some control of the project, but it certainly pays off as with more contributions and contributors a project gains momentum and a network of people willing to dedicate time to bring the project forward.
Tips and tools
-
Time management is a difficult skill to master, not only because it is hard to accurately predict how much time a certain task will take, but also because external unexpected factors can contribute to delays. Therefore it is wise to plan more time for each task than what you think it will be needed. It is always a better feeling to be done earlier, than to be late/delayed.
-
Using time tracking software is a good approach to get a more accurate feel for how much time you are spending on each part of the project and also to learn how much time you take to develop/complete certain tasks.
-
When you thinking about SMART steps for your project, take a step back and think about the ones that would be good entry points for new contributors. Sometimes it is better to leave them “open” (even though you could quickly fix them) and highlight them so that people have the opportunity in contributing with something they feel comfortable with.
Assignment: Revisit you project and roadmap in light of time management
- Take a look at your milestones and check if you are really comfortable with the deadlines/time frames.
- Think of contributors’ pathways for your project and create issues that others can help you with. Remember to frame things in a way people can easily start working on the tasks (considering what skill is needed, how much time, etc).
Resources
- time management tips
- collection of resources with good first issues
- list of projects with good first issue tags