LET’S PLAY AM I BEHAVIORAL OR NOT?
You remember “Am I Hot or Not?” where you browse through images and decide what’s hot? In this case the image gallery below contains BDD scenarios. At the image’s left corner is a set of stars. Vote by giving 5 stars to stories that are behavioral or 1 star to those that are effectively technical specs in a BDD format. (Stars beneath the image’s lower right corner.) Then click “Next”. Later I’ll give you the Results. If you want to discuss what you see or learn, leave your contact info in the comments or contact me with your question.
Let’s see how the public rates these scenarios on average versus what coach Lance rates.
- Returning Merchandise: Coach 6 Public 3.3 : This scenario doesn’t mention user interface, DB tables, GUI elements or system elements. It’s 100% behavioral! If you implement this with steam technology, this test would pass.
- Making Pizza: Coach 3 Public 3.1 : This scenario does pretty good until mentioning “topping count”. When was the last time a customer at Dominos Pizza said, “Hey, this topping count hasn’t been incremented!” This isn’t the language of the user domain.
- Automatic Bank Teller Machine: Coach 6 Public 3.6 : All the words in the BDD are words that the customer would use when describing “living” through the experience of using an ATM. Notice there isn’t mention of what kind of GUI is in place. It could be a floating in the air, 3D holographic voxel system. Or implemented using steam punk technology.
- Definition of a Stack: Coach *depends on who the end user is, could be 6 or it could be 1* Public 2.9 : Assuming the users of this system are people who understand algorithms such as other developers (and not say, my mom), then this is a great scenario. If the users of the system are like my mom (she’s college educated in Nursing), then the language isn’t correct for how such a professional would describe a stake of doctor’s orders in her inbox.
- iTunes Plugin try 1: Coach 1 Public 2.8 : Terms like “dialog,” “user,” “clicks <widget>” should never be in a BDD scenario. This is an imperative specification. Maybe what it describes is poor UI design flow. Maybe the team could do better or worse. Either way, they should work out different solution sets with their PO/SMEs (subject matter experts such as UX designers etc.). Finally, the user doesn’t really care about this as they want the end behavior.
- iTunes Plugin try 2: Coach 6 Public 3 : Words like “playlist,” “Never Played,” are being used as the domain specific language (DSL) which any iTunes user would actually use. This behavior could be implemented with steam, magic, iOS, or X Windows.
WHAT DO YOU THINK?
If you’ve questions about some of the BDD scenarios or disagreements, comment below or contact coach Lance in some other way and he’ll get back to you. Is your team doing BDD? Share this site with your team.