Skip to main content

User Stories: you're not Agile without them

Failure to effectively transition to Agile development is often based on a fundamental failure to understand what a User Story is.

Allow me to explain.

The most important aspect of a User Story is that it's an independently *schedulable* unit of requirement (feature). The key to achieving the "independently schedulable" characteristic of a user story is that you express it in terms of how a "user" would use it. This leads you to a unit of functionality that's implemented end-to-end (UI to backend) that a user can actually interact with.

Not surprisingly, because of the focus on how a user would think about a feature, a user stories are highly readable - and could very well be written by the users themselves. However, the other important and less obvious aspect of a User Story is the emphasis on communication with the end-user and getting confirmation on the acceptance criteria.

Describing all the requirements as User Stories for a decent sized product is rigorous, intensive work, because of their granularity. It also shifts the responsibility - for making sure that the product does what it's supposed to - into the hands of the Product Owner (a.k.a. Product Manager). In other words, a user story forces you to acknowledge that the main responsibility for most bugs lies not with the QA, not with the developers, but the process of expressing requirements (by the Product Manager) in units of work that can be independently implemented (by the Developers) and exhaustively verified by the QA team.

I strongly recommend the following two articles by Mike Cohn for more on User Stories:

1. Advantages of User Stories for Requirements

2. Advantages of the “As a user, I want” user story template

Comments

Popular posts from this blog

Splitting User Stories vs. Rally's "split" feature (that has nothing to do with it!)

Agile tool Rally has a "split" feature it recommends to handle "unfinished work" in a Scrum Sprint:

Manage Unfinished Work - Split user stories (new link)

Below are my observations on the "Split" feature in Rally (followed by a few excellent articles on Splitting User Stories):
This "split" feature in Rally has numerous problems: 1. Nothing to do with Splitting User Stories It has nothing to do with "Splitting a User Story" which is an advanced but fairly well-understood field in Agile, and a tool for Product Managers to use in one of the two scenarios: The Product Manager does it before an Iteration commences (i.e. during backlog creation or release planning) to create User Stories by business value that are right-sized, i.e. they can be comfortably implemented inside an iteration; The Product Manager does it in Iteration Planning or in the middle of an Iteration to reduce scope by removing/simplifying acceptance criteria, in response to t…

Agile Entrepreneurs Manifesto

The Agile Manifesto defines the 4 core Values that define "Agile":  "Individuals and interactions", "Working software", "Customer collaboration", and "Responding to change" As I applied Agile requirements (user stories), engineering (XP), and process & project management (Scrum & Kanban) to my startups (RideStation, and Agile Entrepreneurs) starting from 2005 to now in 2018, I learned numerous lessons and shared them with my fellow entrepreneurs for the next dozen years.
These lessons I have incorporated by "extending" the Agile Manifesto with two additional values pertaining to Product (5th) and Startup/Business (6th) - that the services consultants who wrote it in 2001 probably didn't have to contend with as most (all?) of them were not founders of product startups: 
"User Validation, Customer Traction, and Business Milestones"
Agile Entrepreneurs Manifesto User & Customer ACTIVITIES over Product Feature…

Your Conscience is Your Compiler!

Your Conscience is Your Compiler! The following is the exact transcript of an IM chat about "Conscience" I had with a friend:

Friend: I follow my instincts.

Me: Animals follow instincts - humans follow their conscience. It's the only God I know. Your conscience always tells you what's right or wrong.

Friend: No murali, I disagree. How do you define what's right?

Me: Your conscience tells you- always. If you do something you believe is wrong, you'll feel guilty. If you don't believe it's wrong, you won't feel guilty

Friend: Yeah, but why do you do things?

Me: Because we are human.

Friend: No, it's because we want to survive.

Me: It takes a lot of character to always obey your conscience, a lot of strength.We survive either way. But if you and your conscience are on good terms, you have unshakeable self-belief.

Friend: Yeah

Me: And you'll care about little things like pride, self-respect, principles, character, reputation...because they are…