Project Management Skills

Execution Skills

9 minute read

Throughout the years the words 'Product Management' and 'Project Management' have been used interchangeably. Although, these roles do work closely together to deliver on the same initiatives they have two very different responsibilities.

Product managers focus on strategy and the development of products, whereas project managers oversee the execution of those development plans. - Product Girl

Because of the different levels of focus and responsibilities product managers have had to take a more modern approach to project management. One of the ways Product Managers have come to adapt is by focusing on an Agile Methodology approach which I wrote about in Agile Skills.

Discuss Project Management Responsibilities
It's important to mitigate any gaps in expectations when it comes to process. Whether you are using a Scrum, Kanban, Scrumban framework etc. there should be little to no confusion about your responsibility and role in the software development process.

When joining a new team it's important to have conversations with engineers and designers about a PM's responsibilities to establish expectations before work starts. It's normal for PM's, engineers, and designers to have different expectations about a Product Managers role. Having these conversations early will help to understand how work is distributed and the role you play.

After you have been on the team for a few weeks (2 sprints), I would check-in with your teammates and ask for feedback. This will help to ensure expectations are being met leaving no surprises from your manager or peer reviews.

Product Backlog
Always make sure there are atleast 2-3 sprints worth of work groomed and ready for engineering. This is important whether you are locked-in a sprint or there is freedom to pull in tickets. Having tickets ready shows that your are organized and focused which provides structure for engineers helping them to deliver continuously.

Also, there may be times when engineers and design aren't clear what work is ready to be picked-up. This shouldn't happen if tickets have been clearly marked in their correct state.

💁‍♀️
Tip: Instead of a ticket being marked as 'ready' it can be marked 'ready for design' or 'ready for engineering.' This will clear up any confusion on whether a ticket is ready to be completed. In addition, opting for a design, engineering, and infra board will make sure tasks are clearly defined and ready to go.

Design
A rule of thumb when working with design is that they should always be atleast 2-3 sprints ahead. This gives engineers and product managers enough bandwidth to work ahead or change direction if needed. One sprint ahead does not give enough bandwidth for a product manager to validate difficult features and for the engineers to have enough time to improve them.

Milestones and Checkpoints
Any project, big or small, should be broken down into milestones with periodic checkpoints. It will help to assess workload and adjust as needed if requirements or deadlines need to be shifted. This creates visibility for your team and keeps morale strong.

Each milestone that is achieved will help measure how much work is left by providing a real estimation of when a piece of the project will be complete helping to maintain accuracy and efficiency throughout the entire project.

🚨
Important Note: Milestones should help motivate the team and once they are reached must always be celebrated. It's important to empower and motivate your teammates for a job well done!

Status Reports
Status reports help to communicate to leadership/external team members the work a team is doing and the progress. When communicated properly you can receive support, recognition and visibility for your team.

A good status report will keep the audience in mind. This means that maybe a status report sent to the head of design would be different than a status report sent to the head of engineering.

However, when writing a status report, I try to not send separate reports to different teams within the organization. I prefer to have all teams on the status update so everyone is aware of what other teams are working on and the status of those items. This helps to streamline the communication process, in addition to mitigating work overlap, impediments, and issues that may arise. Overall, status reports can help foster informative and helpful conversations.

💁‍♀️
Tip: When giving status reports, it can be helpful to do them at the end of the week preferably on a Friday. I used to do this because it helped for leadership to know what happened and where we stood by the end of the week. I think it put them at ease knowing the status of important items before heading into the weekend.

A good status report should cover:

  1. Project/Sprint Status: Is the project/sprint on track? Are the status of items in yellow, red?
  2. Team Health: It's important to discuss the health of the team to minimize burnout by finding solutions to help alleviate some of the stress.
  3. Accomplishments: Any key milestones and important changes. This is where you can celebrate your team.
  4. Impediments: These should be discussed so stakeholders are aware of why a project or sprint may not hit their goal.

The status report should take about 10-15 minutes. It's usually something that has already been communicated to the engineers and design team. Also, make sure to them when sending the status report for visibility.

💁‍♀️ Tip: Before sending out the end-of-week or bi-weekly status report I would recommend getting buy-in from engineers and design. This is to make sure that everyone is in alignment before it's distributed to the broader teams.

Sync with team members
Always talk with your team members. It's really important to develop a weekly cadence to see how they are doing. In 1-on-1's with engineers, see how they are doing, ask how they are feeling, how their week has been, how their family is, etc.

Always show empathy not because you HAVE to, but because you WANT to. Sometimes work may not be discussed and this is completely okay. It's important to care about your teammates before anything else.

When work is discussed, ask how you can help and provide updates from your end. The following questions can help understand if momentum has slowed.

  • Why are you stuck?
  • Are you not happy with what you are working on?
  • Any impediments?
  • Is there confusion on priorities?
  • Is there more work than what was originally estimated?

Continually syncing with team members will build team morale, help the team stay on track, and create an open and honest work environment. Creating this type of space for your team to step into fosters innovation and creativity.

💁‍♀️
Tip: Remember, every person works differently. There is never a once size fits all approach. Figure out what works best for each engineer/designer so that you both can make efficient use of each others time. 

