RailsConf 2017

It's Dangerous to go Alone: Building Teams like an Organizer

It's Dangerous to go Alone: Building Teams like an Organizer

by Colin Fleming

In his talk "It's Dangerous to go Alone: Building Teams like an Organizer" at RailsConf 2017, Colin Fleming explores the idea of treating teamwork and community engagement in tech projects through the lens of community organization. Fleming emphasizes the challenges faced when leading open-source and community projects, particularly in cultivating relationships among team members to ensure sustainability and prevent burnout.

Key Points:
- Importance of Community: The dependency on community contributions for successful project execution is highlighted, urging leaders to build a supportive ecosystem.
- Personal Relationships: Building individual relationships is foundational. Engagement with contributors is crucial for sustained involvement—people remain engaged not just because of the work, but also because of interpersonal connections.
- Case Studies:
- Voter Contact Program (2012): Fleming shares his experience in organizing a voter outreach program, where he successfully mobilized volunteers by leveraging their existing connections to the campaign, illustrating the effectiveness of community building.
- DC Abortion Fund (2016): He discusses transforming an inefficient case management system through collaborative technical efforts, demonstrating how shared goals can unify diverse contributions.
- Organizational Framework: Fleming introduces a playbook for organizing which emphasizes clarity of goals, relationship-building, and structured collaboration. He insists that these practices align closely with Agile methodologies already familiar to software developers.
- Burnout Prevention: By encouraging teamwork and distributing tasks among a community, individual risk of burnout can be mitigated. He promotes accessible entry points for contributors to reduce anxiety and encourage participation.
- Leadership Role: Leaders should facilitate interactions, reduce barriers to entry for new members, and promote progressively challenging tasks to foster competence and confidence within teams.

Conclusions: Fleming advocates for a community-first approach where interpersonal relationships and shared goals are prioritized. Reflecting on his experiences, he stresses that community building is as vital as the technical work itself, suggesting that by implementing these organizing principles, teams can overcome challenges more effectively and create a more sustainable ecosystem for their projects.

