A Tale of Two Stories

SAME USER STORY – TWO VERSIONS

Both of the following are legitimate Agile User Stories. They are very different because they would be consumed by very different types of teams. The overriding principle is know your audience and write for them.

Story 1 is appropriate for a US-based start-up team. They have a good relationship with a co-located Product Owner who can spend time with them as needed to answer questions, give guidance on design, and provide feedback on mock-ups or prototypes. This is generally considered an ideal environment for an Agile development team. Because the team has a UX designer on board and a strong lead developer, they do not want the User Stories to be prescriptive in nature. In this environment the Agile BA must give stories a light touch, but provide enough clarity to allow for estimation and prioritization.

Story 2 is for an offshore team that does all the coding but works through a BA or design lead based in the US. The team understands English pretty well and the company does not want the overhead of formal functional specifications. The developers are used to working in a short turnaround loop with a remote liaison. The cross-cultural challenge as well as the remote location and time-shifted work require more detail in the story to prevent confusion, provide consistent naming and UI, and to lower the delay caused by many back-and-forth questions.

BUSINESS SCENARIO

Internal sales staff receive new leads through a form submitted on the company website. The leads arrive by email and the staff must relay the leads to the appropriate salesperson based on the geography of the prospect. An internal sales portal is being built/configured to allow in-house staff to enter the raw information from sales leads. The system will then route the lead to the right sales rep based on geographic mapping. The user must also be able to work from a list of printed lead information.

STORY TITLE

“Enter New Sales Lead”

USER STORY 1 – STARTUP TEAM

As a sales user, I want to send a new sales lead to the appropriate regional sales rep so that the rep can quickly contact the prospect.

Acceptance Tests

  1. When I enter all required contact information, then the system saves and routes the lead.
  2. When I omit any required field, then the system informs me about the missing information without losing any of the data I have already entered.
  3. When I successfully enter and save a new lead, the system displays a success message containing the name and email of the last lead entered.

USER STORY 2 – OFFSHORE DEVELOPMENT

As a sales user, I want to enter personal information about a new sales prospect and save* it to the sales lead database so that the appropriate regional sales rep can quickly contact the prospect.

Required Fields:

  • First Name (20 characters)
  • Last Name (20 characters)
  • Email Address (validate format as user@domainName.tld)
  • Phone Number [formatted as (NNN) NNN-NNNN after entry]
  • City (30 characters; minimum of 3 characters)
  • State (drop-down list of US States, showing abbreviation and name, sorted alphabetically by Abbreviation, display format: AA – XXXXXXXX; Data source: http://www.50states.com/abbreviations.htm)
  • Zip Code (10 characters; minimum of 5 characters)

Acceptance Tests:

  1. When I enter all required contact information, then the system saves* the record.
  2. When I omit any required field, then the system informs me about the missing information without losing any of the data I have already entered into the fields on the screen.
  3. When I successfully enter and save a new lead, the system displays a success message containing the name and email of the last lead entered.
  4. When a new lead is saved, the entry screen is cleared and reset, ready for a new lead to be entered.

 

* You’ll note that the language of the second story and related tests has been made more limited. My experience with offshore teams suggests that requirements should be narrowed to prevent unwanted work. Whereas the co-located team would likely spin off a new “Route Sales Lead” story, a remote team that earns money by the hour might choose, without asking, to make the ‘routing’ part of the original story. You can argue that the original story be treated as an Epic and automatically split into smaller bites, but that is beyond the scope of this small article.

Recruiters – Get Agile!

sleepy-dog800

Above: Me after reading your exhausting list of job requirements.

Please. Enough of the the laundry list taken from the practice manual. These copy-and-paste job req’s are enough to make me ill. Wait, is that part of the test? Are you proving that I can stave off sleep long enough to read all 60 bullets and respond to your boilerplate ad?

KNOWLEDGE vs. SYNTAX

Look. The people you really want on your team are not spending their days memorizing the “numerous well documented patterns and techniques for filling in the intentional gaps left in the Scrum approach.”

That’s syntax. That’s like advertising for a programmer and saying, “familiar with many clever ways of creating a conditional loop.”

Agilists reach for tools and techniques when we need them – as the need arises. The whole idea of “maximizing the amount of work not done” is that you don’t waste time doing things you don’t need yet. That includes memorizing pages from a book just so you can impress an HR screener.

My copy of Agile Retrospectives lists eight ways to gather information. Do you think there are less than eight more available with a quick Google search? Your “patterns and techniques” bullet might was well say, “Working knowledge of Internet search engines.”

LONGEVITY vs. EFFECTIVENESS

Does your requirement of “at least two years” in the role really tell you anything? Wouldn’t you like to know if those two years were effective?

Why not skip that one and use this in the interview:

“Describe some of your favorite Retrospectives. What activities did your team enjoy and what experiments came out of them?”

If I crushed that question in an interview, would it matter that I had 6 months or 6 years of experience? Maybe I’m the kind of person who has run a tight continuous feedback loop for the last year and my team experiments resulted in a huge productivity boost, or reduced team churn, or created a leap in trust and transparency. On the other hand, maybe I’ve only led one Retrospective in the last year and it bombed. Your “two years” criteria tells you nothing about my effectiveness. Only about my ability to stay hired.

GET AGILE

How about this: Maximize the amount of bullets not fired so we can all get to the interview stage. Start thinking like an agilist instead of someone writing a Scrum book.

Think MVP: What are the minimum skills we need in this position? How would we prove that the candidate has them so we can get someone good instead of someone who can cram well before a test?

Conduct a job requirements Retrospective. What is the quality of the product (candidate) I’m shipping (hiring) as a result of the material presented?

Maybe you find yourself in Mark Twain’s situation:

“I didn’t have time to write a short letter, so I wrote a long one instead.”

I get it. We’re all busy. As I’m writing this, I’m choosing to delay the six things on my written to-do list.

But let’s not bullshit each other. We prioritize every day. We do what we think is important and defer the rest.

We also make judgments about others based on the effort we perceive from them. We regularly judge a product or service company by the responsiveness (or lack of) in their sales department. First impressions matter.

THE QUESTION

If your company can’t find the time to write a creative, enticing job description… why would we as candidates assume that you’ve taken the time to do other important things like articulate your mission, define a good strategy, staff appropriate to the demand, or create a healthy culture?

Photo credit: Kerry Lannert 

Stalled Stories

When I arrived at a startup software division, the story-writing process was virtually stalled. A young woman with a strong personality and backed by the authority of her executive father was vying for control with the more experienced Pharmacy Technician that was charged with supplying User Stories to the development team. The female tech, acting in the Product Owner role, liked the younger woman and even considered herself the junior’s mentor, but the tug-of-war against the stronger personality impeded progress.

As someone with significant project scar tissue, I was inserted as Sr. Business Analyst and was able to help them break the logjam. To the younger woman, I became the keeper of the product backlog and her story reviewer. She could submit detailed written stories of interest that I could include in the product backlog. To the more experienced tech, I became a sounding board for her more verbal approach to story writing. She wanted a partner to bounce ideas off of and someone to validate her own thinking before submitting a story in writing.

What made me effective in a situation where two others were stalled? I respected and agreed with both of them and refused to lock horns with either party. Instead, I offered gentle suggestions here and there, allowing each of them to write stories from their own perspective. I have learned that it is much easier to say ‘yes’ to feature requests than argue about them up front. Customers have limited budgets and limited time. In the end, it is these larger constraints that determine which features get included in a product. The most valuable features tend to bubble up in the list of priorities and get worked on. The least valuable often sink down and fade into oblivion. After all, a product backlog does not have to be empty when the project is done.