Engineering Culture

Summarized using AI

Congressive Management Techniques: Gardening Your Team

Jennifer Tu and Zee Spencer • April 03, 2019 • Minneapolis, MN

The video titled "Congressive Management Techniques: Gardening Your Team," presented by Jennifer Tu and Zee Spencer at RailsConf 2019, delves into effective management strategies for engineering teams, using the metaphor of gardening to illustrate the nurturing role of management. The speakers share insights from their experiences as programmers turned engineering leaders and outline six key areas of focus in management:

  • Phases of Group Development: They discuss Tuckman's stages of team development—forming, storming, norming, performing, and adjourning. Each stage represents different dynamics teams experience as they grow, highlighting the importance of not skipping the storming phase, which is essential for effective development.

  • Hiring Strategies: Instead of seeking the "best and brightest," the speakers recommend hiring based on the specific needs of the team and organization. They stress the importance of understanding the business need, required skills for those needs, and the existing team dynamics.

  • Developing Team Members: The discussion covers various methods for growing team members' skills, including illuminating growth areas, redirecting unhealthy behaviors, and the importance of addressing unhealthy dynamics without micromanaging.

  • Glue Work: An essential part of team dynamics, glue work refers to the non-promotional but necessary tasks that help teams coordinate and collaborate effectively. The speakers emphasize the need for everyone in the team to engage in glue work rather than relying on one individual.

  • Navigating Conflict: Instead of viewing conflicts as negatives, the speakers urge management to reframe conflicts into discussions about tensions. This approach encourages teams to express underlying issues openly and collaboratively work toward solutions.

  • Cultivating Leader Culture: The final point emphasizes building a culture of leadership rather than heroics. Management should create expectations for individuals to take ownership of problems and support their development into leaders.

In conclusion, Jennifer Tu and Zee Spencer reinforce that effective management is about guiding teams through development stages, fostering trust and collaboration, and nurturing a leadership culture within the team, akin to properly tending to a garden to ensure healthy growth and productivity.

Congressive Management Techniques: Gardening Your Team
Jennifer Tu and Zee Spencer • April 03, 2019 • Minneapolis, MN

RailsConf 2019 - Congressive Management Techniques: Gardening Your Team by Jennifer Tu & Zee Spencer
_______________________________________________________________________________________________
Cloud 66 - Pain Free Rails Deployments
Cloud 66 for Rails acts like your in-house DevOps team to build, deploy and maintain your Rails applications on any cloud or server.

Get $100 Cloud 66 Free Credits with the code: RailsConf-19
($100 Cloud 66 Free Credits, for the new user only, valid till 31st December 2019)

Link to the website: https://cloud66.com/rails?utm_source=-&utm_medium=-&utm_campaign=RailsConf19
Link to sign up: https://app.cloud66.com/users/sign_in?utm_source=-&utm_medium=-&utm_campaign=RailsConf19
_______________________________________________________________________________________________
Ugh. Management. Agile was supposed to free us from that, right? Self-organized, cross-functional teams who get stuff done without that old-guard hierarchy. In this fauxtopia, some developers were more equal than others. Can we get the healthy parts back without the Lumberghs?

To bring back healthy engineering management we first must de-mystify and de-stigmatize the concept of management. In this talk we will: * Explore the context of management * Learn the responsibilities of management * Discuss the techniques of management

As a developer, you'll be equipped to understand, empathize with, and influence your boss. As a manager, you'll build a foundation to help you better serve your team.

RailsConf 2019

