This 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.
So who are these four project leaders? There are four distinct roles:
- Product Manager
- Design Lead
- Technical Lead
- 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:
- New Relic Engineers Have Two Jobs
- How We Hire and Develop Great Engineers at New Relic
- Peer Groups Help Our Engineering Managers Build Great Teams
- At New Relic, Management Isn’t a Promotion—It’s a Different Job
- Designed for Collaboration: Helping Engineers Be Awesome Together
- Meet Our Invisible Managers, Working Behind the Scenes to Spotlight Their Teams
- Transparency Is Clearly the Secret to Good Management
- How Our Agile Review Process Builds Better Engineers Faster
- Completed Staff Work: The Secret Management Technique to Empower Your Team
- The 5 Habits of Awesome Engineering Managers