Episode 07

Headshot of Brenna Heaps

with Brenna Heaps of GitHub

Our guest this week is Brenna Heaps.

Brenna currently works at GitHub, but previously was a project manager at Happy Cog. She managed several projects that Katie was a part of, so we asked her to join us on the show today to share her tips and advice on managing projects and teams, selling clients on performance, sticking to performance budgets, and more.

Direct Download

Transcript:

Tim Kadlec:

Welcome. You’re listening to episode seven of the Path to Performance, a podcast for everyone dedicated to making the web faster. I’m your host, Tim Kadlec.

Katie Kovalcin:

And I am your other host, Katie Kovalcin, and we’re back after kind of a little break—the fourth of July and traveling and all that stuff… We’re kind of a little delayed this week. But we’re excited to be back!

Tim:

Yeah, it’s been nice after having a few lazy weeks there.

Katie:

Yeah, so let’s get back to talking about some performance stuff.

Tim:

The nice thing about the big gap is you get a nice buildup of cool things going on to talk about, which is nice.

Katie:

Yeah, and this episode is no exception. [laughs]

Tim:

[laughs] Yes. One thing—so Val Head and Cennydd Bowles have the new podcast, Motion and Meaning.

Katie:

Yeah, and all about animation, which is pretty cool—talking about perceived performance and all that stuff, which we touched on a little bit a few episodes back.

Tim:

So yeah, it’s animation, motion design, things like that for digital designers. They’ve got two out so far, which I’ve listened to, and they’re very good. Like you said, we’ve been talking about perceived performance. I think understanding how to do motion design properly on the web is going to become increasingly important.

Katie:

Yeah, absolutely.

Tim:

So it’s pretty cool to see two super smart people like Val and Cennydd tackling it.

Katie:

Yeah, I’m really excited about that podcast, so you should also go check that out of you’re listening to ours.

Tim:

Yeah, if you like listening to things.

Katie:

Another cool thing that I have seen around is the speaker deck for a talk called “Death to Icon Fonts,” by Seren Davies. It’s really interesting from the perspective of why it’s bad for people who are dyslexic and things like that, and it ties nicely into performance because we get a lot of questions in our Slack channel about using SVG for icons and things like that, and what’s better for performance. And Tim, I believe both you and I are Team SVG.

Tim:

For sure. I’ve got the shirt and I know the gang sign, so.

Katie:

[laughs] Yeah, we’re on a kickball team, Team SVG.

Tim:

[laughs] Yeah.

Katie:

But the talk is really cool and I think that SVG is definitely an important conversation for accessibility, for performance, all the nice things that all kind of work nicely together.

Tim:

Yeah, definitely. The way I understand it, this is her first presentation, which is nuts because it looks like it was fantastic. I don’t know if they recorded it, but if there is a recording somewhere out there, we’ll eventually track it down and we’ll post it back up here. But the deck is definitely worth looking for.

Katie:

Conference organizers, you should reach out to her…

Tim:

Yes, absolutely. And then Paul Irish has done yet another awesome performance audit, this time of the Reddit mobile site, which he did the audit all on basically GitHub stuff, like on GitHub each thought that he had was a different comment on an issue or something like that. It is super detailed and super awesome.

Katie:

Yeah, super thorough.

Tim:

Yeah, definitely, as is any time he’s done these sorts of things. And just like before, it’s cool for the performance insights but I also like just getting a glimpse into how somebody else is going through the process of finding performance bottlenecks, because you get a lot of insight into how he’s actually identifying the issues, which is kind of cool.

Katie:

Yeah, absolutely.

Tim:

So definitely check that out as well. The performance audit stuff has come up several times, but I think that’s a big step for any team’s process. You’ve got to be able to figure out where those bottlenecks are to be able to squelch them, so I think these are super valuable things every time one of these things gets posted.

Katie:

Yeah, and that kind of goes early on into, way back, our mission-thing of getting teams to thinking about and incorporating performance. Doing audits is kind of a preliminary step to getting on that road.

