Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

6 Unique Engineering Roles Designed to Boost Development Velocity

DZone's Guide to

6 Unique Engineering Roles Designed to Boost Development Velocity

· DevOps Zone
Free Resource

“Automated Testing: The Glue That Holds DevOps Together” to learn about the key role automated testing plays in a DevOps workflow, brought to you in partnership with Sauce Labs.

Written by Jade Rubick for the New Relic blog.

What are the things that the best engineers and managers do to increase the velocity of their teams?

A year ago, I pulled aside two other managers, Darin Swanson and Kirby Frugia, and we listed all of the concrete actions that our best engineers and managers take to make things move unbelievably fast. I grouped these behaviors into a collection of roles that represent these sets of behaviors.

In this post, I share engineering-focused roles. Each of these roles can be executed at an individual level and at a team level. In later posts, I’ll share roles that are more specific to management.

For each role, consider who on your team fills that role, and whether or not it is something you might want to improve at.

Role #1: The Mage

mage iconThe first role is the Mage, the person who says, “Hocus Focus.” The Mage’s job is to help the team focus and eliminate distractions. This matters because a focused team can get a ton of stuff done quickly. What does the Mage do to preserve focus?

First, the Mage separates interrupt-driven work from project work.

When working as an individual, this generally means allocating your time into separate blocks, with focus time separated from interrupt-driven time. Treat them like oil and water and make sure they don’t interfere with each other. One tip from a coworker is to look at your GitHub activity (the punch card chart), and choose the focus time when you have the largest amount of commits.

When a Mage looks at a team, they often formalize this separation between project work and interrupt-driven work by creating Heroes to deal with important interrupt-driven work. A couple of years ago we didn’t have formal Heroes at New Relic; now we rely on them throughout all of engineering to preserve focus time.

We’ve also seen success encouraging focus with a Cone of Silence, and with what we call Bubble Days. Both of these are basically the same thing: allowing people to be off the grid except for the project they’re focusing on. The idea is to be as untouchable as when you’re on vacation.

As engineers, we typically work best when working on one thing at a time. Switching costs are very expensive. Because of this, the Mage pushes to make an engineer’s execution as single-threaded as possible, encouraging them to

  • Take on one project a time.
  • Push open projects to completion before moving on to the next thing.
  • Use techniques to remain focused on one thing at a time. The Pomodoro technique works well for this.

Finally, the Mage can act as the advocate of focus. At team standups, the Mage asks tough questions about anything that seems off topic:

  • Is that the right thing to focus on?
  • Does this matter?
  • What is the problem we’re trying to solve and how does it relate to our project goals?

Mage pro tip: Turn off notifications, such as email. You don’t need to see every email that comes in right away—just check you inbox a couple times a day.

Role #2: The Cutter

cutter iconIf the Mage is about focus, the Cutter is concerned with making sure we cut out any work that isn’t our top priority. A Cutter helps the team by making sure everyone focuses on what is most important.

The role of the Cutter is important on a team because they help prevent feature creep, and they keep the team focused on the most valuable core of each project. The Cutter believes that reducing the amount of work you do adds more to your velocity than working faster. They love a simpler but less complex solution, and are always looking for the smaller, most incremental scope possible.

How do they cut things? Mostly, the Cutter asks questions like:

  • Do we really need to do this?
  • How is this important to our customers?
  • Is there any way we could cut scope on this?
  • Is there a different way we could do this that’s less work but gives us most of the value?

The Cutter also helps the team focus on incremental delivery. The goal is to

  • Deliver the work in chunks.
  • Use the smallest chunks to validate the idea.
  • Make sure that it is working at each point of the way.

Cutter pro tip: Focus on one problem at a time. Don’t try to make it perfect, but always keep working towards the end goal.

Role #3: The Mole

mole iconThe Mole’s job is to be best friends with another team, and make sure their home team is never surprised. The Mole is also a double agent, passing information back to the other team to make sure they’re not surprised by what the Mole’s team is working on.

The Mole is critical so the team doesn’t get blindsided by something weird another team is doing. They naturally want to preserve a good flow of information throughout the company.

As a result, the Mole:

  • Asks questions like “Who needs to know about this?”
  • Makes sure the team’s work is well coordinated with other teams.
  • Makes sure everyone knows all the incoming and outgoing commitments from both teams.

