20 Quotes about BDD and Agile Analysis

Kickstart Academy, a training organization where you get access to experts started a podcast series and I was privileged enough to be involved recently. Watch (click the image above or watch on Youtube) as Chris Matts interviews Kent McDonald, Jake Calabrese, and myself about the use and misuse of Given-When-Then, Behavior Driven Development (BDD), and business analysis in agile.

 

There were some great quotes (tweetable moments) and here are 20 of my favorite:

“Use Given-When-Then after the conversation, not during”

“You mean the special, princess, unicorn BA”

“BDD is here to make Eric Evans’ dream — everyone on the team understanding the domain — come to life”

“There are no BAs in agile … is an agile fairytale”

“The tools have made [BDD] into a developer focused thing, and not an ‘understanding’ tool”

“I have never seen a method for getting a BA from brand new or mediocre to competent or very good faster than BDD”

“BDD will help you [BA] do your job better!”

“The people you call ‘old-school’ are your organizations ‘tradition holders'”

“BAs are risk managers”

“Alistair Cockburn got something right when he said analysts should be called Value Managers”

“All the successful people do different things”

“The BA needs to shift from focusing on features and what to develop to what not to develop, maximizing what’s not done”

“I always start with the final THEN and then ask them what gets us to THEN”

“It’s an interview of what you’re doing”

“Can you think of an example where this outcome doesn’t happen? Can you think of a different outcome to this situation?” hat tip to @lunivore

“Where do you engage BDD in the [development] process?” “As soon as possible. And as late as possible.”

“Where do you engage BDD in the [development] process?” “Always. I don’t even understand how you can ask the question.”

“If the system’s not behaving, what is it doing?”

“I think, on the BA side, context is even more significant than it is on the software side, the technical side”

“The tools that are most effective are fairly simple, but have enough subtlety and nuance that they can be very powerful”

 

Here what you need to find and follow this great group:

 

If you are looking for more on Behavior Driven Development, then please check out my BDD Resource Page.

Should the Product Owner test everything?

A scrum master I’ve coached recently sent me this question and I wanted to share my answer. Would you have answered the same way? What did I miss? What do you ask (demand?) from your product owner?

 

Question: Hi, Jeffrey,

Quick question for you: Does Product Owner (PO) approval need to be on a per story basis, per feature basis, or both?

We are facing a situation where some of the system environments were not in place and completed work has remained in Dev until today. We received today that the Test environment is ready. The stage environment is due to be completed at some point in the near future. Meanwhile, our team has modified the team’s “Definition of Done” so that completion criteria are more aligned with our capabilities within the framework of system environments being incomplete. Hence, the above question.

Signed,
The Client

 

Answer: Hello, Client.

First, it makes sense the PO is included in the conversation around “Definition of Done.” I’m not sure based on the question if they are in the loop, or not. I say this because the team is building and meeting expectations for the PO. It’s the polite thing to do to notify them and explain the new definition. In some cases, it may be more appropriate to ask their permission to change rather than simply notify them of the change.

Second, this change makes sense to me; you didn’t have the right environments previously and now you do. It makes sense the definition should change to accompany the environment and how the team is working.

Third, what’s happened to date and how much trust is there between the PO and team? If the PO has already tested all the existing stories, then they may not want to do more than audit the existing stories in the new environment(s). If the PO has trust in the team and testers, they many never do more than audit the stories. If the PO doesn’t have time, they may never get to more than auditing stories. In the end, it’s a great big “it depends” kind of answer.

What do I want from the PO? I want more involvement, as much as I can get. I want the PO to test every story as it’s finished and at least audit functionality and features as they are delivered. I don’t often get it, but it’s my request.

How do I split these 40 stories?

A student from last week’s Agile Bootcamp Class taught at Harvard University (yes, that Harvard) asks,

 

