Hi, Peter. What’s happening? We need to talk about your TPS reports.

“Did you get that memo?” ~Dom Portwood

I’ll be the first to admit that I was adamantly against weekly status reports.  It felt like no one was reading them.  It wasn’t fun or interesting to do them.  They definitely weren’t challenging or mentally inspiring.  And there was no sense of accomplishment when I completed them.  The complete opposite of a good, juicy coding problem that required my undivided attention for days to solve.

And yet, reporting is the most critical of all my responsibilities and a direct reflection on my ability to successfully manage a project.

Why?  I am glad you asked…

Pointless?  Mindless Paperwork?
“Yeah. I got the memo. And I understand the policy. And the problem is just that I forgot the one time. And I’ve already taken care of it so it’s not even really a problem anymore.” ~Peter Gibbons

This is from the cult classic (and personal favorite) Office Space.  They’re talking about TPS Reports which essentially mean “pointless, mindless paperwork.”  Yikes!  Oftentimes, sharing progress updates feels like a distraction from the real objective of actually solving the problems.  And that was my natural instinct when I was asked to provide project status reports.  I did them because I had to.  I wasn’t very consistent and eventually just stopped doing them because it didn’t feel like the best use of my precious time.

One day, I raised my concerns with my boss.  We had an enlightening, open conversation about their purpose, why they’re important and how I needed to approach them with a different perspective.  I think a light bulb came on that day.  In fact, I started looking at everything I was doing with a critical eye.  I realized my developer tendencies were holding me back as a manager.  From that moment, I started writing down observations of how I was doing this role…and thus we have this blog.  Hashtag true story.

Reports declare your ownership of the project.
“Samir and I are the best programmers they got at that place. You haven’t been showing up and you get to keep your job.” ~Michael Bolton
“Actually, I’m being promoted.” ~Peter Gibbons

Perception is an important component to the inner-workings of an office.  You can’t deny it.  Regardless of content, weekly project status reports are a single communication point that very definitively, and broadly, state:  I got this.

This is MY project and I know what’s happening to it.  I am actively working to ensure its success.  I am escalating when risks threaten it.

When you build strong, concise reports that you consistently relay, your stakeholders’ and peers’ trust in you will skyrocket.  It does not matter if they read them or not.  In fact, it’s safer to assume that they actually will not read them.  More on that to follow.

Reports allow busy people to be busy people.
“Not right now, Lumbergh, I’m kinda busy. In fact, look, I’m gonna have to ask you to just go ahead and come back another time. I got a meeting with the Bobs in a couple of minutes.” ~Peter Gibbons

Once they know you’ve got it under control, your leadership can comfortably back away and let the project run its course in your capable hands.  There’s no need to micromanage.  Good reports usually answer the most important questions leadership has at the onset.

When your team sees these reports coming from you to leadership and stakeholders, they see you actively communicating the state of the project.  It sends a message to them that you’ve taken ownership and, more importantly, accountability for the entire project.  They will realize you are dependent on them to do good work.  It will encourage them to make sure they accomplish things that can be shared regularly.

Side note:  really good reports can backfire if you solely depend on them for relaying communication.  When trust goes up and people start thinking it’s safe to put the project at arm’s length, they may not be fully absorbing the details of your report.  Make sure to follow up and double down on critical information in one way or another.

Reports document the project’s evolution.
“It was a ‘Jump to Conclusions’ mat. You see, it would be this mat that you would put on the floor, and it would have different conclusions written on it that you could jump to.” ~Tom Saykowski’s and his million dollar idea

I have been in the situation where I’ve skipped a few reports right as the project’s risks came to fruition.  Suddenly, I’m scrambling to tell the story of why the project went off the rails.  Time is fickle and people easily forget.  Consistent reporting permanently tells the story of how you got from point A to point B and how point C even came about.  The devil is in the detail, so to speak, and should the day come where you need to explain your project’s devil, your reports have the details.

Everything that I have only in my head is a huge problem. Not only is there the Bus Factor, but the stress factor of trying to retain all these details.  I want (and this is an underlying theme to this blog) to walk away from work stress-free and disconnected, allowing my reports to be the source of information and truth.

Summary
“This isn’t so bad, huh? Makin’ bucks, gettin’ exercise, workin’ outside.” ~Peter Gibbons

Finding peace is a constant journey for me.  I don’t want to be doing “pointless, mindless paperwork.”  I want to accomplish something every day and I want to actively be living.  At first glance, reporting doesn’t seem so important, but can be crucial to keeping powerful forces at bay that allows you that peace of mind.  Effective communication is a key responsibility of a project manager and your reports should operate as the crème de la crème of that skill.  I now respect and prioritize my reports and cherish the opportunity to briefly grab my peers’ attention to remind them of the awesome things we’re doing day-in, day-out.