The goal is to make sure three things never happen:

  1. Another team you’re depending on reprioritizes their work but doesn’t tell you.
  2. They don’t even start working on it because they don’t realize how important it is to you.
  3. They do some work in something that affects your team, but you don’t know about it.

A really effective Mole is all over the place, building relationships and influence across teams, and managing dependencies between them. Moles talk with people on other teams all the time, and broadcast information continually to the right people.

Mole pro tip:Respect each teams’ priorities, and help them prioritize when possible.

Role #4: The Dodger

dodger iconThe Dodger’s job is to dodge obstacles with grace. The Dodger is the person on the team who finds that perfect workaround, the hack, or the elegant way around things that might set back the team. This role makes the difference between a team that is blocked, and a team that comes up with the solution that keeps things moving forward. If you’ve ever worked with a Dodger, you know it’s an amazing role to have on the team.

The Dodger is great at coming up with ways to prevent obstacles from being real. The Dodger sometimes does this by refusing to accept that an obstacle is actually a true obstacle. They give themselves a little time to question and challenge obstacles before acknowledging their existence.

One reason the Dodger is able to do this is because they have an unconventional way of thinking. They’ll question assumptions and come up with “crazy” ideas that often end up being good ones. They also have a strong technical knowledge, so they can go very deep into a problem and come out with a solution that saves the day. The defining characteristic of a Dodger, though, is that they make obstacles disappear.

Some Dodgers accomplish this socially—they bring people together to solve any blockages impeding the team. These Dodgers are the masters of getting people to come up with a solution.

Dodger pro tip:A Dodger isn’t afraid to ask for help or challenge assumptions.

Role #5: The Nowist

nowist iconThe Role of the Nowist is to move things closer to the present. For a Nowist, every action either makes things move faster, or makes them move slower, and they can’t tolerate anything going slower. So they’re continually looking for ways to eliminate waiting.

Some typical questions that the Nowist might ask include the following:

  • Can we just go talk with him now?
  • Do we need a meeting, or maybe we can decide right now?

A Nowist has a different relationship to timelines than most people do. To a Nowist, a deadline isn’t something you work against—it’s the final point of failure. The Nowist wants to have things started immediately and finished tomorrow. If you have three days worth of work to complete this week, the Nowist is the person who starts it on Monday morning and has it done Wednesday afternoon.

To a Nowist, the worst words they can imagine are “I’m waiting for so and so to do X.” For them, there is always a way to do things that are non-blocking. For example, instead of waiting for a decision on something, they’ll move ahead and inform people what they plan to do. Generally, a Nowist seeks guidance instead of approval, and broadcasts intention rather than hesitating.

Nowist pro tip:When you come across an issue that needs a decision, talk with the right people then send a message saying, “Here are the various options and tradeoffs. I’m going to proceed with X, but if you have any concerns or feedback, please let me know.” It’s usually better to course correct and throw away a little work than to sit around and wait for consensus.

Role #6: The Critic

critic iconThe Critic doesn’t just offer feedback to other team members, they build a team where everyone wants to do so.

Critics are wary of too much politeness. Politeness is a sign your team doesn’t trust each other yet. Politeness can keep team members from annoying or upsetting each other, but it’s also an indication that the team hasn’t learned to deal with conflict.

To be effective, the Critic builds trust with teammates, using humor and self-deprecation, and asks for feedback. The Critic takes every opportunity to share useful and helpful feedback in a way that the people around them can hear.

The Critic is important on a team because they’re the one who helps point out ways to improve. They also thrive on feedback and honesty.

Critic pro tip: To be effective and listened to, the Critic must be very sensitive to their audience.

Implementing the six roles

Actively filling all of these roles can make a big difference in your engineering team’s velocity of development. But it can be heavy handed to simply assign these roles to specific individuals. Instead, here are a couple of ideas:

  • Ask each team member to choose a role, but not tell everyone else which role they’ve chosen. See if after a month everyone can guess which roles each team member took on.
  • Ask everyone on the team which roles they think their teammates fill, and where they might benefit from focusing on a different role.
  • Rotate roles each month, and have everyone try every role.

Over time, with all of these roles covered, your team should become more focused, efficient, and productive.

Learn about the importance of automated testing as part of a healthy DevOps practice, brought to you in partnership with Sauce Labs.

Topics:
java ,devops ,tips and tricks

Published at DZone with permission of Fredric Paul, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}