June 30, 2020

Agile User Story Splitting by Device, Platform, and Channel

Post by: Rachael Wilterdink

As I think we all know by now, there are countless possible combinations of devices, platforms, and channels that we could end up designing and developing solutions for.

I once worked at a retail organization, and they had different Channels like web, mobile, kiosk, and physical stores. Within these, the web team had to contend with the infinite versions of operating systems, web browsers, internet speed, etc. On the mobile team (which I was on), we handled all manner of development combinations of OS versions for Android, iOS, and mobile-optimized devices for tablets, phones, and hybrid laptops. Today, there are even more mobile devices – like smartwatches and Google Glass – and I have no doubt there will be more to come.

Question: Given the myriad possible combinations to build for, how do you decide what to focus on when building a system for your customers and users?

Answer: Do your research. Understand your market. Understand your users and their context of use. Understand their user journeys and their goals. This will help inform which route you should take.

When trying to break out a story by channel, you could have stories for building the same feature – but in different channels. For example, in my fake Recipe app, I could have the following stories:

Full disclaimer: I’m not a fan of splitting stories up this way – especially if you’re developing the code in an environment using something like Xamarin. It allows developers to code for the majority of platform-independent functionality, requiring them to only write custom code for the 20% of features that are unique to each OS or channel.

In this case, I would write one story that spans the different channels or platforms, and I would write separate stories to cover any unique aspects of each. I find this to be a much better approach than splitting whole features by channel/device/platform.

Questions to ask:

  • Are any channels/platforms more important than others?
  • Do you have a mobile-first strategy, or do you take a more traditional approach?
  • Do you need to develop for all possible channels, or can you narrow it down to the most commonly used?
  • Are there certain aspects of a feature that differ significantly across platforms?

Once again, I’m not a fan of this splitting technique unless there is a very compelling reason to do it.


agile transformation ebook

Relevant Insights

New Site Showcases Our Growth Into a Full-Service IT Consultancy

Over the past year, Core BTS has evolved. Simply put, we’ve amassed greater scale and expertise that, in combination with...

5 Steps to Reduce Your Ransomware Risk

As the recent ransomware attack on the U.S.’s second-largest meat producer, JBS, made clear, cyberattacks on critical infrastructure can cause...

How to Unlock the Organizational Value of Digital Transformation

As organizations look to stay competitive in today's dynamic and unpredictable marketplace, a trend has re-emerged that is ushering us...