Breaking down technical (non)user stories!
- As an API when I receive a request to check the value of transactions in a currency since trading began today I will return a message with the following details.......
- As a listener I want to be alerted when the exchange rate varies outside of a defined tolerance
- As a listener (ListerName) I want to receive a 12000 message containing (..........) when the value of sterling against the value of the euro drops below the value held in dbo.clientprojection.MaxExchangeRateValue
- As a listener (ListerName) I want to receive a 12005 message containing (..........) when the value of sterling against the value of the euro drops rises above the value held in dbo.clientprojection.MinExchangeRateValue
In this way although the coding is much more 'invisible' as compared to a system with user interactions the PO would still be able to monitor progress.
The delivery of each sprint would be 'potentially shippable' and indeed could be put live even though it might not add business value it would allow the release procedures to be tested and the system monitored in a live environment before being used in anger!
It also allowed for the PO to enforce the definition of done, Track velocity and make a very invisible system visible.