Question: I have a project that involves 3 different users who want approximately 25 new fields on an application. Most of these fields are view only with the exception of 4-5 fields which allows input changes. However, user #1 wants to see all 25 fields, user #2 wants to see only 10 of the same fields, and user #3 wants to see 5 of the same fields. How should I approach writing these stories? Would I write a story for each user and each field – which could potentially be 40 stories? Or should I just combine the fields that all 3 users would want to view? For example, one field might be “name”. My user story might say“As a user #1, user #2, user #3, I want to see all names of employees eligible for an annual salary increase so that I can view all eligible employees.”

 

Answer: This sounds like an interesting set-up. My answers, of course, will be a bit general because I don’t know all the specifics. Also, I will make more stories if the developers are unfamiliar with the systems / tables / data, and probably fewer stories if the team knows quite a bit about the different systems. With caveats out of the way, let’s dig in! First, 40 stories? Yuck. Too many. Second, because you have 3 different users, I would start with stories for satisfying all of them (unless there is a reason to focus on just one). My presumption is doing this adds value the quickest, which is my guiding answer for how to break up stories.

  1. As user #3, I want to view < information from 1 field> so I can do my job.
  2. As user #3, I want to see < more information > so I can . . . .
  3. As user #2, I want to view < even more information > so I can . . . .
  4. As user #1, I want to see < all the information > so I can . . . .

The point of #1 is to prove we can display information, while the other stories add more details for the same and additional users. None of these is about editing the data. Depending on what keeps the users and developers happiest, there are a couple of options. I can insert story 1A; Edit the first field. After this I would insert more edit stories, probably grouped like the last 3 stories above, as appropriate. A different approach might be to insert the edit stories after the last story. Again, where is the value?

A couple side notes:

  • It doesn’t make much difference if you use “see” or “view,” the goal is understanding, not the worlds best grammar.
  • I would be remiss if I didn’t mention the value statement in your user story is a bit weak. What is the specific reason to view eligible employees; the actual awarding of salary increases, a validation check, a fascination with other people’s salary, something else entirely?

Analysis In the Spotlight

It’s is with great pleasure that I announce Business Analysis is getting some official attention from both the Agile and Scrum communities! The first set of attention on us comes from the Agile Alliance . . . .

 

During this year’s Agile 2013 conference I talked with many great business analysts and product owners (including co-presenters Inger Dickson and Chris Matts, as well as Kent McDonald, Jake Calabrese, Ellen Gottesdiener, “Kupe” Kupersmith, and Leslie Morse). Toward the end of the conference I remember telling Kent and Kupe we should “take over” the upcoming BBCCon. (The Building Business Capabilities conference is the primary meeting for IIBA, Business Rules, and has tracks for Biz Architecture too!)

Agile Open Jam poster for BBC ConferenceMy simple idea was to run a conference within a conference. I don’t remember drinking during this discussion, but it certainly had all the bluster of a late-night, never-gonna-happen, kind of conversation. For those who don’t know, I am also known to push those conversations into the waking hours. So much so, I generated a list of topics we could share within our “sub-conference.”

As we all know, ideas are cheap. It takes execution to make something great. That’s where Kent McDonald shines. He took our conversation (I do not recall if I ever showed him my notes) and made it real with a proposal to form an official sub-group within the Agile Alliance dedicated to Analysis and Product Management. Further, he received official blessing, permission, and funding for us to share our knowledge at BBC and upcoming events.

Here is the official announcement:

New Agile Alliance Program

Analysis and Product Management in Agile

The Agile Alliance board recently approved a new program, Analysis and Product Management in Agile, with the purpose of providing a way for practitioners in the business analysis and product management communities to share stories, questions, and puzzles about using those skills in an agile setting and to share ideas between communities. The program Chair is Kent McDonald.

 

(Un)conference in a Conference
We’re pleased to announce that the first activity of this program is to facilitate an “(un)conference in a conference” at the Building Business Capability (BBC) conference where attendees can take part in conversations about the intersection of business analysis, business process, and business rules with agile principles and techniques.

 

