Every product has a lifecycle that consists of four phases: introduction, growth, maturity and decline. Having three major iterations and hundreds of enhancements, my product, an E-learning experience platform went into the maturity stage. Unlike the introduction phase, my focus shifted from adapting rapidly to new insights and ever-changing requirements from users to evolving value propositions to the product whilst continuing to add unique competitive advantages to differentiation from competitors. When prioritising enhancement requests, the metrics used for prioritisation also changed to give an edge over those with higher ROI, better user satisfaction and lower cost. However, the matured product doesn’t mean no more major feature development is required. Instead, the wide range of product adoption, the satisfied users, positive feedback and great product performance on the market sometimes pose an illusion of great success in product development, which made us forget the most fundamental things – the technical debts that occurred during the introduction and growth phase. At the introduction stage, the main objective is to develop a minimum viable product to validate product-market fit whereas during the growth period, the goal is to expand reach, scale and stay competitive. The issues with the system were likely to be overlooked or under-addressed as long as they didn’t affect product operation or end users. However, as the issues pile up and finally reach a tipping point, the result could be horrendous.
Our “time to pay for technical debts” happened when we were about the start the development of a new feature. While running unit testing, the team noticed that the two functions didn’t work as we expected. Upon further investigation, the root cause stems from an enhancement we did a year ago. Our initial plan is to spend four or five days on getting this resolved. However, as the team started to fix the problem, it turned out that there were some other small bugs “buried” under these two non-working functions. As a result, we ended up with three weeks on tackling the whole situation, let alone the delay in development, stress, pressure from stakeholders and the low team morale. Now that we are back on track, I had shared the lessons learned with my team during a retrospective meeting.
Lessons Learned in my Product Management Work
1. Manage unplanned work effectively
I like planning my work and sticking with my daily work routine to keep myself productive. It gives me peace of mind even if something might be going to some level of uncertainty. However, when you can’t predict the amount of the unplanned work or estimate the severity of the impact it has caused, the unplanned work becomes hard to manage and poses significant risks in influencing the quality of project delivery as well as the velocity of development. Moreover, other development procedures such as change management and documentation update could bear the ripple effect brought by unplanned work. As more bugs were found, a huge amount of unplanned work came through every day. It diverted the team’s full attention from the planned work to fixing bugs as the number of issues detected are beyond our expectation. Luckily, they are still manageable and we have developed some useful operating procedures in place to help manage unplanned work more effectively.
- Don’t be panic when receiving loads of unplanned work all of a sudden. Examine the impact and assess the risk of unplanned work with the team.
- Prioritise the unplanned work and update the product key stakeholders.
- Conduct change control process and update product development plan, risk register and changelog.
- Actively engage stakeholders for managing changes and stakeholders’ expectation.
- Develop proactive measures to mitigate the risks, reduce surprises, and protect the team from distractions.
- Keep the team closely in the feedback loop with change updates and results.
2. Communicate effectively is an essential skill
Working as a product manager in an across-functional team, I spend 50% of my time at work on communication and coordination. Communicating effectively become utterly eminent when your team members have different areas of expertise, knowledge and experience. From formal written artefacts such as email and report to daily stand-up and progress review meeting, effective communication is one of the most in-demand soft skills and it’s also the cornerstone of any team for successful product delivery. My team and I have been using an SCCCU model to evaluate the effectiveness of our communication in our day-to-day work.
- Be specific: Never assume everyone shares the same understanding with you and don’t use ambiguous words to describe a fact.
- Be concise: Keep it short and hit the nail on the road whilst trying to use the most appropriate words to summarise the key message.
- Be complete: Conclusion always comes first, with reasons relayed in the following.
- Be consistent: Try to use the same style to represent and communicate the message.
- Be understandable: Avoid using jargons but common terminologies that are easy to understand.
3. Change management is important
When your team adopted a change-driven, adaptive or Agile development method, changes can’t be planned in advance, especially the ad-hoc change requests will make the team lose sight of the whole picture by overlooking version control. Therefore, building a change control process into change management is critical to product quality assurance. Having been wreaked havoc by a series of technical issues in the past three weeks, we finally established a framework to manage the change process.
- Define the change type and categorise changes by risk and impact level.
- Prioritise changes and communicate changes with stakeholders.
- Review the current workload and figure our solutions (or workaround).
- Incorporate unit testing to avoid incidents.
- Use the right tools to track changes and update the relevant documents.
4. Manage team dynamics by tapping into leadership skills
Team dynamics are those psychological forces and tacit knowledge influencing the team’s performance and behaviour. Every team member possesses different characteristics with both strengths and weakness, so does the team. You should pay particular attention to your team dynamics if your team are co-located, cross-functional with different culture background. Regardless of leadership style (transitional, transformational, servant leader, laissez-faire, charismatic, interactional), product managers always need to monitor team dynamics by resolving conflict quickly, increasing transparency and boosting team morale.