Tim:

Yeah, for sure.

Katie:

So, I’m really excited about our guest today. I used to work with her. Our episode today is all about the perspective of a project manager managing a performance budget and keeping a team on track. So, I’m really excited to get this different perspective and insight today.

Tim:

Yeah, we don’t usually get that perspective—the project manager is not somebody we usually hear talking about performance. So, really interested to hear what Brenna’s going to say.

Katie:

Yeah, so let’s go find out what she has to share with us.

And we’re back with Brenna Heaps, and I am so, so, so excited to get Brenna on the podcast. Brenna and I used to work together at Happy Cog, where she was the project manager on… actually every single project that I worked on there and she’s amazing and was an integral part in maintaining performance budgets for my team. So, I’m really excited to get her perspective on how she did all of that amazing work from a PM’s perspective. So Brenna, do you want to tell us a little bit about yourself and what you’re up to now?

Brenna Heaps:

Sure. So, I used to live in Philadelphia when I worked at Happy Cog, and recently I moved out into the middle of no where. So, I currently live on Peaks Island in Maine, it’s a tiny island of the coast of Portland, and loving it; my dog is loving it, my husband is loving it, and we’re having a great time. Work-wise, I recently transitioned and now I work in product marketing at GitHub, so that’s been a ton of fun so far, having a great time.

Katie:

Awesome. So Brenna, as I just alluded to in my lengthy introduction of you, you were a PM at an agency where you’re kind of not the main or only source or point of contact with a client, but you’re really the main one. So on the one very specific major pizza chain project that we worked on together, where we decided going into it we were going to use a performance budget, how did you start to have those conversations with the client that this was something that we wanted to do?

Brenna:

Sure. As a PM, I always kind of took it upon myself to be in charge of the requirements. And when I say “in charge,” I really mean the dumb person who says that “I will maintain the spreadsheet.” That doesn’t mean that I dictated what the requirements were or anything like that—that was obviously the team and the client. But I was the person who was maintaining all of that and keeping a record and making sure that we were staying on track.

So, one of the things that we actually talked to them about pretty early on, I would say at the kickoff, is performance budget. We kind of decided, I’m sure you remember, before we went into that kickoff meeting that the performance budget was going to be a really important thing for them because their competitors have really horrible sites and performance was a real, real issue. So, we kind of went into that meeting saying, “Hey, this is something that we think can really set you apart from your competitors.” We kind of had to explain to them what a performance budget was. I think that typically performance is something that most clients don’t think about until it’s not working, so it’s kind of our job, when we sit down with them and start talking about a project, to bring it to their attention. Even if it’s not something that they’re super concerned about, it still should be something that they’re aware of. So, that conversation started really pretty early on.

Then as far as keeping track of it throughout the project, every time we made any decisions, any time we made any decision decisions or decisions about how we would build something, how a page would work, how a piece of functionality would work, it always tracked back to that performance budget and it always tracked back to “Okay, this is where we have to stay,” and “Can we make this work within this budget? And if not, is it worth going over the budget or is there another way that we can accomplish the same thing and stay within the budget?” So, that’s kind of how it worked.

Katie:

So, you’re really good at having those really frank conversations with clients and putting it in ways that they can understand. What sort of things did you do as a project manager when the team said, “This is something we want to do, Brenna”? How did you educate yourself on being able to have those conversations with the clients?

Brenna:

Well, I rely heavily on the team, definitely. I think that I started the conversation and made sure that we were tracking back to the original requirements and the original discussion that we had and budget that we all agreed to, and then I would kind of bring the team in and ask them to really sit with me and talk through things with the client. I think definitely I’m not the most technical person in the world. I can fake it sometimes, but I really think that it’s super important to have the team members—I always felt like having the team members with me in those conversations was super important because they’re going to do a much better job explaining things than I am. I’m definitely going to be the one that is kind of speaking the truth and starting the conversation, and making sure that the client realizes, “This is kind of what we agreed to.” But definitely the designers and the developers involved would do a much better job of saying, “Here’s where we are, here’s what we can do, here are our options. Let’s make a decision based on that.”

