Posts Tagged ‘Prioritisation’

Ownership

The product development lifecycle is complex, but in order for it to run like a well oiled machine there needs to be solid product ownership at the heart.

The below video explains Agile Product Ownership incredibly well and covers:

A typical Product Owner R&R would also be:

  • Market analysis
  • Competitor analysis
  • Customer analysis
  • Trends
  • Product line strategy
  • Product Vision
  • Product Roadmap
  • Backlog prioritisation
  • Epic / feature scoping
  • Epic breakdown to user stories
  • Requirement workshops and documenting them
  • User story definition
  • Detailed acceptance criteria
  • Backlog grooming
  • Sprint planning
  • Acceptance of user stories
  • Retrospectives
  • Daily stand-up

More info here on how to scale product when the time is right.

To compliment the Product Roadmap, there should be a prioritised product ‘Feature Backlog’ which gives both stakeholders and the development teams a detailed overview of the Product Roadmap items still at that high level (Epics / Product Iterations).

If you use JIRA to manage your software delivery projects and you have your product roadmap items at an Epic level, then you’re able to simply setup a Kanban board with just one column called ‘Feature Backlog’ with a filter set to show only Epics and Epics which are ‘in progress’ or ‘to do’.

To visualise the feature backlog in a better way than the Kanban board, it’s possible to also show that same JIRA epic search filter across the likes of Confluence or Aha! where you can specify what JIRA fields to show.

Depending on your custom fields in JIRA, looking at the Feature Backlog should give stakeholders and development teams working on the product a high level (iteration / epic) idea of:

  • Priority order of all epics / iterations
  • Status – what’s in progress, planned or to do
  • Business value – whether it’s driving x incremental revenue, saving x money, avoiding x fees, meeting regulatory requirements, contract deadlines, tech debt, advancing technology etc
  • Description of the iteration / problem you’re solving
  • Delivery date which should match the dates on the product roadmap
  • Size of work

The Feature Backlog is a great way of showcasing at a high level the value of the product iterations which are currently being worked on and what’s planned in the next twelve months.

The Feature Backlog also helps the development teams understand the details of what problems are upcoming to solve, so they’re able to think about how to approach each epic / product iteration well in advance.

Beauty vs functionality image

No matter the industry whether it’s automotive, finance, retail, gaming or gambling there’s always going to be a desire to have both a beautifully looking and fully functional site, but the development teams are not normally split out in this way so requirements to improve the look of the site competes with getting new features out the door / feature improvements and UX bugs.

There isn’t a set rule for weighting the development work as industries would differ for example for Audi the split would likely be c 70% beauty vs. 30% functionality because it’s key to show off the cars beauty representing it in it’s true light, rather than having pixely images which take a while to load or customers not being able to access a 360 degree view of the car. Yet for someone like Amazon, the focus would be on functionality, ensuring that customers can pay with a multitude of payment methods, the UX is slick and bug free as well as having an advanced product search and results function.

Post MVP launch the product might not be gold plated but ensuring customers have an acceptable UX, feature set in line with the industry and rich content is priority and typically all that customers want and mostly care about.

Is it worth pulling developers off a key feature / upgrade / stopping a product launch to develop fixes to ensure all buttons have a consistent curved edge, images on a low device usage are high quality, all images are the same size to the pixel or to make numbers flash and sparkle. Customers visit websites because they want something, so why not give it to them as a priority without delay or frustration, otherwise prioritising gold plated design over key functionality could lead to customers going elsewhere for the products / features or experience they want.

So many awesome ideas from so many people to improve product, but it’ll always be impossible to fulfil all desires in an acceptable time frame to stakeholders, making prioritisation not only challenging but extremely important.

Process, data, collaboration and determination can certainly make prioritisation all the more effective and smoother, so looking at these areas in more detail:

Process: Status of projects, where do product requests / bugs sit in the pecking order, ETA on delivery, investment cost and projected value of projects held in a transparent way will help with the communication overhead and help maintain trust.

Data: To ensure that high value items are being worked on you need data to backup assumptions. It can be easy to flap and try to make a problem out to be bigger than it is to get it done, but there should always be some kind of data to back it up with examples being: incremental revenue which can be reverse engineered from retention uplift rates or projected acquisition volume increases using ARPU for example. Other ways of projecting value / determining scale of the problem is customer support queries or customer feedback, site loading times, efficiency in terms of £££ saving eg. Man hours / days or software costs etc.

Collaboration: Discussing value and priority options openly with your colleagues will help you deliver a product in a more confident and focused way, as it’s not easy making the big decisions on prioritisation because what’s at the top or moves to the top means that the items below won’t be done now or perhaps anytime soon, so checking and agreeing on the focus / roadmap helps to give confidence to just get on with delivering a high quality & value product without having to worry about justifying a decision you’ve made alone every minute of the day.

Determination: Prioritisation changes frequently if you work in an agile environment, so being positive and determined to deliver upcoming projects you’ve been discussing for months or even years helps to keep focus on delivering the key business goals and provides reminders that it’s still on the agenda, no matter the level of incoming bombshells / distractions.

If someone asks for something to be done urgently without providing any numbers representing the projected value or any element to give an idea of the scale of the problem you’re looking to solve, then asking why do it or what happens if we don’t do it in the next 12 months should help to quickly prompt the need to research more into the value.

Projecting investment cost and taking time to dig into the real value the product change will make in a collaborative way, will ensure that you’re delivering frequent value to customers internally and externally in a happy, fun and relaxed environment.

Context switching

There’s never just one thing you could do, not just a few things, but there could be hundreds of things you could possibly do to deliver value, so by being reactional with a ‘just get it done’ attitude could result in little progress towards delivering overall business goals and lead to a few frustrated developers.

Product development isn’t as quick as setting up a new programmatic ad campaign for example and instead can take weeks to carefully craft a solution collaborating with colleagues along the way. Also with development costs not being cheap means that not making a sensible decision up front could be costly.

Context switching can impact a variety of key elements:

  • Waste – it can take hours / days for a developer to jump from one project to the next especially if they’re unrelated and the code is complex. There’s also risk that some of the learnings from the original task would be lost even if documented.
  • Morale – one of the most frustrating things for a developer is context switching either by switching in progress work or frequent disruptions. Developers take pride in doing a high quality job and to do that takes detailed technical planning to ensure they do the job well, so pulling the rug beneath them often ends in frustration. Typically they just want to get a job they’ve started on done and see the fruits of it.
  • Delivering value frequently – adapting to change quickly is important, but you may find changing a strategy often results in delivering very little.
  • Prioritisation – expecting a product owner or someone in a strategic position to juggle a significant amount of projects at once will end in the highest priority work not necessarily getting done, because it takes time to groom and value projects / requests, so if there’s less time to do this, work could be prioritised based on who shouts the loudest.

Context switching can negatively impact anyone across the majority of an organisation and is often caused by unnecessary flapping / panicking, but with a robust and strict new request process and well oiled live bug process can not only keep context switching to a minimum, but also ensure that teams are working on the highest priority item delivering value frequently to customers.