Be Available
We live in a time where most teams are no longer co-located and asynchronous communication has become increasingly popular. A way to counteract this is to send a friendly check-in at a time they are usually available. Something like "hey! just checking-in...everything good? Let me know if you need anything" will reinforce availability.

Also, try to promptly respond to the engineer and design team. They should be your first priority over any other teams as they are the ones that will need answers to continue moving work forward to hit deadlines.

Remove dependencies and impediments
Most projects will have numerous dependencies especially when it comes to front-end and back-end systems. This also creates a landscape of cross-functional dependencies because it's no longer a dependency on just your team. This means a dependency could be with the back-end engineering squad, design or the front-end engineering team.

In most cases, you can find a workaround for your dependencies even if it means you have to cut some of the scope or make the feature/story a bit leaner. For example, if you are building a pop-up modal and the team is waiting for the back-end to be complete before front-end work can start you may be able to mock the data. This enables the front-end team to start their work, while the back-end team can continue to build the back-end without being rushed.

Optimizing through people's availability
It's important to understand the landscape of the resources on your team. Understand their priorities and if there are constraints find ways to adjust around them so that work doesn't stop. See the following:

  • Design Constrained: If the design team needs more time to work on a feature engineers need to have more engineered heavy projects such as performance and scalability. This will keep them busy and focused on a better product while giving design enough time to finish features.
  • PM Constrained: Simple projects that don't go too deep into discovery. These can be beneficial and easy wins.
  • Engineering Constrained: Product management requires strategic thinking. This is a perfect opportunity to implement new strategies and reevaluate current strategies to free up design and engineering.

These ideas should be kept at the top of your product backlog so teams can pull them in as needed. It can be important to label or categorize them so design and engineering know which tickets to pull when there are dependencies.

Evaluate current structure and process
Understanding if you are going in the right direction is key, but even more important is how you plan on getting there. Evaluate what team processes are in place that are help facilitating how well the team is executing.

One way to assess this is through team retrospectives as they help to answer how a team is feeling about the current process, where they can improve, how they feel about the work, what they can do better, and evaluate opportunities. Retrospectives help to flush out concerns, opportunities, and discuss different growth strategies to pick the processes that can be added or changed.

How to track your work
Find a SDLC (Software Development Life Cycle) project management tool that can easily track engineer and design work. This helps to align all work in a centralized location creating visibility for teams to keep track of projects and deadlines. It also reinforces visibility for cross-functional teams such as sales, marketing, and leadership.

Try a few different tools and see what works best for the team. Create a list of what you would like to achieve from the tool such as clarity on assignments, communication, visibility, facilitation of remote work, etc.

Demo Tips
As a project manager it's important to find opportunities to motivate your teammates. It's not advisable to micromanage. Soft influence and trust is always the way to go.

With that said, demos give the opportunity for teams to showcase their work. Demo's are usually done at the end of a sprint. Fridays are usually the best time because teams feel more motivated to accomplish their tasks before the week ends.

Work should only be demo'd that has been merged into the master and is in production.

💁‍♀️
Tip: To make sure everyone follows these guidelines try setting-up a shared beta server so that code is checked into beta if they want to demo so they aren't demo'ing on their local.

Invest in overlooked areas
Continuously delivering a new feature or added functionality to a product is extremely important, but it can come at a cost. Sometimes maintenance items that keep the product running efficiently for users can become compromised so it's important to find ways to incorporate them into the work.

This can include: Bugs, Design, Internal Processes and Tools. These items may be deemed as not important so they pile up and can lead to a mediocre product.

Setting a day aside every other sprint to tackle these items will help to ensure these areas aren't overlooked and the team doesn't fall behind when trying to limit tech debt. These days can be turned into a fun competition so that teammates are more engaged and empowered to deliver.

Detect Risk and Mitigate Them
Understand and pay attention to what can cause a problem in your product. Maybe the current code is prone to bugs or maybe animations are creating performance issues when too many users access the application. Ask your peers (design, engineering, marketing, sales, etc) what they have seen and how they handled it. This will help to understand what went wrong and maybe what could be done different in the future.

An example could be a scalability issue. In this case there should be a slow roll-out plan so the application doesn't fail when multiple users are trying to access it. What if there are constant issues when new features are deployed to production causing the application to fail. Downtime is rarely an option for users so there should be a roll-back plan to return to the original state.

Detecting risks early and creating a plan b to rectify any issues that may arise will establish product quality and create loyal customers.


Final Words 📖

Project management can be a slippery slope when combining it with product management responsibilities. There will be days when focusing on delivery is the main priority instead of strategy and development. Regardless, flexing your project management skills will prove beneficial when driving product delivery.

As a product manager you will be taking a hybrid approach to modernizing the project management space in order to fulfill your duties. Remember each organization will have different expectations of the project managers role and it will be up to you to find a common ground to meet those expectations.

Next Steps 🚀 

  1. Why Good Product Managers need to be great Product Managers
  2. The Importance of Project Milestones in Project Management
  3. Signs engineers and Product Management are out of sync