Katie:

Was it hard for you to be firm with the client when they say, “We have all these changes and these are things that are going to blow the budget but we really want them”?

Brenna:

You kind of go into good cop/bad cop, but I had to be both. Being a PM is kind of a difficult role because on one hand you kind of want to be an advocate for the client and you want to make sure that they get what they want, but then on the other hand most of the time things clients want are stupid or wrong or misinformed…

Katie:

[laughs]

Brenna:

…So you kind of have to bring those two together and say, “Well, you can do that, but that’s the stupidest idea ever!” but, you know, put it in pretty language. So yeah, it was difficult but I think, again, it goes back to the education. It’s kind of like, “Okay, so you want this, but here’s what you’re giving up for that. Do you think that that’s a good tradeoff? Do you think that that’s so important that you’re willing to blow this other thing out of the water? If it is, then we can talk about what that means. But if you think it’s not that important, then we can try and find a better way to do it,” and usually it works. It doesn’t always work. Sometimes people just have their minds made up.

But in this role, when you’re really being trusted with helping someone create a website to do a project that is really… I mean, these projects are a year, year and a half, two years long sometimes, and when you’re spending that much time with a client team and you’re really getting them to trust you, I don’t think it’s just about saying yes or saying no or saying, “I’m the expert, do what I say.” I really think it’s about continual education and just making sure that they understand where these decisions are coming from and why the team is making certain recommendations, and making sure that they feel comfortable with what’s being decided.

Tim:

Did you ever get to a point where you felt like somebody within the client’s organization was sort of an internal advocate for performance? Like there were maybe a couple people that you were able to talk to that would help to rally the rest of the team whenever there was friction between this new feature and your performance budget?

Brenna:

Oh, definitely. I mean, you find your advocates early on and you cultivate those relationships the best that you can. You start following them on Twitter, you start talking to those people and getting to know them outside of the project. But yes, I think that within all organizations, there’s definitely people who get it and who want the project the project to be as successful as we want the project to be. So, I think that sometimes getting on a call or having a quick Slack conversation with those advocates and saying, “Here’s what we’re facing, here’s what we’re proposing, we’re having a hard time getting people to agree to this,” and either asking them go internally and be an advocate or asking their advice on what is the best way that we can approach this subject with the rest of the team. So yeah, it’s definitely important to find those advocates and make sure that they like you.

Tim:

[laughs]

Katie:

Were you ever met with any hostility or adversity to the recommendations that you would propose?

Brenna:

Oh yes! Definitely. I think sometimes when you have to tell people that what they want is not possible, or what they want is a really horrible idea based on point 1, 2, and 3, it can get frustrating. I think that’s because when you’re dealing with large companies, they have their internal web team but those aren’t necessarily the people that are making some of these decisions, some of the decisions that could lead to issues with performance budget are coming from different areas of the organization that don’t really understand the work that we’re doing and the recommendations that we’re making.

So, I think that frustration kind of seeps into the client web team, and they feel pressure. They’re trying to do a balance just like we are. They’re trying to balance creating something really awesome that performs well with meeting all of the needs and the goals that the marketing team or the executive team, or the whatever team is putting in front of them. In a lot of ways, they’re trying to justify their existence within the company, and that’s kind of crazy to think about. But that’s a lot of pressure, so that definitely kind of comes into play sometimes.

Katie:

And you’re kind of at the center of all of that; all of the teams on the project on all of the sides—on our side, on their side—it all is coming back to you, Brenna.

Brenna:

Yeah, that’s why I cried a lot…

Tim:

[laughs] I would, too. When these other teams would get involved with these different mandates or directives, did you find that you then had to go and resell to that team as well and do the re-education in terms of performance? And if so, did you have to really shift significantly how you approached doing that? How you approached getting their buy-in or their understanding?

