Delivering information to a user through notifications: how critical is it?

So lately I’ve been doing some testing around push notifications and it got me wondering, there could be cases where a notification (email, sms, browser or push) is not delivered to user and there could be circumstances for it but what would they be?

For instance:

  1. In a factory, someone does not get notified of a task they needed to do in 30 minutes
  2. In a food delivery system, the delivery person is at your doorstep but you’re not aware of it

There could be other examples too. I think the way to handle this would be a notifications menu and all possible types of notifications offered to the user (email, sms, push etc) but what if all of it fails?
Would it be feasible to create a service that resends notifications that are missed for some reason?
Or its not that big of an issue so one might let the missed ones be gone.

4 Likes

How would a resend service succeed where the original services failed? At first must be problem solved. E.g. The user having a mobile connection.
At the very least SMS are delivered as soon as the users mobile has a connection. “Resend” is built into the mobile network. There might be a timeout, but I guess it is quite long.
For email it depends on the setting. Pull vs push. When the user has as push email service they get the mail also as soon as they have a connection.

If all possibilities fail then there is a real big problem you can not anticipate in your program. Like having no mobile connection.

If you want a backup or alternative for the factory scenario I would suggest to make this tasks entries in someones calendar.
But this only works upfront. When the system knows about this as long as the mobile has a connection. After receiving a reminder in the calendar no further connection would be needed.

At the very last another human should be informed that a notification could not be sent to the person and that humans have to find a solution. If it that important.
e.g. asking for the person by a loudspeaker system of a factor.

3 Likes

Let me ask this: Is this something QA should be making decisions about? My first thought was that this sounds like a job for the product designer or the product owner to define business rules around and thus turn into acceptance criteria for QA to act on.

That said, and assuming I am correct, I think it is appropriate for QA to question business rules or to identify missing business rules. Which might be what you are getting at and Im just reading everything backwards :smiley:

Your example is talking about a resend mechanism. Which is the sort of thing I often see engineers identify as a need and suggest to product ownership. I also often see that once the idea gets fleshed out and scoped, Product decides it will delay too many other higher priority things and the story/feature gets backlogged for future enhancement.

2 Likes

I think it is appropriate for QA to question business rules or to identify missing business rules. Which might be what you are getting at and Im just reading everything backwards

Exactly :smile:

3 Likes

When we are not sure about a corner case behaviour being desired. It’s often a good idea to create “acceptance criteria” or a UAT document. Another thing to do is get your helpdesk to do a simulated customer support call with you and help them to write a support “playbook” while the product owner is present. Usually the role-play alone as long as a developer is also around to tell you how the system will behave while you do the playing, may cement everyone’s understanding of “mission-critical” elements. If the product does not have a “mission-critical” disclaimer, like for example why a fireman or a heart surgeon would not use the product to save lives, then you are probably needing to address one or the other.

If the product owner does not want to do that, then all we can do is log it as a risk that we chose to ignore for now with a rough reason like how we want to learn more.

3 Likes

I hadnt considered the playboork or runbook approach! Nice!

2 Likes

Hey @hananurrehman,

Some interesting questions and comments hopefully they help shape some further thoughts.

My 2cents:
I think it requires you to understand even things like SLAs, Support workflows as well as others have mentioned. For instance in my domain of “field service, supply chain, inventory management” world any downtime is a high cost to the service provider so getting a timely and accurate “notification/alerting” system is key. I also think accurate feedback loops to every party/person along the user journey should be considered. What you’re trying to do is reduce the gap between unknown and the known, meaning the faster and more accurate information you can inform to the “user”, the more equipped they are to act upon that knowledge(raise an order/replenishment/return). I’d say try to mind map it and see if there more areas to be considered in it. Hopefully that’s helpful for you, if not ignore it all :joy:

2 Likes