Talks

Bebop to the Top - The Jazz Band As A Guide To Leadership

Bebop to the Top - The Jazz Band As A Guide To Leadership

by Michael Cain

The video "Bebop to the Top - The Jazz Band As A Guide To Leadership," presented by Michael Cain at RailsConf 2017, focuses on how principles of jazz music and improvisation can inform effective leadership and team dynamics in a development environment. Cain draws parallels between a successful jazz band and a high-functioning software development team, highlighting the importance of creativity, collaboration, and structured freedom in achieving workplace harmony.

Key Points:

  • Improvisation in Jazz and Work: The appeal of jazz music lies in its improvisational aspects, where musicians create spontaneous compositions. This is comparable to how development teams should creatively resolve challenges and innovate together.

  • Ideal Workplace Characteristics: An effective workplace fosters clear communication, supportive leadership, conflict resolution, shared values, and aligns personal and professional values.

  • Guidelines vs. Rules: Cain emphasizes that guidelines should facilitate creativity—not restrict it—by allowing developers the freedom to make choices within a structured framework, much like musicians adhere to a melody while improvising around it.

  • Team Dynamics: He discusses the roles within a jazz band as reflective of specialized roles on a development team, with each member contributing to a collective effort. Awareness of each member’s contributions is vital for seamless collaboration.

  • Mentorship and Growth: Senior developers should mentor juniors, fostering a culture of continuous improvement akin to jazz traditions where experienced musicians guide newer players.

  • Creativity and Vulnerability: Cain highlights that creativity is a vulnerable process and requires a non-attacking feedback culture. This includes being mindful of emotional attachments to one’s code, which can be likened to not criticizing an ‘ugly baby’.

  • Conflict Resolution and Trust: Effective leadership is rooted in trust—believing team members aim to produce quality work. Handling conflicts in a constructive manner is critical for maintaining a positive team atmosphere.

Conclusion:

The essence of the talk is that like a jazz band, successful teams operate under principles of improvisation, making room for individual creativity while adhering to shared objectives. Cain encourages leaders to establish environments that promote trust, mentorship, and freedom, ultimately leading to more engaged and productive teams.