Brenna:

Yes, that happens all the time, and it’s especially with performance because I think that performance budget is something that some internal web teams understand—not all, but some. I think that as far as these other teams within an organization, they definitely don’t know what that means. Once you explain it to them in really simple terms, they get it. But then you still have to educate them on why it’s important and how having really optimized site performance could actually be a selling feature of your site.

So yeah, it’s different how you talk to that group and it’s more sales-y, I would say. It’s less about education and more about taking the goals that they are concerned about and kind of explaining to them how performance will help them achieve those goals. So, it’s almost like doing a sales pitch, in a way. It usually involves slides, there’s usually sometimes some interpretive dance involved to kind of get them loosened up. But yeah, it definitely is something that has to happen all the time and the approach is extremely different because you have to not only put it in a language that they will understand, but you also have to make it important to them, and it’s in most cases not important to them.

Katie:

Did you have to rely on their project manager as well? I think typically in a lot of agency/client relationships, there’s a PM on both sides managing their own teams and then you have to work together. So, was the performance budget a part of that conversation between you and their project manager as well?

Brenna:

Yes. Kind of, again, tracking back to taking a look at requirements and setting overall goals. It was actually something that he was pretty concerned about and was always asking about because that is something that we had set as a pretty major goal. So, that was something that was discussed quite frequently in our more one-on-one meetings, and really just kind of checking in: making sure that we were staying on budget, making sure that everything looked okay. Any time a new feature or some new outrageous functionality, like unicorns dancing across the homepage, anything like that was brought up, their project manager would always point back to “Well, will this allow us to stay within the performance budget or will this get us crazy off budget?” So again, making sure that everybody is aligned ahead of time so that you can point back to those original goals and the agreements that you made at the beginning and say, “Well, we all decided on that. This was one of our original goals.” So, having that internal advocate that is also helping you point back there is helpful.

Tim:

Did you ever have to concede? Did you have to budget at all on your budget at any point because there was a future that you just could not get them to drop in terms of performance? Or were you always able to find some sort of balance between adding something or optimizing something else, or removing something else?

Brenna:

With this project, we were actually fairly lucky. There were a couple of places where we did have to budget a little bit, and quite honestly it couldn’t be helped, it kind of had to be done. But we did work together to kind of still find the best way to move forward, so it wasn’t horrible. It’s not like it tripled our performance budget or anything like that, but we did have to budget a little bit. But I think for the most case, we were actually able to make it work, which now that I’m looking back on it and I’ve had some distance, I find utterly remarkable.

Tim:

[laughs] Yeah, I know that can be a challenge, and I know one of the fallout things—that I’m curious how you handled—in some cases where that happens is that if you budget too much or too easily, then the performance budget starts to lose its impact a little bit because it starts being seen as something more moveable than a firm target. Did you have any issues with that, or not really? Were you able to manage that pretty well? Brenna:

I mean, I feel that with this particular project, it was kind of easy to manage; once we kind of got everyone on-board and everyone understanding what we were doing, it was easy to manage because I think that everyone tracked back to that. As you’re going through a project, if it’s something that’s on a sticky note on the board that you’re look at all the time and thinking about all the time, it’s kind of hard to forget. If you maintain respect for that decision and you keep bringing it up and making sure that people are aware that it’s being considered and it’s something that’s important and it’s something that we’re thinking about, I think it’s a lot easier to not let that slip. When you start making decisions about things and you’re not constantly thinking about how that will impact the performance budget, that’s when you run into issues. So, if you’re just going, going, going and you’re not tracking back, then it’s much easier for you to get to the end and be like, “Oh crap, what happened?” But if you’re constantly thinking about it and you’re constantly making decisions based on that, I think it’s a lot easier.

Katie:

What were some of the day-to-day things that you did to keep track of that and make sure that we stayed on track both in the design phase and the development phase? Across the whole thing, you were excellent in making sure that we stayed pretty reasonably within budget.

Brenna:

