Blog by Sumana Harihareswara, Changeset founder
MozFest 2021 Followup: How To Get A Project Unstuck
This one-hour discussion session covered some of the same material as my Linux.Conf.Au 2021 lecture, on "How To Get A Project Unstuck -- And Fixing The Skill Gaps That Got Us Here" (outline and links; video).
Below are some session notes, including some of the live collaborative document we used to take notes during the discussion. I've removed individuals' and projects' names.
Pipenv (Pipenv case study)
Asking participants about their projects
Principles of getting a project unstuck
Some premises I use in my work:
Five major areas where legacy projects get stuck. I need help with the names for these categories! (And of course sometimes combinations of problems crop up.)
Thank you to a participant who suggested "interfacing" rather than "connection". I do like that better.
The sequence of steps for gaining credibility within a project and helping turn it around:
This is the outline of my forthcoming book. My sampler ebook of Getting Unstuck: Advice For Open Source Projects, available for free download once you subscribe to my 1-10 times per year newsletter, includes that full outline.
Questions & discussion
What kinds of "stuckness" have you seen in FLOSS projects? I feel like I've seen 5 major areas where legacy projects get stuck (strategy, team, connection/interfacing, workflow, and money). Does that reflect your experience?
- not having motivation to promote it
- "I think sometimes (especially in an operating system) we have too many requests and this makes the development of the core slower"
What circumstances make it easier or harder for projects to get unstuck?
- harder when it requires more dev skill to contribute
- how easy dev toolchain is, to bootstrap project
- whether project will accept small submissions or needs to be 100% complete ... a lack of small problems for people to fix
- "how much it is connected to other communities, sometimes if more than one community is using the project there will be more people willing to maintain it and help in general"
- findability & presence of important information, e.g., code location
- conflict over whether to release a breaking change, because of refactors/rewrites
- sometimes there is no one interested in taking the money to help improve the project, or the amount of financial support available is insufficient to hire someone in North America or Western Europe
(I was struck by how much easier it was for participants to come up with programmer-specific problems -- especially problems with onboarding new contributors -- than to remember and bring up people, money, and other problems. After all, most mature software projects have a backlog of patches awaiting review, and so making it easier for more new contributors to get onboarded is a less crucial bottleneck than widening the code review bottleneck, which is probably a team, workflow, and money problem.)
Do you know a stuck project? What support would you need to start getting it unstuck?
- I have all the support I need, except I need a push... I don't use the program myself anymore, I do this to help users, so lack of motivation.... thinking about motivation and how we help ourselves in moments when we need more
- need help improving core skills (managerial and similar professional/interpersonal skills)
Plans for followup
I suggested that people form optional accountability pairs, to talk with each other regularly and help both stay motivated to get their project unstuck. Two people did pair up.