Overwhelmed? How to Balance a Billion and One Things

There’s one rule to balancing a billion and one things: you can’t.

A “billion” is a large number.  Duh.  We know that it’s large.  We know it’s considerably bigger than a million.  But when you literally try to picture its scale, it’s mind-boggling.  If you could count 10 numbers per second (which is really quite fast), it would take you over 3 years to get to a billion.  No sleeping or eating along the way!

So clearly, you alone cannot balance a billion things.  Which implies there must be a limit to how many things you CAN handle. I wonder what that quantity is?  And how do you improve to get to that “and one”?

What is a thing?
One of my top 5 favorite movies is Inception.  I liken the idea of each dream layer tier being a developer’s ability to work through deep, complicated problems at peak levels.  The deeper a passionate developer gets, the more zen it is for them.  And any distraction is the “kick” which halts the momentum and requires the time needed for accelerating back to that zen-speed.

One of my goals is to make the team happy and thus, as best as possible, buffer them from those incoming “kicks”.  This means I’m getting kicked all the time.  And when you add children to the mix, this all becomes quite literal.

These “kicks”, the “things” I’m talking about, they’re anything that you have to use a brain cycle for.  It’s that surprise phone call, someone striking a conversation, a growing email queue, reviewing a creative deck, planning a vacation, getting milk on the way home, checking the latest score, picking your nose.  All. The. Things.  You’ll notice I’m not just talking about work items.  Very quickly you find you are simply surviving, not thriving.

Why are there so many things?
Life has very little regard for our well-crafted schedules.  Bad days are undoubtedly in our future, whether tomorrow or years from now.  And when work starts to spill out of your nurturing hands, Life has a tendency to make it pour.  It’s how Life rolls.

As we know, projects go through ebbs and flows as they proceed and as portfolios evolve.  There are a lot of forces that can turn a project sideways.  Before you realize it, you discover you are on the wrong side of your threshold of keeping it together.  This isn’t necessarily you failing at your role, just the nature of software development chaos.  Increased demand doesn’t equal reduced complexity.  How you respond to this pressure is the key to excelling at this role.

Okay, but HOW does one deal with all these things?
Dealing with a lot of things is a skill.  You can only get better at it by doing it.  I’m no master, but I’ve improved considerably.  Most importantly, I’m vastly better at keeping the stress levels down and taking inevitable chaos in stride.  And don’t confuse dealing with a lot of things as improving your ability to multitask.  Science basically says more multitasking equals reduced IQ.

Here’s the set of tricks I do:

1. Clear my mind
Being overwhelmed is a state of mind.  The first reaction of most inexperienced managers who are presented with an overflowing plate is to go into reaction mode.  They get to the end of the day exhausted and not really sure what they’ve accomplished.  It’s important to stay calm and make sure the right stuff is getting done and the right stuff is falling off.  I’ll take five minutes to meditate or get a big, deep breath of fresh air.  It might seem weird to pause before tackling what is growing around you, but it can bring a calm that lets you conqueror the important stuff with haste.

2. Protect my time
It’s good to be friendly and available.  But this can be costly and when push comes to shove, undisturbed time is the key to knocking things out.  I’ll put on some headphones, set Do Not Disturb on my instant messenger, shut down email, flip a light switch, whatever gets the point across.  If people still swing by, I’ll ask them if it can be discussed later.  If they are persistent, I am stern but apologetic.  I’ve got a billion things in front of me and I’m in damage control mode, some people are just going to have to wait.  Remember, you’re not doing these things because of them, but for them.

3. Escalate
When a project is showing signs of going south and I see an uptick in hurdles, I’ll raise a flag.  It’s not the red flag of “oh crap” and it’s not the white flag of “all is lost”, just a flag to indicate that something is up.  My leadership and peers greatly appreciate knowing that the cup is dangerously full and might become directly their problem.  It’s also good for them to know I am actively working on it.  If it can’t be contained, the next level of escalation becomes easier and they are more willing to help than being frustrated at it becoming their burden.

4. Delegate
Delegation in itself is a thing and can be time-consuming.  This often leads managers from ever handing something out because they decide they’ll take it on themselves. And then they never get around to it because it’s too low on their totem pole.  But it’s high enough to look bad that it didn’t get done.  Delegation takes trust and letting someone answer it in their way.  I will attempt to serve it up to the right person and challenge them to fill in the blanks as they see fit with a contained amount of direction.  Either it works great or it doesn’t pan out so well.  If the latter, I’ll figure out why and learn from it.

