engineering management seriesThis is the fourth in an ongoing series of posts that address how New Relic does engineering management in the real world, written by various New Relic software engineers and managers. Look for more posts in the series in the coming weeks, or see them all here.

 

As any software engineer will tell you, turning requirements and user research into awesome features is no simple process. But at New Relic it’s one we take very seriously—and one we take pride in doing pretty darn well.

Any project involving multiple parties is eventually going to hit a few bumps in the road. Even when its members communicate well, an agile team is going to discover technical limitations that demand changes to a project’s requirement and design. Anything that helps find and resolve those issues has got to be a good thing, right?

At New Relic, we’ve found a great way to avoid many such stoppages: Project Leadership Teams. These four-person teams, in which each member represents distinct concerns, hold explicit conversations at every stage of the project, sharing responsibility for moving a project forward as effectively as possible. All four participants feel a strong sense of ownership and engagement, and all four collaborate to find the right answers. Thanks to these teams, we’re often able to resolve problems early, helping to ensure successful on-time delivery and all-around better products.

puzzle pieces: engineering management seriesSo who are these four project leaders? There are four distinct roles:

  1. Product Manager
  2. Design Lead
  3. Technical Lead
  4. Project Manager

Let’s take a closer look at each role and at the phases of the development cycle (Discovery, Ideation, Delivery) where they spend the most energy. 

1. Product Manager

This customer-facing person represents the needs and problems of whomever we’re building the product for. The Product Manager is most active in the Discovery phase, identifying customer pain points and gathering research, which can then be presented to the leadership team as a whole.

By reviewing those materials together early on as they craft a project mission statement, the team can raise and confront potential issues before they turn into expensive re-work problems. Just as important, it can establish clear goals.

2. Design Lead

How do we craft the software to meet the user’s needs? That’s the question on the Design Lead’s mind. Interpreting ethnographic research and persona work, the person in this role develops a clear picture of the user experience the project needs to deliver. As we hit the Ideation phase, this person is focusing on what our target users do day to day, what they care about, what freaks them out—with the goal of generating a clear statement of the end user to share with the whole team.

By pursuing scenario-driven UX development principles during prototype exploration, the Design Lead helps make sure that what we build will solve the right problems in the right way.

3. Technical Lead    

Not to be confused with a lead engineer, this role is open to any trusted software engineer. They are tasked with making sure that the Ideation process accounts for technical limitations and alternatives. As the Ideation phase reaches conclusion, the Technical Lead evaluates the build-out options, prototypes the technology stack, and helps the team to draft its solution vision.

Involved in leadership team conversations from the outset, the Technical Lead brings a deep sense of context to the engineering team during the Delivery phase. This allows them to help the whole team make decisions without the need to constantly stop work and call in the Product Manager and Design Lead at every turn.

4. Project Manager

Usually an engineering team manager, this person works to keep everyone on track. They make sure that all of the competing interests expressed by the other three leaders are addressed, evaluated, and decided on at the right time. They check that all of the work is scoped correctly and has effective acceptance criteria. By taking care of logistics and facilitating the whole process, the Project Manager keeps the team moving.

As we reach the Delivery phase, the Project Manager ensures iterative implementation. They communicate each milestone to the Product Manager and Design Leader to secure their validation. Most important, the Project Manager ensures the whole Project Leadership Team stays abreast of the project’s overall progress and how well it fulfills the goals set for it.

There’s more than one way to deliver great software. But at New Relic we’re pretty confident in our Project Leadership Teams—they help us do what we need (and love) to do.

Be sure to read the other posts in this series:

Background and puzzle images courtesy of Shutterstock.com.

jkaron@newrelic.com'

Jonathan Karon built New Relic's Mobile APM team. He spends his days inventing new ways to measure every aspect of mobile apps from the inside out and fine-tuning a world-class engineering group. When he's not talking about mobile apps as the ultimate distributed system, Jon can be found in the woods or experimenting with the menagerie of mobile projects. A tech polyglot he has been involved in various unfamous tech startups and was doing mobile-social-local-real-time apps when the Apple Newton was still hot. View posts by .

Interested in writing for New Relic Blog? Send us a pitch!