Well, I would say that doesn’t go to me, that goes to the team that was involved, because really, I would say if you remember through the design process as you guys were designing, the developers were taking a look at everything you were designing, they were kind of scoping it out, making sure that it would work, making sure that nothing was too crazy, making sure that everything would kind of stay within budget as you were designing, as you were coming up with things. So we, from the very beginning, were taking a look at that and making sure that everything looked okay. And then if there was an issue, obviously we would sit down and we’d talk about it. Sometimes we could just talk about it amongst ourselves, sometimes we had to go to the client and let them know “We’re seeing this issue, we’re trying to find a solution, let’s talk about it together.”

And then I think once we got into development, every single time that we built anything, we checked; every single time that we made a change or anything like that, we checked to make sure that we were staying with the performance budget. That was actually part of our deliveries to the client. Like, we would deliver code and we would track each delivery back to where we were within the performance budget and how we were doing and all of that. So, it was something that was just so part of what everyone on the team was doing and working on. It was just built into the flow. I think that really made it easy. But that definitely wasn’t my doing, that was everyone on the team being super aware of what we were trying to accomplish and just making that part of their workflow.

Katie:

I think a lot of project managers are sometimes hesitant or afraid to have that more organic back and forth “everyone involved workflow,” whether it comes down to hours or something, like “Oh, we can’t have developers in on every design meeting” and things like that. How did you overcome those sorts of hesitations that a lot of project managers have?

Brenna:

I think for certain projects, you don’t need to have developers in every single meeting. It really depends on the project. For this project, every single person needed to be involved every single step of the way, just because of the type of the project that it was, the scope, the crazy goings-on—I’ll just call it the “crazy,” you know what I mean.

Katie:

[laughs]

Brenna:

I made it very clear to the team that that’s how I thought it should work and obviously the team was completely on-board. And the clients were on-board, as well. In fact, we wanted to have our developers involved throughout the process, we also wanted to have their developers involved throughout the process. So even as we were starting off and going through wireframing and going through design, their development team was involved in that process with us, we had weekly meetings, we went over everything with them. So, we were talking about how we would build everything and what the final product would look like very early on with all of the designers and all of the developers involved. I honestly think that in this project, not to say that it went completely smoothly, but I think that’s one of the factors that led to it going as smoothly as it did. I think that if we didn’t do that, nothing would’ve ever been built, quite honestly.

Katie:

So, do you have any takeaways? That was kind of a learning experience for all of us in actually implementing a performance budget throughout a project. What are some pros and cons that you learned, like some takeaways for teams or project managers who are thinking about trying this?

Brenna:

Well, I would say just make sure from the very beginning that really everyone is on-board. And when I say everyone, I mean the client that you’re working with, every single decision maker, anyone who will be approving anything—make sure that they understand what is being done, what it means, how it’s going to be done, and make sure that they’re all in alignment. I think sometimes you can waste a lot of time trying to bring people on-board after the fact. It’s kind of going back to you think that you’re just dealing with the web team, but you’re not, you’re dealing with the whole company. So, you really need to make sure that everybody understands and that everybody kind of approves the process.

As far as the team goes, I would say, again, make sure that everyone is kind of aware of the overall goal and discuss how you’re going to track that as a team before you get started. Like, how are you going to make that part of your workflow? Every time you make a decision, how are you going to track back to that performance budget and make sure that everything is in alignment? Because if you have the “how” and you know how you’re going to tackle it, then you won’t be scraping a month in after you’ve made all of these decisions, going “Crap, now we have to take a look and make sure that everything is lined up.”

Katie:

We had a page in our project repos that kind of outlined everything about what a performance budget is, that’s where we put all of our templates. Did you feel that was very helpful or not helpful?

Brenna:

