A savvy Agile product owner has to foresee how a minor glitch in a Web e-commerce application might have a major impact on shoppers, marketing, sales, customer service and partners -- and the bottom line. How do you prevent the ripple effect? Should Agile product owner responsibilities constantly be changing?
When I listen to software pros talk about the Agile product owner role, it's typically in the context of new projects. What are we building? Who is going to use it? What do they want the software to do?
But a recent shopping experience on LLBean's website brought home an issue I hadn't previously considered: The product owner's role remains crucial long after the application is released.
I'm not talking about major software updates, which obviously require significant input from product owners. What brought my online shopping experience to a halt was the application's inability to update my store-branded credit card number. It should have been no big deal, but the oversight set off a ripple effect. It affected not only shoppers like me, who couldn't check out with the promised discount, but also phone support reps, marketing pros, the bank behind the store-branded credit card -- not to mention the software developers and testers.
As I thought through what happened and mapped out how it could have been avoided, it became obvious this situation called for a savvy Agile product owner. Who better to connect the dots, figure out what changes were needed, and what impact those changes would have on people inside and outside the organization?
Here's what happened -- and my take on how product owners can prevent the ripple effect from rocking the business.
Agile product owner: Stay on top of new use cases
I recently received a new LLBean-branded credit card after a "security review." This sort of unexpected change means extra work for all involved. However, as consumers know all too well, issuing new cards and account numbers is standard operating procedure in the wake of a data breach.
A month after the new card arrived, I shopped an LLBean.com sale, entitling LLBean cardholders to 15% off. No need to enter a discount code; the discounted price would automatically appear when I checked out using my LLBean card. But when I selected a payment option, my simple shopping expedition -- buying a pair of pants for my husband -- went awry. Selecting the default option, my stored LLBean card, I could see the last four digits were from the old card and no longer valid. The next option was select another card and enter the new number. I did this and the application accepted my new LLBean card number, but failed to recognize it as an LLBean card. I could check out, but where was the discount I was promised? I decided not to hit the "place order" button.
This seems like a new use case. How do shoppers whose LLBean cards were reissued -- but not expired -- update their new LLBean card account numbers?
Agile product owner: Let the phone reps know
I call the 800 number. The phone rep seems unfamiliar with the situation, but she is courteous and tells me the discount will appear when I click the "place order" button. I am certain it won't -- I shop this site often enough to know the discount appears before you check out. I place my order, and sure enough, no discount kicks in. The phone rep apologizes and applies the discount on her computer. I ask if the email confirmation will reflect the new price. She says it will. I receive the email; the discount has not been applied. The phone rep apologizes and assures me my card will not be charged the full amount. I check my online statement later that day. The discount has clicked in.
The whole exchange has taken me 25 minutes instead of five. But I'm hardly an irate consumer. I'm fascinated by what's happening from a software development standpoint, and I think it's a product owner's job to lead efforts to prevent problems like this.
The use case involves a minor change to a Web application. But consider the repercussions -- the ripple effect. How many people inside and outside the company will be affected by reissued credit cards?
If I'm upset at anything, it's this: Why didn't anyone foresee this glitch and let customer service know what's going on? When online shopping applications don't work, customer service is the front line. This isn't rocket science, but it does require product owners to anticipate issues and communicate the needs. It's business and technology people talking to each other.
Agile product owner: Preventing the ripple effect
I experienced the effects of this minor glitch on a shopper and a phone rep firsthand. But behind the scenes, others are affected, too. In an ideal world, when a bank reissues a store-branded credit card, that information is communicated to software pros responsible for maintaining an online shopping application. If software pros had foreseen this problem, they could flag stored credit card numbers that were no longer valid and update the user interface accordingly. Instead of simply offering an "Add New" option, how about:
Add new LLBean card?
Add another credit card?
Deciding how to present those options -- how to word them -- affects marketing pros as well. They need to be involved and it's the product owner's job to engage them.
Why is the product owner role important?
Is the Agile Manifesto outdated or timeless?
Read an extract from the newly released Agile Foundations