The Terrifying Last Mile
Post # 64 - For me, the last few weeks leading to the launch of a program are the most terrifying. For Technical Program Managers, this is where we must shine. Read on to learn how.
You took a strategy and turned it into a tactical plan.
Teams hustled and struggled to get everything wired.
You have agonized for weeks, perhaps months, over every task, every milestone, every test.
Features are complete, you are burning down the bug charts.
The launch date fast approaches.
Yet… it still feels like it can all fall apart.
Welcome to the terrifying last mile of a software development program.
For me, the last few weeks leading to the launch of a program are the most terrifying. Why? Your options are limited - you ship or you delay. You no longer have the room or space to argue about scope cuts or more resources.
This feeling is absolutely normal. Like any software development team, you have coded, cut, or modified as much of the scope as you could without sacrificing quality to get you to this last mile.
For Technical Program Managers, this is where we must shine. This is where you earn your trust with the team you work with and the leadership to whom you answer. How? Discipline and pragmatism will be the need of the hour.
Days will need to become weeks. Your engineers, designers, testers, marketers, product managers, the entire cross-functional team will have to act as a single unit and you, the TPM or whomever holds the mantle of responsibility of Program Management, will need to guide them.
Is this really a show stopper bug or nice to have?
Have we made sure all the configs are setup correctly?
Did we review the security checklist to ensure we are not leaving gaps in our infrastructure?
What about the timing of the marketing message?
Are we passing our automated tests?
Did we review the open source code we are using with legal to ensure no violations?
Have we load tested the endpoints and key systems for launch day?
Did design review the finish version to ensure it matches spec?
Is the right polish there on the UI?
To not lose your mind and keep your teams humming on all cylinders, here is some battle hardened advise built from my successes and failures shipping large complex software and hardware programs:
Launch Readiness checklists - there will be things you will forget to think about, to do, or manage when you are busy burning down bugs on this terrifying last mile. Start building a checklist weeks or months in advance or as you identify tasks for launch readiness. This will be your savior in this moment where suddenly everything is coming at you from everywhere.
Labels and Keywords / Tickets for everything - whether you use Jira or Linear, lean on labels and keywords to track everything that needs to be fixed before you are ready to launch. Don’t worry about backlogs, which sprint, or release. A simple list will suffice. Your goal - bring that list down to zero. Everything has to be a ticket. It doesn’t matter if your engineers talked about with the designers, if it is not a ticket, it’s not real.
Centralize Communication - everything needs to be in the open and managed. There will be tons of conversations flying everywhere and you will need to ensure nothing gets missed in some random Slack thread or email chain. If you have side conversations, ensure they circle back to main channels. Decisions get widely communicated, Action Items get tickets and assigned.
Decision makers on speed dial - put aside the formalities; if you can get direct hold of decision makers, you do it. Prepare the decision makers for this moment and get their buy-in to be available as you progress towards this last mile push.
Get Your Hands Dirty/Own It - as code lands, bugs are fixed, you test it. You verify it. You may have a well staffed test team, your automation process maybe legendary, but you do what you need to ensure that things are landing and they are landing in the desired state.
Regular Status Updates - if you need to send daily updates, you send them. Whatever frequency is required, regular updates to not just the core members of the cross-functional team but secondary stakeholders will prevent confusion in these crucial hours. I typical send a message that includes three things: progress made, work to be done, decision required.
Operations Room/Failure Game Plan - make sure you identify a member from all the key systems of your program and have them available for launch day so that if things go wrong, you have all the right people to respond to the situation. Make sure everyone is aligned on what the failsafe game plan looks like. Revert or fix forward.
This terrifying feeling is not indicative of terrible or crappy planning.
Software development is a chaotic endeavor. This is part and parcel of when you try to build something spectacular. Embrace this feeling.
Guide your teams with discipline, calm, laser focus, and pragmatism. Above all - if you think the team is about to compromise the quality or scope of what is being shipped to meet a deadline, then you must be the first one to raise your hand and say:
“Stop. I know there is pressure on everyone to get us over the finish line, but perhaps we could use some extra time to make sure we ship a high quality product, rather a product that just meets a deadline. Let’s think this through.”
Until next time wave 👋!
-Aadil
📅 Becoming A Great Technical Program Manager (1-day cohort coming soon)
Over the past few months, I have been taking the time to chat with many of you over email or zoom. Many of my readers are either playing the TPM role or are seeking knowledge to help them level up their TPM skills. Some are curious about this unique role and what it takes to jump into this career.
I have been wondering if I can do something that will help you become a great TPM or take your TPM skills to the next level. Then, an idea hit me…
I am considering offering an intensive day long seminar on “Becoming A Great Technical Program Manager”.
Who is this course for?
This is ideally for people already in the TPM role (all levels of experience) looking to take their career to the next level.
This is also a great opportunity for Engineering Leaders, Product Managers, and many more who want to level up their technical program management skill sets to become a well rounded leader.
What will you teach?
Goal for the seminar is to share everything I know on how to go from good to great:
Learn from hard-earned lessons and mistakes I made.
Leverage true-and-tried frameworks that I use everyday.
Real world tested strategies that will make you stand out as a TPM.
The course will be split into 4 parts:
🚀 Before — everything to do to make sure you program kick off is a success.
⚙️ During — how to be an effective TPM when a program is going through development.
✅ After — you did it; you successful shipped a product. learn everything you need to do before the next program kicks off.
🧐 Everything In Between — the stuff that no one talks about how to cope with the pressure of being a leader without authority, mental models that will help you be great, wisdom from legendary TPMs I worked with at Apple, Google, Nike, Blackberry.
Additional course details I am currently exploring
Schedule → May 2023
Date & Time → Weekend (either Saturday or Sunday)
Time Commitment → 4 hours PST (not finalized hoping to find a good balance for EST and CET and Europe friendly timing). I highly recommend that you consider clearing your calendar to make this experience be effective.
Pricing → $500 (Not Finalized Yet) //
💰 Best Part → You can potentially get reimbursed for the course fee through your employer.
Class Size → I will limit this to just 10 people for this 1st cohort to ensure a lively and amazing experience.
Location → Live over Zoom
Platform → Maven
If you are interested in attending this course, please click on the button below to show your interest. 🙇 🙏
If you know someone who might be interested in attending this course, please share this post with them. 🙇 🙏
How was this week’s newsletter?