00:00:11.929 I’m probably going to make the AV guy freak out with how loud my voice is, but my name is Michael.
00:00:17.430 My study is largely centered around music.
00:00:23.910 Before I joined the Rails community, my undergraduate studies were in classical percussion and vocal performance.
00:00:29.699 While I was in undergrad, I fell in love with jazz.
00:00:34.890 For me, the appeal of jazz was its improvisation.
00:00:39.899 We get to spontaneously compose music on the fly, in the moment, together.
00:00:47.010 That immediacy of connection to music and the moment is what I found attractive.
00:00:54.090 I wanted to illustrate how some of the concepts of improvisation can be applied to a development team.
00:00:59.250 But first, I want to show you some humorous musician headshots.
00:01:06.240 As a musician, you have to advertise yourself. So of course, I did that.
00:01:11.430 I call this one 'The Jazz and Side Pose.' You can see how it showcases my lack of a chin.
00:01:16.950 This one I would call 'Cool and Contoured' or 'The Squatty Potty Pose.'
00:01:22.439 Not sure how this sold me as a musician, but it was pretty funny.
00:01:31.049 A variation was the 'Jazz Frog Pose,' holding my mouth like a bouquet of flowers.
00:01:36.570 And of course, the 'Fabio Pose' where I looked more like I was trying to sell jeans in a Gap ad.
00:01:41.909 But hey, that was getting me gigs; whatever works.
00:01:46.950 What we’re talking about here is aimed at people who are on a development team.
00:01:52.409 You might be looking for ways to be a leading force on your team.
00:01:58.920 Perhaps you’re a senior developer trying to mentor the more junior members of your team.
00:02:06.329 You want to coach the people on your team so that they can ultimately become better developers.
00:02:12.959 Or maybe you're a team lead looking to improve the culture on your team.
00:02:20.490 You're wondering how to get your team to work better together.
00:02:25.800 This will create more quantity and quality of committable code.
00:02:31.920 So what would an idyllic place to work look like?
00:02:38.010 In this ideal environment, you would have clear expectations.
00:02:44.490 You would know what you were doing on a given day.
00:02:51.690 You'd agree that your tasks make sense regarding business requirements.
00:02:57.450 You would be developing things that you know will make a difference.
00:03:03.540 Furthermore, you would have a grip on the technical and business aspects of what you’re trying to create.
00:03:08.880 It wouldn’t just be, 'Here’s a feature story that does something mysterious.'
00:03:14.700 You would have a clear understanding of what this is supposed to accomplish.
00:03:21.660 Leadership would be supportive; leaders work with you, not against you.
00:03:27.780 They aim to support you in your efforts as a valued member of the development team.
00:03:33.570 Conflict resolution is collaborative, not dictatorial.
00:03:40.560 Team members don’t dictate to you what your code is wrong.
00:03:47.400 Instead, you work together to resolve conflicts within the team.
00:03:54.150 The values that your company holds and those that your team holds are complementary.
00:04:00.600 You feel that the mission of the team aligns with the mission of the company.
00:04:09.870 You enjoy coming to work and doing what you do.
00:04:16.859 You’re free from unnecessary distractions or irrelevant meetings.
00:04:23.130 Your work life complements your personal life.
00:04:28.950 The values you hold as an individual are aligned with those at your workplace.
00:04:37.150 Now, what if you worked in a team that had little to no clarity?
00:04:43.990 You would have little idea of what you were supposed to accomplish.
00:04:49.270 User stories might be nonexistent, and the work environment would be chaotic.
00:04:56.140 When seeking help from management, you receive meaningless platitudes or nothing at all.
00:05:01.900 Has anyone worked for a really large organization like that?
00:05:08.460 You know, the kind with vague mission statements that resonate with no one?
00:05:14.740 Leadership might come in two frustrating flavors.
00:05:20.920 Either you’re micromanaged by someone hovering over your shoulder all day or you’re left alone.
00:05:27.640 You wouldn’t even know whom to ask for help outside your team.
00:05:34.900 Management does little to foster communication among fragmented teams.
00:05:41.260 This chaotic atmosphere could feel like a conflict-ridden episode of Game of Thrones.
00:05:48.700 Your team might feel like the Lannisters fighting for dominance while undermining others.
00:05:55.210 Working in an environment like that is miserable.
00:06:01.270 You might either be chronically bored with nothing to do or overwhelmed with too much to handle.
00:06:06.400 Deadlines may feel inhumane, with new requirements seemingly conjured from thin air.
00:06:12.010 The only interest leadership has in you is your ability to produce.
00:06:19.590 They’ll squeeze you for as much code as they can get before sending you home.
00:06:26.200 So what would be the ideal model for a development team?
00:06:39.479 How can you have people actualized as individuals while contributing to a meaningful and productive team?
00:06:46.400 Ultimately, that ideal model could be a jazz band.
00:06:52.000 So how does that work? Let’s cover what a jazz band is in 60 seconds.
00:06:57.970 You can think of a jazz band as analogous to agile squads.
00:07:05.559 You have the rhythm section with their role, and then there’s the horn section, each with their job.
00:07:13.200 The three components of music are melody, harmony, and rhythm.
00:07:19.740 You can think of melody as the core language; it communicates your message.
00:07:26.240 Harmony provides context for the melody, much like Rails does for Ruby.
00:07:34.440 Rhythm, on the other hand, is like DevOps; it allows all of this to occur.
00:07:42.480 Music is a temporal art form that unfolds over a period of time.
00:07:50.309 We have to consider time when we are being creative.
00:07:55.710 Jazz standards typically use one of the three patterns I have displayed.
00:08:02.229 Think of it kind of like convention over configuration.
00:08:09.140 We use specific templates in jazz music.
00:08:14.050 While not all jazz conforms to this, the majority does.
00:08:20.440 Typically, the melody is stated, solos are provided, and then the melody returns.
00:08:27.729 Everyone claps, drinks are served, people dance, and it's a good time.
00:08:34.089 Now, how can we apply this structure to our field?
00:08:41.850 Company style guides are a starting point.
00:08:48.940 Think about the color choices and methodologies utilized.
00:08:55.810 How many of you have style guides within your company?
00:09:02.230 Some of you raised your hands; that's great!
00:09:07.510 Having that level of consistency among our teams will positively impact our work.
00:09:14.030 I don't have to think about what colors to use or how to do things, that has already been determined for me.
00:09:20.440 This allows me to focus on being creative, to concentrate on what I want to accomplish.
00:09:27.850 Think of it as freedom to versus freedom from.
00:09:34.530 I'm free from decision-making constraints, which allows me to express creativity.
00:09:40.950 The concept is that as a group, we all agree on how we will move forward.
00:09:47.780 We all play the same song, while still allowing for personal creativity.
00:09:54.270 The idea of a sandbox comes to mind.
00:10:00.740 My parents were very clear; you can do anything you want in the sandbox as long as it remains within reason.
00:10:06.080 You can play all day—as long as you stay in the box.
00:10:11.949 That’s what company style guides do; they provide a framework for creativity.
00:10:18.599 Guidelines are not rules; there's a time and a place to bend them.
00:10:25.910 As Charlie Parker said, 'You learn the changes and then you forget them.'
00:10:32.310 Guidelines should serve as tools for creativity, not limitations.
00:10:39.230 Sometimes, you do need to color outside the lines, and that's acceptable.
00:10:46.000 Guidelines act as barriers to the unknown, helping to guide creative choices.
00:10:52.200 As mentioned earlier, consider your future self when making choices.
00:10:59.159 How can you create in a way that sets up the next developer or your future self for success?
00:11:06.539 Guidelines in the jazz world look different than strict rules.
00:11:13.230 Rules dictate specific notes to play at specific times, providing rigid parameters.
00:11:20.960 The attraction of jazz is creativity and expressive freedom.
00:11:25.860 Guidelines offer flexibility, such as specifying the chords to play while allowing room to improvise.
00:11:32.150 In development, rules look rigid, while guidelines offer freedom.
00:11:39.030 A rules-based user story could be overly prescriptive, leaving little room for interpretation.
00:11:47.000 However, a guideline-based story allows for flexibility in how developers achieve their goals.
00:11:56.000 You can emphasize outcomes over methods, trusting your developers to find the right path.
00:12:03.059 So if you agree that guidelines are great and want to implement them, what’s next?
00:12:11.640 First, recognize that you don’t develop in a vacuum; collaboration is essential.
00:12:19.115 Code is like a pebble thrown into a lake; it creates ripples throughout the application.
00:12:27.320 We need to be aware of how our code affects the ecosystem.
00:12:34.800 Utilizing TDD or continuous integration helps ensure that changes align with the overall codebase.
00:12:44.160 At my workplace, anything committed must pass tests to maintain quality.
00:12:51.460 This way, we can ensure our contributions enhance rather than disrupt the project.
00:12:58.300 Be mindful not to over-develop features out of fear of the future.
00:13:06.160 Remember the mantra 'You ain't gonna need it' when it comes to development.
00:13:12.190 Develop what you need at the moment, ensuring it serves the immediate purpose.
00:13:19.000 And remember to consider the next developer or your future self.
00:13:25.320 Listening is critical. Just like in a jazz band, awareness of your fellow developers is crucial.
00:13:31.220 Can you hear what others are doing while you’re developing your feature?
00:13:37.570 Be aware of any conflicts that might arise, especially regarding shared resources.
00:13:43.900 This creates a smoother workflow and helps avoid unnecessary slowdowns.
00:13:50.800 Soloing in a development environment means feeling supported while making critical decisions.
00:13:59.850 When driving a branch or feature, you should feel like your team trusts you.
00:14:06.840 This does not mean accepting poor code, but rather encouraging individual responsibility.
00:14:14.600 Adhering to a style guide keeps things consistent and simplifies discussions during peer review.
00:14:21.689 Asking constructive questions helps others arrive at choices, rather than dictating.
00:14:27.830 Creativity is a vulnerable act. You’re sharing a part of yourself when you present your code.
00:14:37.159 Be supportive and consider the emotional attachment developers have to their work.
00:14:43.460 While critiquing, focus on the choices made, not the developer themselves.
00:14:50.180 Encouraging constructive criticism fosters creativity rather than stifling it.
00:14:56.780 Maintain the notion that you are not defined solely by your work.
00:15:04.790 Responding to creative challenges with understanding and fostering development is key.
00:15:11.679 Trust is paramount in a creative atmosphere; it's foundational.
00:15:19.080 As a team member, you must trust that your lead has your best interests in mind.
00:15:26.030 Team leads must trust that their teams will make informed and thoughtful choices.
00:15:33.530 This mutual trust creates a culture conducive to growth and exploration.
00:15:41.570 This talk draws inspiration from a book called 'Leadership Jazz' by Max Dupree.
00:15:50.180 He served as CEO of a furniture company for thirty years.
00:15:56.700 Dupree emphasizes serving your team and fostering an environment of support.
00:16:03.440 As a leader, your focus should be on the group, not just self-interest.
00:16:10.300 Not at any point should you forget about the team's health and development.
00:16:16.290 Awareness leads to better outcomes for everyone on the team.
00:16:22.259 The Platinum Rule is something I learned during a brief stint selling suits.
00:16:30.050 I learned to treat others how they would like to be treated.
00:16:37.040 This applies to leaders understanding how their team members wish to be coached.
00:16:43.450 Some may prefer a sports-like coaching approach, while others need a consultative one.
00:16:50.800 Guidelines can help create a standard for teams to operate under.
00:16:56.900 Encourage your team to refer back to your style guide routinely.
00:17:03.640 Do you have strategies to help orient new developers?
00:17:09.740 Leaders should guide newcomers in acclimating to the team's processes.
00:17:15.190 This can prevent newcomers from feeling lost or overwhelmed.
00:17:21.838 Thank you very much for attending. I appreciate your time.
00:17:28.170 Enjoy the rest of your conference.
00:17:35.100 So my undergrad experience was classical percussion and voice.
00:17:41.220 I was an opera singer and did orchestral work.
00:17:46.950 In graduate school, I focused on studying the vibraphone.
00:17:52.620 The question comes, how do jazz musicians handle conflicts?
00:17:59.420 This can refer to personality clashes or disagreements in musical ideas.
00:18:07.450 Sometimes, you have to segment work so that conflicting styles won’t bump together.
00:18:14.400 When conflict arises during a performance, I let the soloist lead.
00:18:21.940 Individually, we decide whether we want to play more freely or stay within the framework.
00:18:28.150 But how can we reconcile solos while maintaining teamwork?
00:18:35.320 The key is not to impose views on others; instead, ask the right questions.
00:18:41.620 If they make a poor choice, guide them back without harsh criticism.
00:18:47.650 Does this resonate with discussions you’ve had on a development team?
00:18:55.220 Choose collaboration over isolation.
00:19:02.230 People often feel disconnected if they prioritize their individual agenda over group collaboration.
00:19:09.050 None of us entered this field to work alone.
00:19:16.370 We work together; it's a shared creation.
00:19:22.160 I believe we are out of time, so thank you for your attention.