Skip to main content
Home
  • Agile
  • Manage
  • Test
Register
Log In
  • Home
    • TechWell.com
  • My Page
  • Communities
    • Agile
    • Manage
    • Test
  • Interact
    • Blogs
    • Forums
  • Resources
    • Articles
    • Better Software
    • Download Center
    • News Center
    • Podcasts
  • Events
    • Web Seminars
    • Conferences
    • Training
  • Jobs
  • Membership
  • Feedback
  • Contact Us

Helping the Customer Stick to the Purpose of a User Story

Blog Post

Helping the Customer Stick to the Purpose of a User Story

Blog Post by Lisa Crispin | Comments: (0) | Thu, 11/03/2011 - 20:42
  • share
  • Print

I work as a tester on a development team for a financial services company. Our software manages all aspects of 401(k) retirement plans. Even though we've been practicing agile development for eight years, or maybe because of it, our customers sometimes fall into a trap. Rather than tell us the business problem they need to solve, they give us a user story with the technical implementation already all figured out.

In a recent estimating meeting, our Product Owner read this story: "As a third-party administrator, I want to upload a loan, with my own loan term, interest rate, amount, and generate a corrective action to liquidate the funds and process the out check."

OK, that's a lot of jargon, so here's a bit of background. Employees of companies who sponsor 401(k) plans are allowed to defer some of their salary, tax-free, into their own personal retirement account. Some companies allow their employees to borrow funds back from those accounts, if they have a need such as medical or education expenses. They take out a loan with a term of some number of months, at an interest rate tied to the prime rate, and the interest and principal from each payment goes back into their accounts. We have a sophisticated user interface to allow participants to take out loans from their accounts.

Some more explanation - some employers use a third-party administrator to oversee the 401(k) plans that they provide for their employees. This makes life easier for the employer, as the third-party administrator takes care of all the payrolls and legal mumbo-jumbo. The third-party administrator may also perform services for individual employees in the 401(k) plan.

When our PO explained this new user story, he said, "You know how third-party administrators can upload a file with money that needs to go back to participants who accidentally deferred too much of their salary into their account? Those generate a corrective action that liquidates funds, and cuts a check back to the participant. We need something just like that, only the check will be a loan."

Huh? We put a lot of work into creating an easy-to-use interface to request a loan, and the code to process that loan request. Now we should have a completely separate location for requesting loans? And what does this have to do with corrective actions?

I asked, "What is the purpose of this story? What business problem is being solved?"

The product owner explained, "The third-party administrators may have different loan terms and interest rates than our system uses, and allow more than one loan per employee. For example, they might allow an 80-month loan repayment term, which our system does not allow. Also, they might allow employees to have more than one loan at the same time, which we don't allow in our system. So, they can't just take out a loan for an employee through the normal user interface, it would fail the validations. Since they can't use the regular UI, we thought they could upload a file with all the information about the loan."

We sure don't want to create a second interface for requesting a loan. Now that we understood the business problem to be solved - allow loans that violate our own rules - we could find a better technical solution. We can update our existing loan request UI so that if a third-party administrator who has different loan rules logs into a participant account, they won't be subject to the normal validations, and they can take out a loan with their own conditions.This way, the loan request will be processed in the normal way, with the existing code, instead of having to also build special processing code.

The moral of this long and somewhat confusing tale? Make sure you understand the *purpose* of a user story or feature. Start with the "why". You can worry later about the "how". The customers get to decide on the business value to be delivered. They generally aren't qualified to dictate the technical implementation of that functionality. We, the technical team, get to decide the best way to deliver the desired feature through the software. Always ask about the business problem to be solved. Sometimes, it's possible to implement a "solution" that doesn't really solve the problem.

So, back to our estimating meeting. The problematic user story was rewritten to read, "As a third-party administrator with special loan rules, I want to be able request, on behalf of a 401(k) participant, a loan that is not subject to the normal system validations, so that the participant can receive the loan funds, and repay the loan." We think the best technical solution will be to suspend the normal validations if a third-party administrator with their own loan rules is requesting the loan for the participant. This way, once the loan is requested, the loan processes in the normal way, and we don't have to add special code for actually liquidating funds and cutting the check.

When you participate in estimating and planning meetings, remember to ask "Why?" first. The business stakeholders can answer the question "Why?", but they can and should not answer the question "How". It's best when the technical implementation is decided by the technical team.

  • Requirements Gathering
  • Requirements
  • Test & Evaluation
  • Agile Development
  • Estimating
  • technical implementation
  • user story
About The Author: Lisa Crispin

Lisa Crispin is the co-author, with Janet Gregory, of Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley, 2009), co-author with Tip House of Extreme Testing (Addison-Wesley, 2002) and a contributor to Beautiful Testing (O’Reilly, 2009). She has worked as a tester on agile teams for the past ten years, and enjoys sharing her experiences via writing, presenting, teaching and participating in agile testing communities around the world. Lisa was named one of the 13 Women of Influence in testing by Software Test & Performance magazine. For more about Lisa’s work, visit www.lisacrispin.com.

View More

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.