I feel that it was helpful. I was constantly referring people to that page. So, if anyone forgot or needed a refresher, or even if anyone on the client team needed to have some language so that they felt they could speak more confidently about it, it was there for them. That’s also where we kept all of our goals and tracked all of our goals. So even though we were tracking each template as it was delivered, everything was outlined on that page, so it was a quick reference point if we wanted to go in and say, “Here’s the goal, here’s what we have,” or if the client wanted to do that, it was all in there. So, I think it was very helpful.

Tim:

Nice, I like that. That goes back to your point about making sure of having it everywhere, and therefore unavoidable and not possible to ignore.

Brenna:

No, not unless you really try hard.

Katie:

What were some of the things on that page that you would reference for clients?

Brenna:

Honestly, I would just point them to the page and then we would walk through it. All of times, we had discussed things ahead of time and that page was really just more of a repository for ongoing updates. But also it was kind of the education piece; it was information that was kind of distilled for them in a language that was easy for them to digest and share with others. So, if somebody on the client team needed to speak with an executive about what performance budget was, here was this page where they could basically read to them all of this information, give them examples, it would point them to different articles and different studies done so that they would have some references to back up the information that they were sharing. So, it was really just a place where they could go to get information, but information that was written in such a way that it was for normal people, it wasn’t highly technical language.

Katie:

Back to project management—I want every project manager on earth to be as supportive and open as communicative as you, Brenna. Like, you’re just amazing at everything you do, so if you have some closing thoughts for project managers that are managing performance budgets that we haven’t already covered, go for it.

Brenna:

I would say just that it’s okay to admit that you do not know everything and I think that you really need to trust your team and rely on your team. If you trust each other and respect each other, then it not only makes working together much better but you guys don’t have to worry as much. I think if you trust that everyone is going to be doing their job and taking responsibility for their different pieces of things, I think obviously it’s going to make your life much better. So as a project manager, I think it’s our responsibility to kind of foster that type of collaboration and that type of relationship amongst teammates.

Katie:

That’s awesome.

Tim:

Yeah, that’s excellent advice. The whole conversation was great. This is stuff that I think you too, Katie, get asked a lot about, all of this side of things, like “Technical details aside, how do you actually get this to work inside of a workflow and with members of all sorts of different teams working together, working with the clients. How do you get through all of that people stuff?” That always comes up. Very valuable stuff.

Katie:

Yes, so thank you so much for sharing your insight and knowledge, and despite all the tears, I think you did an excellent job. It did turn out successfully, so, yay.

Brenna:

And it’s over, so yay!

Katie:

[laughs]

Tim:

Brenna, if people want to follow along with you or find out what you’re up to, are there places to do that? Like Twitter, a blog… I don’t know why we’re laughing here. I don’t mean in a creepy way.

Brenna:

No, I know exactly what you mean. I think every once in a while I will tweet at Katie or tweet at someone else randomly, but man, I’m so bad. I really am a grandma. On Twitter, I’m just @BrennaHeaps.

Katie:

I think Brenna’s definitely worth following along. She’s just like a gold mine of one-liners.

Brenna:

Yeah, like once every three months I really throw it out there.

Katie:

[laughs]

Tim:

That’s great. Then it’s just one-liners and random tweets at random people.

Brenna:

Yeah.

Tim:

Okay, that sounds great. That sounds like the kind of Twitter profile that I would be down with following.

Brenna:

Alright, well thank you so much for having me, guys. This has been so much fun.

Katie:

Thank you so much for joining us. This has been so fun. I’m so happy I got to spend an hour with you again.

Brenna:

Come visit. We’ll go see the neighborhood whales.

Katie:

Yes!-

Brenna:

Alright, thank you everyone. Have a great afternoon.

Tim:

Thank you for listening to this episode of the Path to Performance podcast. You can subscribe to the podcast through iTunes or on our site, pathtoperf.com. You can also follow along on Twitter @pathtoperf. We’d love to hear what you thought, so feel free to drop us a note on Twitter or leave a raving and overly-kind review on iTunes. We like to read those. And if you’d like to talk about being a guest or sponsoring a future episode, feel free to email us at hello@pathtoperf.com.