00:00:20.779 Hello everyone, my name is Jennifer and my pronouns are she/her, and I'm Zhi Spencer.
00:00:26.160 My pronouns are he/him. We are co-founders of Cohere. Our third co-founder is over there.
00:00:33.030 Cohere is a small consultancy that specializes in education and training for product and engineering teams.
00:00:39.780 Zhi and I both started as programmers who transitioned into engineering leadership roles. I'm more of a typist than a programmer. I can type 200 words per minute sustained.
00:00:47.250 Jennifer is the one with the fancy MIT CS degree, so if you have real programming problems, talk to her.
00:00:52.680 Together, we're going to talk you through six areas of engineering leadership.
00:00:59.609 The first is the phases of group development. You can jump all you want.
00:01:05.399 How to hire is second, how to develop your people is third, how to bring them together into a coherent team is fourth, and then how to navigate conflict and grow a leader culture.
00:01:13.020 That's a lot, but before we start, we need to get ready to garden.
00:01:19.560 Imagine your organization as a garden. There’s soil, benches, and plants.
00:01:26.280 People are working in it and coming to see it. There are some things we can't change.
00:01:32.280 We can't change the amount of sunlight, the location, the rain, or what kind of garden people want to see.
00:01:38.670 We also can’t control if someone secretly sprays Roundup on the roses every Thursday during your weekly deploy.
00:01:44.220 However, there are some things that we can change.
00:01:49.789 One thing we can do is accept where we are. This means accepting all the conditions I just described.
00:01:54.869 We need to acknowledge that some conditions cannot be changed quickly, while others might take time.
00:02:01.830 In addition to accepting the conditions and constraints, we must also accept our responsibilities.
00:02:07.770 We are responsible for both the state of the garden and for the well-being of the team of gardeners we direct.
00:02:13.260 This means we are accountable for their job satisfaction, their job effectiveness, and the degree of growth they are experiencing.
00:02:18.450 Once we have accepted our garden conditions, constraints, and responsibilities, we are freed to begin gardening.
00:02:24.239 Where should we focus our efforts? First, we focus on trust and, in particular, between people.
00:02:31.170 Trust is like fertilizer. It might look like poop, but it’s essential for growth.
00:02:36.840 When we build trust among team members, the responsibility for the garden becomes easier.
00:02:43.350 Many of us were programmers before becoming managers, and it might be tempting to build trust by doing the dirty work ourselves.
00:02:50.700 However, this doesn't help our team become better gardeners.
00:02:57.870 Instead, we should build our team's ability to work without us.
00:03:03.239 We can do this by shifting our focus from how the work is done to understanding why it's done, and more importantly, by whom.
00:03:09.840 This leads us to ask ourselves questions about what drives the individuals doing the work.
00:03:16.019 We can refer back to previous keynotes about what gives them meaning and happiness. Great managers understand that performance is not individual; it is systemic.
00:03:27.900 Exceptional work is done not by exceptional people but by organizations designed to empower individuals.
00:03:36.420 Just like an excellent software system continues functioning even when no one is at the keyboard, effective management allows teams to thrive.
00:03:42.239 Let's jump into our first topic: the stages of engineering team development.
00:03:49.500 Tuckman's stages of group development asserts that groups go through five overlapping phases: forming, storming, norming, performing, and eventually, adjourning.
00:03:57.000 Forming is where the group meets. We learn about the opportunities and challenges, and we agree on some of the goals and how to tackle the work.
00:04:05.399 An example of this could be having a sprint kickoff. Storming is when the group begins to notice the wear and tear caused by working together.
00:04:14.850 This is a scary place to be. It can be tempting to protect your team or stakeholders from the consequences of their decisions and behaviors.
00:04:22.470 But storming is natural; it’s not something to avoid. It's an opportunity to learn more about the team.
00:04:29.600 If you remain too long in this stage, it will slow you down, but trying to skip it completely will hinder the building of the effective team you desire.
00:04:37.730 An example of storming: after the kick-off, two developers might find themselves working on the exact same ticket alone.
00:04:46.340 They realize they are independently reproducing each other's work, leading to feelings of frustration.
00:04:53.810 This indicates that they have begun to enter the storming phase.
00:05:02.140 Norming occurs as the group collaborates to navigate the storm. They start to establish habits and structures for working together.
00:05:11.300 However, they’re not quite finalized just yet; they’re working on the details of those habits and norms.
00:05:18.020 For instance, our two collaborators decide that whenever they start a ticket, they will claim it and communicate with each other about what they are working on.
00:05:29.000 As these habits and structures stabilize, teams move into the performing stage.
00:05:37.020 Less time is spent on habit formation, allowing more time for work.
00:05:44.120 The difference between norming and performing is that during norming, significant changes are being made.
00:05:49.500 Yet when performing, the team is making smaller adjustments and improving processes.
00:05:56.660 For our team, after discussing starting new work at the daily stand-up, when they are performing, they might make a small adjustment.
00:06:03.110 If they begin in the middle of the day, they send a group message to inform each other.
00:06:09.360 This learning of new habits remains valuable; opportunities for change arise every time we notice our rough edges.
00:06:16.500 By addressing these, we can safely implement significant changes without re-entering the storming phase.
00:06:23.870 For example, a team may decide, now that they are communicating effectively, to automate how patches are pushed directly to production.
00:06:30.110 While that sounds substantial, it reflects a maturing process.
00:06:37.420 In this journey, we may end up forming two brand new teams as we adjust our structure.
00:06:42.600 Now let’s move to topic number two: adding new team members, or simply, hiring.
00:06:51.950 We want to hire more people because we have more work than we have people to handle it.
00:06:58.890 We also have the funds available to bring on someone new.
00:07:07.040 One common approach when starting to hire is to recruit the best and the brightest, but does that actually serve your true goals?
00:07:15.010 Our primary responsibility is not just hiring top talent but enabling the team to accomplish required tasks.
00:07:23.110 There’s a crucial first step in building a great team: determining the team’s needs.
00:07:28.490 Is your team undertaking a lot of greenfield work? Then do not recruit someone who is primarily focused on legacy projects.
00:07:36.110 If you do, do not expect them to perform at the same level as someone who has been continuously engaged in greenfield work.
00:07:43.890 If your team has diverse skill sets, you should be hiring individuals who can both mentor and be mentored.
00:07:51.180 So instead of solely looking for the best and brightest, here are three elements to consider instead.
00:08:00.580 First, focus on what your business needs. What problem is your company attempting to solve?
00:08:06.740 For instance, we need to decrease our user hosting costs – while that sounds mundane, it could free up $10,000 a month.
00:08:13.780 This could, in turn, increase our financial runway by 10%, allowing us to hire another person for more work.
00:08:24.640 Write down this business need and make it widely known.
00:08:31.030 Refer back to it during every decision point in your hiring process.
00:08:39.180 If you’re on the fence about a candidate, read your business need aloud and consider how that candidate helps achieve it.
00:08:46.049 The second consideration is what skills or abilities are necessary to meet this business need.
00:08:53.480 This assessment should extend well beyond technical skills; consider the whole picture.
00:09:01.200 Do you need a candidate able to strictly adhere to specifications, or someone who can innovate?
00:09:07.620 Is your work environment stable or changing? Those who thrive in a stable setup may struggle in a rapidly changing one.
00:09:13.390 Take time to analyze who has been successful in your organization, and identify the non-technical abilities that help them create value.
00:09:21.700 If you hire someone capable of writing great code but cannot prioritize effectively, then the business need will not be fully met.
00:09:28.210 Relatedly, consider the constraints present within your existing team.
00:09:34.400 If your team thrives on pairing up, then hiring someone who strongly prefers working independently may not be a great fit.
00:09:40.970 Understand how your engineers interact with each other and with coworkers, so you can find individuals who will complement that.
00:09:48.360 This consideration is specific to each team – be honest about where your team is.
00:09:54.730 If you wish for a more collaborative pairing approach but your team isn’t on board, hiring for that perceived culture will lead to disappointment.
00:10:01.230 Recognizing your team’s present state allows gradual transitions rather than pretending reality is different.
00:10:08.670 Once you have evaluated your three steps and know what you need in your next hire, you can start talking to candidates.
00:10:15.570 Tell candidates clearly what you are seeking and the characteristics of a successful applicant.
00:10:22.540 While this may feel intimidating, it can lead to deeper insights.
00:10:31.980 Rather than asking a yes or no question, encourage candidates to share specific stories. For example: what was the last piece of feedback you gave to someone?
00:10:39.360 What was a contentious patch or pull request that involved you?
00:10:47.100 How candidates respond to these questions will reveal if they can give constructive feedback.
00:10:54.430 When we don’t make our expectations clear, we risk missing out on candidates who may not guess correctly what we require.
00:11:01.480 We also miss opportunities to show potential hires what our team values.
00:11:07.690 That's all the time we have to discuss hiring and interviewing. Please feel free to reach out after this talk as it's a vast topic.
00:11:14.420 Now, let’s move on to the next section: growing your people.
00:11:21.480 This might come as a surprise, but programmers are often not experts at managing people.
00:11:30.110 That’s okay; we can learn from psychologists, neurologists, social scientists, and philosophers about how our invisible and visible norms shape behavior.
00:11:38.890 Daniel Kahneman discusses in "Thinking Fast and Slow" the distinction between System 1 (fast thinking) and System 2 (slow thinking). Fast thinking inspires gut reactions, while slow thinking involves careful analysis.
00:11:47.780 To develop our people, we can help them recognize and adjust when their fast thinking overrides their more deliberate evaluations.
00:11:54.479 Let’s explore four options on how to do this.
00:12:01.830 First, you might choose to ignore minor issues. For instance, a team member might take longer to analyze a feature before coding.
00:12:09.170 Consider allowing your team the flexibility to optimize their approach—even if their habits differ from yours.
00:12:16.350 Allowing for small inefficiencies can foster trust and boost overall team effectiveness.
00:12:22.570 The second option is to illuminate growth areas. If behavior must be addressed, provide clearer perspectives.
00:12:29.620 For example, if one team member monopolizes discussions during retrospectives, privately bring this to their attention.
00:12:36.930 This awareness allows them to adjust behavior, ensuring everyone can participate meaningfully.
00:12:45.780 The third option is to redirect contextually unhealthy behaviors. When someone excessively blocks merges due to design concerns without offering solutions, it can drain the team.
00:12:53.340 In such cases, discuss the issue privately, guiding them to deliver their insights earlier in the process.
00:13:01.080 This approach can enhance their skills while positively shaping the team's functioning.
00:13:08.870 Some behaviors, however, must be directly addressed because they are fundamentally unhealthy.
00:13:16.170 This is particularly critical when significant power dynamics are involved.
00:13:23.450 For instance, if someone makes offhand remarks about political correctness, it can signal an acceptance of discrimination.
00:13:30.040 Publicly set clear expectations that such behavior is unacceptable within the workplace.
00:13:38.040 Shifting team behaviors can lead to a more sustainable and engaging work atmosphere.
00:13:45.310 By encouraging team ownership, we enhance engagement and quality of work while freeing up time for strategic initiatives.
00:13:52.580 A common challenge is how individual work styles influence collective efforts.
00:14:01.400 Even with good intentions, individual communication patterns can create gaps.
00:14:09.580 This may manifest when one team alters an API affecting another team’s functionality or adjustments to shared styles.
00:14:17.000 Thus, identifying ownership for long-term tasks is critical, as clarity can often be overlooked.
00:14:23.660 Tanya Riley refers to this as glue work—the unrecognized but essential tasks that allow teams to function smoothly.
00:14:31.740 When glue work goes unacknowledged, your carefully nurtured team may struggle to function effectively together.
00:14:39.000 To address this, we could alternatively have a single individual manage all glue work. However, this approach isn’t sustainable.
00:14:47.560 Recognizing valuable glue workers can lead to resentment if their contributions go unseen.
00:14:54.420 Your talented contributors will eventually look to other opportunities if they feel their roles are undervalued.
00:15:02.540 Instead, teach all team members how to handle glue work. Encourage broader communication beyond their immediate colleagues.
00:15:11.330 Once you provide them with strategies, incentivize their participation in glue work.
00:15:17.500 When promoting individuals, highlight the glue work they have contributed to underline its importance.
00:15:26.160 Set expectations that everyone should excel in glue work to be considered for promotion.
00:15:34.990 This will ensure capable leaders rather than simply individual contributors.
00:15:41.940 Now, moving on to an illustrative scenario that outlines differing testing philosophies.
00:15:47.630 Let’s say Alice values micro-tests with stubs as system boundaries, while Bob prefers integration tests that safeguard user analytics.
00:15:56.960 Initially, this alignment might seem fine. Testing is being conducted, work is completed.
00:16:05.120 However, through discussions, it becomes clear that Alice is disengaged and contributing fewer tests, feeling their addition slow down progress.
00:16:12.210 In such cases, avoidance becomes concerning. The rough edges will evolve into sharper ones if ignored.
00:16:19.110 When unchecked, disengagement impacts not just individual contributions but also the entire team's morale.
00:16:27.770 As Alice's manager, you should foster an environment of constructive feedback.
00:16:36.200 Conflict might arise from differing perspectives; however, it’s vital we engage openly.
00:16:44.520 Let’s consider three steps to effectively navigate these tensions.
00:16:51.430 First, expose the sources of tension. Encourage team members to share underlying factors contributing to friction.
00:16:58.050 Just as an iceberg reveals only a small section of itself, much of the tension lies below the surface.
00:17:06.930 Each employee's contributions to tensions must be analyzed comprehensively for effective resolution.
00:17:13.760 Second, share needs clearly. For instance, Alice needs assurance that her changes won’t introduce unrelated issues.
00:17:20.260 She values competency, and when things go awry, it undermines her confidence.
00:17:26.580 Similarly, Bob requires confidence when making incremental changes.
00:17:33.240 By articulating what they need, both can find common ground to focus on shared goals.
00:17:41.350 Finally, step three involves exploring available resources, both internal and external.
00:17:49.900 Alice and Bob discover they can conduct workshops leveraging their individual strengths.
00:17:56.920 Shared resources can transform conflict into developmental opportunities.
00:18:04.830 Recognizing that tensions can indicate areas ripe for improvement can lead to a more collaborative environment.
00:18:10.010 Now moving to a real-life perspective, let’s take a moment to consider a case of hero culture.
00:18:16.800 You encounter a situation where a single engineer saves the day during a production outage.
00:18:24.580 While such heroics can be inspiring, making it a regular occurrence indicates larger issues.
00:18:32.200 Hero culture often exacerbates minor issues, allowing them to escalate into larger problems.
00:18:39.230 Instead of solving root causes, hero culture opts for reactive solutions, hindering long-term success.
00:18:47.060 So if hero culture is to be avoided, what should be our alternative?
00:18:55.010 We need to cultivate a leader culture. When someone performs heroics, hold a retrospective.
00:19:03.360 Thank the individual, but also task the team with determining how to prevent future incidents.
00:19:11.240 By acknowledging and valuing such heroics but promoting proactive change, we ensure continuous improvement.
00:19:18.690 Organizational culture shifts begin at the top; your behaviors will influence your team's behaviors.
00:19:27.200 Showing your team what leadership looks like helps them model that behavior.
00:19:34.800 For instance, if you engage with work when you’re unwell, team members might follow suit.
00:19:42.070 These patterns reflect a team functioning outside its capacity rather than a passionate and engaged culture.
00:19:50.149 As a manager, you should focus on empowering your team rather than becoming a centralized problem-solver.
00:19:57.800 Your role is to support your people in becoming leaders rather than perpetuating a culture of heroes.
00:20:05.560 Address issues that require your input but encourage your team to take charge of their own dynamics.
00:20:12.470 Foster autonomous communication among team members, but engage when issues arise from outside the team.
00:20:19.270 Finally, be vigilant against any negative dynamics, like experienced team members trying to dominate less experienced ones.
00:20:26.850 Promote a balanced and respectful team environment as you leverage collective strengths.
00:20:33.370 In summary, growing a robust team requires nurturing leadership rather than hero culture.
00:20:40.400 Recapping the main points we discussed: forming, storming, norming, and performing—these are stages of natural team development.
00:20:46.170 Hiring should focus on filling business needs rather than just recruiting the best and brightest.
00:20:53.430 Growing your people involves understanding their needs, helping them engage, and fostering broader communication.
00:20:59.900 Glue work is crucial; cultivate an environment where all members feel responsible for it.
00:21:07.060 When tensions arise, engage collaboratively and focus on exploring underlying needs.
00:21:14.780 Commit to growing a leader culture where proactive solutions are valued.
00:21:23.160 Thank you for attending our talk on gardening your team!
00:21:30.320 We will stick around for an off-mic Q&A, and you can also find us on Twitter.
00:21:36.440 I am at JTu, and my company is at Cohere.
00:21:42.860 We’ll post our slides later for those watching on YouTube.
Explore all talks recorded at RailsConf 2019
+98