More like this

  • Better Software & Agile Development Conference West
  • Customer Best Practices–Planning Phase
  • Quality Assurance: The Customer's Advocate in Product Companies
  • Best Practices for Software Projects: Requirements Scrubbing
  • Best Practices for Software Projects: Estimating

Welcome to TechWell!

With an ever-expanding library of content by industry experts, TechWell is your source for software knowledge. The site is still growing, so please pardon our dust. If you see anything that requires our attention, please CONTACT us.

Not a member? REGISTER to join our community.
Already a member? Log In

Hot Topics

  • Most Read
  • Most Discussed
  • Most Shared
  • New Downloads

Three Components of Effective Defect-management Systems

Article by Krishen Kota | Comments (1)
 From a high-level view, defect management systems are made up of a combination of some defect management tools or tool and a defect management process. These two primary components work together to... Read More

eBay to Open New Development Center in India

News by Jonathan Vanian
 Want a job? You might want to catch the next flight to Bangalore. San Jose’s eBay is opening a global development center in India’s “garden city” and plans on hiring “1,000 technologists over the... Read More

Hacker Steals Source Code From VMware

News by Jonathan Vanian
 It’s been rough sailing for VMware this week as a hacker named “Hardcore Charlie” claims to have stolen some of the Palo Alto-based company’s source code and other documents via a Chinese military... Read More

Three Components of Effective Defect-management Systems

Article by Krishen Kota | Comments (1)
 From a high-level view, defect management systems are made up of a combination of some defect management tools or tool and a defect management process. These two primary components work together to... Read More

CM: The Next Generation—Tailoring CM and ALM Tools

Blog Post by Jonathan Vanian
 Today we published a great piece by Joe Farah over at CM Crossroads. Joe Farah has been working in software field since the late 1960s, and he’s personally witnessed the ever-evolving world of... Read More

Agile Software Development – Past, Present, Future

Article by TechWell Admin
 For example: Read More

Three Components of Effective Defect-management Systems

Article by Krishen Kota | Comments (1)
 From a high-level view, defect management systems are made up of a combination of some defect management tools or tool and a defect management process. These two primary components work together to... Read More

Press Release: Klocwork Insight(TM) Ensures Software Security and Reliability for Bids Trading's Financial Trading System

News by TechWell Staff
 Burlington, Mass – Klocwork Inc, the global leader in automated source code analysis (SCA) solutions for developing more secure and reliable software, today announced that BIDS Trading, operators of... Read More

CollabNet Releases CloudForge

News by Jonathan Vanian
 Brisbane’s CollabNet is starting off this week with a new corporate strategy and a new product launch. As of this Monday, CollabNet will now focus on “the enterprise adoption of hybrid cloud... Read More

Be Agile and Take Control of Your Software Projects

The software development world has gone agile, but complex projects still demand requirements best practices such as traceability, specifications and change control. Learn how to strike the right... Read More - Get this content

Vendor Landscape: Agile ALM

As development platforms, coding methodologies, and devices increase in number, Agile Application Life Management (ALM) tools support integrations with an ever-increasing range of systems. In this... Read More - Get this content

Agile Transformation Strategy

As organizations seek to improve return on investment and manage project risk more effectively, more companies are turning to Agile Product Development methods such as Scrum to achieve these goals.... Read More - Get this content

Follow Us On...

Follow us on Twitter
Twitter
Follow us on Facebook
Facebook
Follow us on LinkedIn
LinkedIn
Follow our RSS feed
RSS Feed

Sponsors

  ASTQB
  HP Software
  Microsoft
  MindFire Solutions
  PTC
  Neotys
  QA Symphony
  SQE Training
  SmartBear Software
  SOASTA
  Tricentis


Our Bloggers

Johanna Rothman is a management consultant and a regular StickyMinds.com and Better Software magazine columnist.

Steve Berczuk is an engineer and ScrumMaster at Humedica where he's helping to build next-generation SaaS-based clinical informatics applications.

Naomi Karten is a highly experienced speaker and seminar leader who draws from her psychology and IT backgrounds to help organizations improve customer satisfaction, manage change, and strengthen teamwork.

Lee Copeland has more than thirty years of experience in the field of software development and testing.

Lisa Crispin has worked as a tester on agile teams for the past ten years, and enjoys sharing her experiences via writing, presenting, teaching and participating in agile testing communities around the world.

Claire Moss has been testing software for 8 years. Although authoring a testing blog and articles are new for her, Claire has always had a passion for writing, which might be a strange trait for a Discrete mathematician.

Site Contents
Back To Top
  • » My Page
  • » Communities
    • - Agile
    • - Manage
    • - Test
  • » Solution Central
    • - HP Solution Center
  • » Interact
    • - Blogs
    • - Forums
  • » Resources
    • - Articles
    • - Better Software Magazine
    • - Download Center
    • - News Center
    • - Podcasts
    • - Videos
  • » Events
    • - Web Seminars
    • - Conferences
    • - Training



Techwell

  • Advertise
  • Terms of Use
  • Privacy Policy
  • RSS
  • Site Feedback
  • Subscription Services