Life of a Software Program Manager

A first person accounting of what it is really like to manage a commercial software product.

Archive for the ‘Journal’ Category

A Week in the Life of …

Posted by Program Manager on June 5, 2006

Here is a summary of how I spent last week


A holiday for me means that my daily email load is down from 200 to about 50. I have teams located in three countries, so there is no such thing as a true holiday for me. No major customer issues today, only a few administrative questions from me team. I'm able to answer most of these from my phone's email, and I only have to make three phone calls, 1 to each of my leads.

And the week begins. Today I received my typical 200 emails. Most of the requests fall into a few categories:

  • Development Questions
  • Question from Sales about feature set
  • Question from Sales about a future feature
  • Question from implementations about fixing a "bug", which really means helping them configure the system
  • Questions from support that they are escalating for help from development
  • Customer Issues

Of my 10 hours today, I spent 3 on the phone with customers addressing everything from product concerns, future product vision, complaints about other groups (support, implementations) that were directed to me since I was on the phone, and general issue management. I spent 2 hours with my leads between a few different meetings, going over this week's reported customer defects, upcoming installations and upgrades, and a status meeting on an upcoming release of software on our older product platform. I spent about 2 hours going through my email to read the 200+ that I received today (I'll post my theory on email some other time). Of my remaining 3 hours, I dealt with administrative issues: I checked in on some of my staff, took one guy out to lunch since he has just been killing himself and exceeding all expectations, talked with a developer who is falling behind on his development tasks and put a daily status tracking system in place that he is sending directly to me and his dev lead, and met with my QA team to address holes in our testing process, and ways to improve on this release.

Today was similar to yesterday, as yesterday was a fairly typical day. Spent most of my day fielding questions and phone calls that have to do with current customers, future sales, current installations, or current product problems. I got through less than 50 emails today. I also spent some time developing a high level staff allocation template to share with my peers on other products. Short day today of 8 hours, since I have to catch the red-eye tonight.

Today and tomorrow represent what our company calls a Bug Bash. These happen a few times during the testing phase of a product development cycle, and the goal is to get the entire team, and anyone else willing to help out, to put in extra hours, eat meals in the office, and get to a predetermined goal of a resolved number of software defects.

After last night's red-eye, I'm in the office at 6:30. This is perfect since I need to prepare the tracking sheets, status conference calls, and goals for the bug bash. The goals include targets for development, QA, and the team in general. They are also broken up into today's goals, and tomorrow's goals, so that we can track better. By 8:00 AM, I have an email with an Excel attachment sent to my team, and ready for our 9:00 AM kick off call. This gives me time to run out and pick up breakfast for the team, since the catering service didn't show up (They are still coming for lunch and dinner). Our goal for this bug bash is to get from 500 outstanding defects down to 150 in the development queue, and 0 left for QA to validate. We'll be having a quick status meeting at Noon to make sure that everyone has their roadblocks out of the way, and again at 5:30, to check today's progress. Most of our team is in the office until 7, the last person leaves at 8:30, and I walk out with them.

When you're team is putting in long hours because they want to, that's one thing. When you ask them to do it, then you better be there with them, first one in the door and the last one out.

In between the coordination of my team's bug bash, I go back to my typical day's tasks of answering questions for sales, and working with implementations and support on customer issues. Today's email count: 306. Today's read email count: 42.

Second day of our Bug Bash. We have a quick status call to kick off the day again, and to celebrate the team's amazing progress on the first day. Last night, I sent an end of the day status sheet, and highlighted a few major accomplishments in the email. I intentionally copied our team's VP and CTO, hoping that one of them would respond to the group reiterating the congratulations. To my surprise, both of them did. The team reached 80% of their two day goal on day 1, reduced the QA defect queue to 0 by 6:00 PM (of course, this goes back up as development resolves more issues), and started onto our stretch goals of attacking some of the low priority defects.

Nothing gets your team motivated like knowing that their accomplishments are being announced and recognized by senior management.

As their direct manager, I am responsible for giving my team praise, but also responsible for giving criticism and keeping everyone on task. Since my team does not interact with senior management on a daily basis, seeing any of them take time out of their day to publicly acknowledge the team gives a huge morale boost that I could never give.

Unfortunately, today's bug bash is not as successful as yesterday's. Almost 100 new defects are created today, most of which focus on 1 module. The module has a very complicated set of requirements, and most of the defects relate to a misinterpretation of the requirements, but they are defects none the less. Also, the frustration of the product manager not having the developer understand the requirements affects her efficiency. I spend some time with her, understanding the defects, and then take on the task of translating them to the developer (English is his third language).

I also have a weekly management meeting today. I'm hoping today's is cancelled since I have plenty else to do, but it is not. For added fun, today we'll be discussing the new budget planning process that we need to start engaging in so that we're prepared for the budget meetings that start in July. The meeting goes almost two hours, instead of the normal 45 minutes. During the meeting, I'm taking notes, reading emails, sending emails to my team, checking our defect tracking system, responding to instant messages, and speaking to the group for a few minutes on some division wide initiatives that I'm responsible for.

At 3:00 PM, it's back to the Bug Bash. The team is starting to drag, and we have just a little further to go in order to make at least one of our goals, getting the QA backlog to 0. I call a quick pep talk / status call. On the call, we reassign the remaining defects among the entire group, and agree as a team to get these all cleared out within 60 minutes. Our configuration manager leaves the meeting early to get the latest version of code onto our QA server, and at 3:30 PM our team hits the pavement for one final sprint. By 4:15 (15 minutes early), the team is finished, we have a congratulatory call, and everyone heads home for the weekend.

Except me. Now, I need to finish my weekly tasks. Timecards, expense reports, travel itineraries, double checking reservations, checking in on my other products that are in less critical stages right now since I've ignored them for the last two days. I also have a handful of blogs that I read and I never like to fall more than a week or two behind, so I spend 30 minutes catching up on the latest news, trends, product reviews, conferences, and projects. I leave the office around 8:00 PM.

As a rule, I try not to work weekends, but we have a customer going live this weekend, and the implementation has had its issues. I have a status call with the on site team at 10AM, and make myself the key contact if anything needs to be escalated to development. Typically, they would contact my dev lead directly, but he just put in some serious hours with the bug bash, and he's actually in the office still working on defects. I'll try to absorb as much as possible, and only defer when I have to.

Only one phone call today, so basically an easy day.


Posted in Journal, program management | Leave a Comment »