5. Hyper-prioritize
I write down all the things floating around in my head and separate them out into groups of when they need to be done.  Then I do it again.  I want to know what I need to do before lunch or the next meeting.  What has to be in a good place before I can go home?  What can wait for tomorrow even if it seems like a today item?  Then I’ll go grab a drink or talk with a coworker for 5 minutes.  One last time, I’ll look at the immediate list again and see if it can shrink at all.  Then, it’s time to bust out my favorite “get stuff done” done playlist and have at it.

6. Set alarms
Time flies in “get stuff done” mode.  Whatever list I’ve made, if it’s a “get done before the meeting at 2:00pm” or “by the end of the day”, I put one or two forced stopping points.  Am I still on track when those points occur?  No?  I’ll reconsider my plan.  If I’m in an impossible situation, I’ll own it, think through the repercussions and start planning for those instead.  Sometimes battles are lost no matter what you do.  I’ll seek a silver lining, even if it’s simply learning from my mistakes.

7. Use Tools for Organization
There are a billion organizational tools.  Well, maybe not a billion (e.g. see explanation above), but there’s certainly a lot.  Personally, I recommend Trello.  I need to get things out of my head and into a format where I can quickly drag and drop them in a way of sequential priority.  Every second something stays in my head is a second of opportunity for something else to come in and push that something out.

Summary
Ideally, as a manager, the goal is to prevent chaos.  But real life scenarios tend to unfold in unexpected ways.  If work becomes overloaded, your work-life balance and peace of mind will be put at risk.  Sometimes you have to buckle down and get things done but it should only be a relatively minor tunnel, one that you could manage holding your breath through.  One day your going to look back and reflect on the sum of your life and I’m willing to bet most of those things around you now won’t be significant enough to remember then.  So step outside, take a big, deep breath, go back in with your head held high, point to the light at the end of the tunnel and run full speed.  You got this.

Four Simple Goals of the Desired Project Manager

When I switched from a team member (i.e. “developer”) to a team leader (i.e. “TPM”), I really had to think about what value I bring and how I can excel at this role.  I no longer needed to get in the weeds of tracking down a race condition caused by a multithreaded solution or how to properly validate a form in ASP.net.  I took a walk to clear my head on a sunny, summer day.  I remember the cool breeze.

Listening to the ambient sounds of nature, I thought about why I was here.  I thought, “I want to leave work each day feeling like I brought needed value, did the honorable thing and helped my team succeed.”  This has made my life much more fulfilling approaching work with this mindset.  The big challenge, the dumb question, the personal problem, the tedious task…I would respect it all and give each my full attention.

But that’s a lot of stuff.  It’s not really well defined either.  What do I need to do to make sure I am the team leader my team needs me to be?  Back at my desk, I broke this down into four simplified, overarching daily goals:

1. Make the Team Happy
If you want your life to mean something and contain as much happiness as possible, is it so hard to believe that each and every one of your team members also want the same thing?  Do not underestimate the value of a happy team.  A happy team wants to work with you especially if they see you fight for their happiness.  It can be as simple as minimizing external distractions or being a soundboard for their various frustrations.  Or simply allowing yourself to be the butt of a joke.  People have bad days all the time, be able to respect that and motivate your team forward without adding to what’s already got them down.

And bring donuts from time to time whether you have a reason to celebrate or not.  Never lose the pulse of your team!

2. Ensure Stakeholders are Satisfied
My first thought was to say “Satisfy the Client”, but that comes off cold.  That sounds like an artifact of my old development days.  I rather like the broad stroke approach of “Stakeholder” as defined by the PMBOK.  Thinking this way makes me care just a little bit more about my project.  Consider some of the following groups:  your main client contact, other clients within other business units associated to your project, the people who use your software, your technical leadership team and so on.  Anyone who cares about your project such that its success has a direct impact on how they perceive you is your stakeholder.  Might want to read that one again!

Also, if you are keeping them satisfied that typically generates more opportunities for you.  You work hard each day (…right?), receiving a hint of their satisfaction gives you a much-deserved (…right?!) sense of accomplishment.

3. Create a Quality Product
Quality may be the underlined word in this objective, but don’t skip over the “Create” portion.  What is more validating as a human being than being able to create something?  I could spend a lot of time discussing “quality”, but it basically boils down to everything.  Everything about your product matters, from the color and placement of the cancel button to increasing sales to optimizing algorithms that speed up the application.  Everything.  And just because your hands aren’t in the clay as a developer or designer, you are still very much a part of the product’s creation, guiding the vision through implementation to deliver what a business both wants and needs.

Maintenance is a part of the product too.  I said “everything”, right?  If anything, maintenance is imperative to sustaining/improving a product’s quality.

