User:Ghostwriternr/Two Pizzas
My first 6 months as a maintainer at MetaKGP: Observations, mistakes and learnings
All of the points made in this document are my own personal viewpoints and are in no way endorsed by MetaKGP as a community and an organization.
My primary motive for writing this is to document my observations and mistakes, so future maintainers may benefit from my experiences. I mostly seek to address and clarify the culture that thrives at MetaKGP. I shall also aim to use this document as a personal reference for my time left as a maintainer.
Feel free to add your comments below or start a discussion on our Slack workspace.
--Ghostwriternr (talk) 17:19, 13 November 2017 (IST)
TL;DR
- MetaKGP must not be viewed as a mere structureless yet another kgp society, but rather a collective driving towards projects that help the KGP community and to foster motivated people towards achieving their goals.
- Maintainers need not (consistently) worry about bringing in new people for the sake of sustenance. Doing so only leads to a group with no collective reason leaving behind disorganization and disinterest.
- Focus on identifying and inviting motivated people to help you with problems that the community has identified as interesting, irrespective of whether or not there is an urgent need to solve the problem (Doing is more important than the outcome). The number of people you invite such might be very small, but give them full attention when they need it.
- Ask the people you invite to reciprocate and reproduce similar behaviour. This is a very important step.
- Whenever there is a productive result, highlight it to everyone else.
- Motivated people will be attracted as long as the community pushes out compelling results and that's most of what a maintainer need to focus on.
- Start conversations and engage the community. A conversation with 2 participants is okay too.
- Plan things in advance (several months, if possible). This is extremely important.
Foreword
I was introduced to MetaKGP by my ex-roommate, Kalyan Kumar, who was originally motivated to join MetaKGP since the Aaron Swartz screening and the similarities in ideals he saw with Aaron and the still growing community here at MetaKGP fancied. I hung around quite a bit on the Slack channels during late 2016 because I found it very exciting, but never participated in discussions because MetaKGP looked like a clique of exceptional people that had come together to work on their projects. It was only during February 2017 when Harsh Gupta asked if I would like to contest in the upcoming maintainer elections and I immediately jumped on it. The reason I state these facts is to highlight the very little interaction I have had with the original members and the regret of not taking the time to analyze the culture before the maintainer elections (or even soon after). Needless to say, I picked up wrong targets to work on and had an uneventful few months where I made a lot of observations but with little knowledge on how to fix them.
Things I did wrong
- When I started carefully monitoring the Slack workspace, I noticed that a lot of new members are joining, but most of them fall under two categories: Remain silent, or ask doubts regarding some technical issue they are facing. I was worried that I had no work to give all of them.
- I started worrying about creating a sustainable model for revenue such that MetaKGP no longer has to depend only on alumni. But considering the costs that we currently incur, we have no immediate need to fix this.
- I was focused on increasing 'visibility' and ways to do so and to get sponsorships for proposed hackdays so that more people participate, but I spent too much time doing the former and a hackday never took shape. An incomplete meal is better than sleeping hungry.
- I was considering the aspects of being a gymkhana society (oh cringe), having a professor mentor or trying to get a dedicated room within KGP. While all of these things might have its little benefits, it distracted me away from the core ideals.
- In effect, I had almost completely stopped looking at the technical developments at MetaKGP and started focusing on superficial problems that I had defined for myself during the elections.
Defining culture
In an attempt to rectify the above-mentioned problems, I started reading about Wikipedia and why it is successful. The ones that helped me the most were two papers that discuss this, namely 'Becoming Wikipedian: transformation of participation in a collaborative online encyclopedia' and 'What motivates Wikipedians?'. I also met with my fellow maintainers and Himanshu Mishra, who all gave their insights as well. The result of all that was a quick culture-guide that maintainers (including myself) can follow and benefit from.
Encouraging contribution
I define being 'people-centric' as keeping all the people happy. When a community is over 300 members strong, this is no longer in control of one person (or a small group of people). But when you attempt to be people-centric, you lose out on the genuinely interested people.
Instead, start focusing on tasks. There are always a lot of tasks that are left to complete. New articles to write and new projects to work on. Start by asking someone to 'help' with this. Starting small is important. This is called Legitimate Peripheral Participation (LPP). According to LPP, newcomers become members of a community initially by participating in simple and low-risk tasks that are nonetheless productive and necessary and further the goals of the community. Through peripheral activities, novices become acquainted with the tasks, vocabulary, and organizing principles of the community.
LPP suggests that membership in a community is mediated by the possible forms of participation to which newcomers have access, both physically and socially. If newcomers can directly observe the practices of the more established core group, they understand the broader context into which their own efforts fit. Conversely, isolating newcomers can have negative effects. This is what we aim to solve by having Eva getting newcomers to introduce themselves to the group.
Maintaining two-pizza groups
For any given task, most commonly technical projects, maintain a two-pizza group. The two pizza-team was originally proposed by Amazon founder and CEO Jeff Bezos. The two-pizza team rule states that teams shouldn't be larger than what two pizzas can feed.
In the context of MetaKGP, each member who has spent sufficient time (henceforth loosely called as 'seasoned members') with the community can start at the top of the chain and have a maximum of 6 people to closely mentor and work with. These groups can be overlapping, but even considering a bootstrap of as less as 8 such seasoned members (including maintainers), there are 30 always-active members in the community.
A curious observation that I draw this point from is that most of these current seasoned members are either those that were around when MetaKGP was initially formed or were introduced to MetaKGP by already active members with requests to collaborate.
Embracing hacker culture
One of the most common hurdles that I have seen at MetaKGP during my attempts at organizing an intro seminar this year was to cloak away from the inherent hacker culture when introducing MetaKGP to newcomers. But I believe saying 'We do all of these things' is a lot blander than saying 'We do this very well'. As it stands, all of our work can now be classified as technical contributions and wiki contributions and these 2 are all we need to highlight. Sure, we discuss politics, music, research, books, etc. but that's a direct consequence of every thriving community. But we must rather focus on appealing (when needed) to the people we need, as opposed to the people that match our secondary interests.
It is perfectly alright to look like a community of hackers working on projects meant for the community and seems like a good way to go forward.
How do we sustain
Every group begins to sustain itself once we have a cycle of continuous output that has a two-way relationship of keeping the group happy with positive contributions to the external community (in this case, KGP) and the external community begins utilising our outputs and begins contributing back. At the time of this writing, the goal is to push forward with the first half of the cycle and hope that the rest falls in place.
So, what else should a maintainer do?
Without going into answer these questions myself, here are some articles that do a great job at highlighting a few of those:
What next?
Discussed during a recent meetup. Minutes can be found here: https://wiki.metakgp.org/w/Metakgp:Meetups/2017-11-12