Sunday, November 18, 2012

What is the role of a Business Analyst in Scrum?

When I teach a CSM class, my goal is that my participants go home delighted (and of course that they learn about Scrum, that they are motivated to do Scrum, and can pass the online CSM exam). So after every class, I ask for feedback, in particular what could I do to get a better score. And for the next class, I strive to implement or address two or three of the points raised by my participants.

One issue that was raised was unanswered questions. It is annoying to ask questions and not get answers! Time is limited, so it is not always possible to answer all questions, so I thought, why not answer them on my blog? So here goes, first question:

What is the role of a Business Analyst in Scrum?

This question is a challenge because Scrum doesn't answer this question! Scrum is a simple, team-based framework for solving complex problems. The roles and ceremonies in Scrum are designed to ensure that inspect and adapt can occur regularly with complete and correct information. Scrum does not tell you how to solve the problem, nor does it tell what skills are needed to solve a particular problem. It just says that you need all the necessary skills in the Development Team to get from a Product Backlog Item to a finished Increment of functionality within the duration of one Sprint.

The Business Analyst as Product Owner

Traditionally, the business analyst serves as an interface between the customer and developer, helping the developer to understand the customer's requirements. The responsibility for this function is vested in the Product Owner, so one alternative is for the business analyst to take on the this role. This probably represents a substantial promotion for most business analysts, because the Product Owner is responsible for the return on investment of the project, a function which has traditionally been held by a Steering Committee or other oversight function. A danger of this approach is delegate the title, without delegating the necessary decision making authority.

The Business Analyst as part of the Development Team

A second approach is for the business analyst to be part of the Development Team. Scrum explicitly enables the Product Owner to ask the team for help creating and refining the Product Backlog, so it would be logical to have business analysis skills in the team. The challenge here is that Scrum does not recognize job titles or sub-teams. While a business analyst will mostly do analysis, she will be expected to help with development, testing or documentation, as needed. The team solves the problem as a team, and 'There is no analysis work to be done, so I'm going to twiddle my thumbs' is hardly a good example of team work.

The Business Analyst as part of a Product Owner Team

A third approach (one I have seen quite a bit in the wild) is for the Product Owner to ask for help defining and refining the Product Backlog, and getting it in the form of an assistant or two, usually someone with substantial domain knowledge. So these people help with the creation and refinement of the Product Backlog, while the prioritizing and decision making authority stays with the Product Owner.

How the work of the Business Analyst changes

Regardless of where the business analyst is integrated into the Scrum Team, the skills of the business analyst remain important to the success of the project. How the business analysts works will change subtly. If before she was mostly an author, writing and explaining spec, in Scrum she is more of a communicator. The difference is due to how the Product Backlog is converted into functionality.

The Product Backlog, the list of features to be implemented, can be thought of as a list of reminders to have a conversation. That conversation is between the Development Team and those who understand the customer's or users' needs. As implementation nears, that conversation will get more detailed. First big entries will be replaced with smaller ones, then entries will be enriched with acceptance criteria, implementation considerations, GUI sketches, whatever... So rather than attempting to communicate in writing and in advance what is desired, the business analyst will be discussing with the rest of the team what is to be implemented and protocoling the decisions. This discussion will take place shortly before the feature is to be implemented, so the discussion is fresh in everyone's mind when the feature is actually implemented.

In other words, detailing and specifying features still takes place, and the skills of the business analyst are still needed. The requirements and acceptance criteria are delivered incrementally as a result of discussion. The skills are the same, the needs is still there, but the the deliverables and how they are created have changed slightly.




2 comments:

Derek Neighbors said...

Scrum absolutely answers this question. It doesn't have a role for "Business Analysts". So it's response to "what should I do with business analysts in scrum?" is easy. Get rid of them. It just doesn't tell you "how".

Peter said...

Hi Derek,

If I come to you with a great new idea, sell you on it, and then say, "oh, BTW, this means you're going to get fired." How are you going to respond? To what extent are you going to support the great new idea?

I think a lot of the resistance to Scrum can be attributed to people (like business analysts, but also managers) who are afraid of the consequences of Scrum.

Scrum does not eliminate any skills needed to create products. It does eliminate a lot of paperwork and shortens the feedback cycles dramatically. So it follows that a) the skills of the business analyst will still be needed, b) people with those skill sets will still be needed, and c) some change may be necessary in how those skills.

Over time, things will change, and maybe the ratio of business analysts to developers will change. But I think that's OK, because it will happen organically and the people concerned will find other things to do.

I've seen this happen a number of times, especially with managers.

Cheers,
Peter