4. Deliver On Time and On Budget
The above three goals are like the golden rules of being a good project manager.  But, quick sidebar, what happens when two elderly women in opposite directions fall at the same time?  You can’t help them simultaneously.  Number 4 brings us to reality.  We only have so much time and so much budget to work with.  If you can accomplish the above three goals and deliver your product by the deadline without going over your budget…I’d call you a successful project manager.

So you will have to make some hard choices and figure out how to maintain the above three goals under increasing limitations and pressure.  I find prompt honesty and transparency are the keys here.

Also, don’t find yourself simply laughing at the two elderly women who have fallen and can’t get up.  That’s just ineffective…and mean.

Summary
On my morning commute each day, I tell myself:  “Happy Team, Satisfied Stakeholders, Quality Product and On Time/On Budget.”  It’s a simple thing to remember and guides my energy in a way that influences my projects positively.  Throughout the day, I pause and ask if what I’m doing is actively pursuing these goals.  Challenges will occur and these metrics of success can often conflict with each other, but as long as I don’t lose sight of the project holistically, keeping these goals in mind, I can shape the project as a success and in turn be successful myself.

Choosing the Unexpected Path of the Technical Project Manager

Whenever I ask my son what he want’s to be when he grows up, he usually says a policeman or a fireman.  Or a Pizza Delivery guy…because they bring happiness to homes.  Can’t fault him there.  I can’t imagine “Technical Project Manager” is an often picked dream job.  So why would one choose this path?

I have been chronicling my journey transitioning from a developer to a manager and will be sharing my experiences via this blog.  I intend to bring a unique perspective on this craft to help you refine yours or perhaps even set you down this path if you’re early on in your career.  Most of the material here is based on lessons from my own missteps that made me think deeper about my approach.

Who am I?
If you paused for just a second, could you use only a few sentences to capture all the twists and turns that led you to where you are now, ultimately defining who you are?  What significant forks have there been in the road?

It was a few years ago that I was given a choice between being a Sr. Developer or a Technical Program Manager.  All in the tech realm, but two very different disciplines.

I have a Bachelor’s degree in Computer Science and a minor in Mathematics.  I was also listed as having “Studies in Japanese”, but that’s a story for another day.  The short of it is all of my education has geared me to do one thing:  write code.  And I love to write code.  Code doesn’t argue with me.  If code doesn’t do what I want, it’s because I didn’t write it correctly.  And when code works the way you intended you get this great sense of accomplishment.

…and yet I chose to be a Technical Program Manager, not a Sr. Developer.  I still code and I still love to code.  But I’ve learned to love people too.  More importantly, to respect them.  Ultimately, I have some ingrained instincts (band name, anyone?) from my programming days that need correcting if I want to succeed at this role.

So, Why Management over Development?
It’s a personal choice and not one to take lightly.  If you love to code as I do, know that if you go down this path you’ll be doing significantly less of that.

So naturally my gut originally told me to go with development.  It is, after all, what I spent the majority of my life building up to.  After going home to think it through, I came up with the following bullet points (cus I’m all about the bullet points):

  • I geek out to processes as much as I do to Big O notation.
  • I must have a stronger voice than I realized considering this choice is even an option.
  • I could learn a lot of new things and expand my mind as a manager.  I like learning new things!
  • I can still code at home, but I can’t manage at home.  At least, I shouldn’t treat my family like I’m their manager.  Yikes!
  • I can add a professional dimension on top of my technical background to further specialize my career.
  • I am a young thirty-something with a growing family; management is an investment in a better “version” of me.

I made the choice and haven’t looked back.  There is certainly a different kind of pressure, but I’ve learned to manage that too.  I also think I’ve been more content with this role professionally than I was as a developer.

Developer for Life
Making the hop from developer to manager at the same job will create some complex relationships with some of your coworkers.  But a greater concern is likely the fear of cutting ties with your inner developer spirit (mine’s a wolf…I think).  It took blood, sweat and tears to establish yourself as a developer and suddenly you’re just going to abandon it all?

Sure, you’ll get a few jokes made at your expense, but don’t fool yourself.  Once a developer, always a developer.  I still have a passion to learn new programming languages and mold things with my digital know-how.  If you have less time to play games (you know, because Life), that doesn’t make you not a gamer.  If anything, it will have you appreciate the time more.

There’s No Wrong Choice
There’s way too much chaos in the universe.  Write down what you want, short term and long term, and give each side equal time in the comparison.  Certainly don’t discredit a lateral move that’s not the obvious choice!  Then make your choice and march on and be proud of your decision regardless of what happens next.

Moving on, I’m going to talk about the how and the why of certain aspects of taking the helm, The Digital Helm.  And how life balances out with this role.  And I’ll probably include pizza here and there.

Enjoy!