00:00:12 Welcome to "Building Teams like an Organizer." We are currently living in a world where a lot of great, high-quality work done in our day jobs relies on the labors of love from volunteer groups. This is a fantastic place to be as it opens many doors that wouldn't otherwise exist. It allows us to overcome entire classes of problems simply by installing gems and calling it good. However, it also means that we are extremely dependent on our community to keep moving forward, and it's vital to recognize that the ecosystem we are working in is larger than just ourselves or our immediate networks.
00:00:58 To illustrate this, I want to ask a few questions. Will you raise your hand if you have recently written something that relies on a gem maintained by people on the internet whom you don't know personally? All right. And who has recently upgraded something to Rails 5 and found themselves in a bit of hot water because a gem they were using only worked with Rails 4 and is now unmaintained? Common experience, right? Now, on the flip side, who has worked on something for fun or to meet a specific need and wished they could hand it off or get new eyes on it so that all their hard work doesn't just fall off when they stop working on it?
00:01:34 I have some good news. In this presentation, we’ll discuss how building community around our work can help us overcome these challenges. Leadership, to me, involves ensuring that others can build on our work, and this means making our efforts sustainable beyond our own involvement. I’ve heard a lot at this conference about burnout being real, about how our time and commitment levels fluctuate, and it’s critical we account for this in how we work.
00:02:12 This talk will cover how to use tools from the community organizing toolbox and apply them to our work on our systems, particularly among those interested in solving problems with technology, Ruby, or Rails. In this talk, we will discuss how to build a community and a team around our goals, how to prioritize individual relationships with others who are interested in these goals, and how this is not a significant departure from the ways we already work.
00:02:57 To set the scene, let’s consider what organizing looks like outside of engineering before we delve into how it’s applicable to our tech work. I don't want to spoil the surprise, but it turns out that organizing is really applicable to what we do. I have two stories to share — one about engineering, and one that isn’t. First, I'll share the non-engineering story.
00:03:36 In 2012, I got a job running a voter contact program for a campaign. I was sent to hot and sunny Phoenix, Arizona, with 30,000 voters to contact. My job involved ensuring as many of these voters as possible were reached, whether it was by knocking on doors or making phone calls to tell them how great a candidate was. 30,000 people is a manageable number but way too much for one person to handle alone, even working 12-hour days. Furthermore, my resources were extremely limited.
00:04:27 However, there were many people in Phoenix who knew this candidate personally. I decided to ask everyone Jackie had ever been friends with to help me with door knocking and phone calls. I managed to gather enough support, and we formed groups of people willing to engage with voters. Over a few months, this team ran an incredibly successful outreach program and managed to connect with a significant portion of those 30,000 voters. Many first-timers gained confidence, realizing they could make a meaningful impact.
00:05:10 In 2016, I had moved back to Washington D.C. and my side volunteer gig involved serving on the board of directors of the D.C. Abortion Fund (DCAF). DCAF is a community nonprofit that allocates around 95% of its budget to covering abortion care costs. We were in dire need of a new case management system because our existing system of three shared Excel spreadsheets wasn’t working. Essentially, this organization hated these spreadsheets; everyone from the board to the management team was frustrated.
00:05:58 However, like my campaign work, we had zero dollars to develop a new system. Nevertheless, I knew there were people out there who might want to contribute! So, I started attending Code for D.C. meetings, met many people interested in our work, and built relationships with them. After a year of collective effort, we transitioned DCAF from spreadsheets and everyone was thrilled with the new system. Case managers were happier and had more productive conversations with their patients, and many engineers who worked on this project learned a great deal about abortion funding mechanics.
00:06:53 To abstract these stories and highlight the common threads, I found both projects had similar challenges: a lot of work to do, insufficient resources, and the potential for burnout when attempting to do it alone. These situations require addressing personal power and elbow grease but also emphasize that I wasn't the only one who cared. If I had dropped out at any time, the impact would have lessened — a serious concern for all leaders.
00:07:46 The take-home here is that whether it’s in engineering or community organizing, assembling a small community around common goals is essential. The specific needs may differ, but the path to a solution through building a community around shared problems remains strikingly similar. The ultimate goal is to ensure that everyone involved has a living example of how success looks like.
00:08:30 At the end of the day, building that community around shared goals pushes us all forward together. It works similarly to the way we approach open-source development. The key takeaway is that there are significant benefits to community building for both ourselves and our organizations. It enables others to engage meaningfully with shared goals and has tangible benefits for us as leaders.
00:09:18 The way we mold these communities as leaders is deeply important. In 2012 and 2016, I employed a technique called engaging through organizing. The core principle is that as a leader, you work to build a community of like-minded people through fostering individual relationships and creating a structured approach for that community to work towards a common goal. This methodology fits seamlessly into our software development work.
00:09:57 What I’ve found is that organizing is not that different from software development. There’s an art to it, but knowing your tools and following a playbook can lead you to success. First, you need to clarify your goal. What are you trying to accomplish? In our previous examples, we were focused on winning an election or overhauling a case management system. It could relate to tests, plugins, or anything else where collaborative effort is needed.
00:10:53 Now that you know your goal, look around for others who share that vision. Establish a foundational relationship that opens pathways for collaboration. Individual relationships are crucial; I've emphasized this point during my talks. People join open-source work initially due to interest in the work, but they return because they connect with the community. The relationships we build keep people engaged and feeling valued even when distractions abound.
00:11:38 Once you have established this foundational relationship, you begin collaborating towards shared goals. With a solid community, you’ll be able to accomplish more together than you could alone. It’s valuable to identify the reasons driving your passion for the community or the work you do because that context will help in engaging others who also care about similar issues.
00:12:21 Now, as a leader, when you reach out to the community, it’s essential to ask guiding questions to understand their motivations for engagement. This initial discussion will provide greater context, allowing you to find common threads that unite your goals. With a firm understanding of shared interests, structure the collaboration around these intersections.
00:13:17 Importantly, ask your contacts to take a concrete step. A key lesson here is that you usually won’t receive help unless you ask. In engaging with community members, focus on creating environments where they feel comfortable contributing. This atmosphere is critical for building lasting engagement.
00:14:12 Remember Joe Dean’s story about teaching coding fundamentals? The need to find the common thread amongst middle schoolers led to a much more engaging experience. It’s important to identify that shared goal, which can lead to inspiring collaboration. The message here is that community should be a primary focus, achieved through nurturing those personal relationships.
00:14:54 As engineers or developers, this notion of community has implications for our day-to-day work. An understanding of the community and its dynamics can be integrated into our current paradigms without drastic changes. It’s about recognizing the significance of relationships within our programming practices, keeping in mind: 'Individuals and interactions over processes and tools.' This foundation connects strongly to the agile and open-source models we are familiar with.
00:15:33 There are significant advantages to establishing communities beyond the results we hope to achieve. This community model aligns perfectly with our existing practices in programming and teamwork. It allows us to engage with individuals more effectively without requiring us to change everything we’re currently doing.
00:16:14 Concrete steps we can take from here include a one-on-one sit-down with every contributor in your circle. Encourage informal meetings, even in digital spaces. Creating spaces for learning and growing as a community is crucial. Retreat and share insights to enhance understanding and keep engagement alive.
00:16:53 Finally, take into consideration that contributing can be intimidating. We must create welcoming environments for newcomers. This involves reducing barriers to entry, providing clear directions for getting involved without overwhelming them. Offering beginner-friendly tasks helps newcomers ease into the community and builds their confidence.
00:17:35 From structuring tasks as bite-sized accomplishments to inviting newcomers with friendly introductions, every little effort counts. As I wrap this up, I emphasize the importance of communal efforts in avoiding burnout and sustaining engagement. Taking the time to ask more significant questions and promote deeper engagement will help us manage ongoing interest.
00:18:27 To bring everything together, I’d like to reiterate a few points. The foundation of open-source work is grounded in interpersonal relationships. Building and prioritizing these relationships results in increased capacities while helping prevent burnout. Additionally, understanding what your community cares about forms a crucial pillar in leveraging these connections. And lastly, incorporating these practices into our regular workflow is achievable, seamlessly integrating organizing perspectives into our everyday process.
00:19:17 By ensuring that as new people show interest in our work, they will continue to enrich our community, we can create sustainable ecosystems vital for growth. The journey of building successful relationships along the way not only enhances our own experiences but fosters a thriving atmosphere for the community as a whole.
00:20:08 In closing, I want to acknowledge the community here today. Special thanks to Allison for her incredible feedback, which helped shape my talk for the better. Let's give a round of applause to the D.C. abortion fund contributors for their vital work. Thank you, Justin from Brakeman Pro, and the other individuals who have supported this initiative.
00:21:36 Next up is a panel on being or becoming an agent of change and hearing leader, which I'm very excited about. Thank you all for joining today. This has been an incredible experience.
00:22:05 At this point, I’d like to invite any questions. What if you have trouble talking to people? I can relate strongly to this issue. As a shy person, I find it often helps to frame my efforts in terms of the work being meaningful. Being aware of my limits is crucial, and knowing when to step back is equally important. Sustainable engagement around open-source work requires pacing, ensuring we take things slow when necessary.
00:23:20 Thank you all again for being here!