The members of the Analysis and Product Management in Agile program will curate the outcomes of the discussions and make them available to Agile Alliance members on our website.

 

The Building Business Capability Conference is being held at the Mandalay Bay Resort & Casino in Las Vegas NV November 11 – 15, 2013.  It is the only conference that combines insight into Business Analysis, Business Architecture, Business Process, Business Strategy & Transformation and Business Rules & Decisions to facilitate creating the agile enterprise.  The conference is filling up quickly but registration is still available on the BBC Conference Website: http://www.buildingbusinesscapability.com/

 

We’d like to thank the International Institute of Business Analysis (IIBA) and the organizers of the Building Business Capability Conference for helping us put together a means for members of the analysis, business rules, and business process communities come together to discuss agile approaches.

Agile Alliance Newsletter, Oct 23, 2013

Special kudos go out to Kent for organizing this program and Ellen, who did most of the communication and coordination between the program and BBC. The (Un)conference will run in an open area outside the sessions and keynote Wednesday through Friday. I am one of the hosts, along with Kent, Ellen, Jake, and Mary Gorman.

If you want more information, here are the write-ups by Kent, Jake, and Ellen. Also, Yamo recorded a special podcast with Ellen and Mary. I joined for the last few minutes (at the 30:05 mark) to discuss the Open Jam.

 

Shifting focus to the other good news . . .

Apparently, the Scrum Alliance is also on board with our skill set, too! The next Global Scrum Gathering has a track dedicated to Scrum Product Owners (link to their call for Papers). I’m told this is the first time this has happened, previous conferences pushed their CSPOs into a track with other topics.

 

Note: I am a member of all 3 organizations discussed; IIBA, Agile Alliance, and Scrum Alliance.

TinyStories

How to Improve Your Requirements with Tiny Stories

I presented How to Improve Your Requirements with Tiny Stories at ProjectSummit & BusinessAnalystWorld held in Boston on October 21-22, 2013.

I firmly believe using the Given – When – Then of Behavior Driven Development (BDD) is relevant for business analysts. This talk is probably my best presentation of the material in the last few years.

You are welcome to view the accompanying presentation below. I sill share the link for the accompanying video upon request (and after I upload it to YouTube).

https://speakerdeck.com/jeffreygoodreq/how-to-improve-your-requirements-with-tiny-stories

Skills for Success: Professional Development Day @ IIBA Minn / St. Paul

I will be giving a new version of my talk about Behavior Based Requirements at this year’s Professional Development Day in Minneapolis / St. Paul. I am excited because I have reworked the entire presentation to both show my passion and give attendees a chance to practice using the Given-When-Then requirements format.

The conference title is Skills for Success: Evolving as a Business Analyst and my presentation is “How to Use Behavior Based Requirements to Build Understanding & Save Your Project.”

The event is on Monday, April 15 at the Earle Brown Heritage Center outside of Minneapolis (registration link). This is one of the premiere PDD events in North America and I am honored to be speaking. If you are in the area, please come, engage, and learn from the outstanding speaker line-up and local BA community.

 

Post conference update: Here is the published version of my slides:

Mastering & Improving …

I am honored to be a guest contributor to ThoughtWorks Studios’ blog this week. This post coalesces some of my thinking about the effort Business Analysts should be putting forth to grow as individuals and as a profession. Please go check out and comment on Mastering and Continuously Improving Stories with Shu Ha Ri.

Image of post on ThoughtWorks Studios website

It was different writing a guest post for ThoughtWorks. I often ask for feedback on my posts before publishing them, but this was much closer to having an editor. The suggestions were deeper and more serious than I usually get from friends and colleagues. I think the post turned out better for it. Also, they wrote the title and suggested the calligraphy image. I suppose I could have asked or been insistent about changing these (Kristi doesn’t understand why this picture was chosen), but I was much more honored to be asked for this than I am concerned about the title and image.

I want a conversation about what it takes to learn and master our craft, so please do comment on the post!