What is an Agile Business Analyst? How is the Role Different?

Many software development projects are moving rapidly to an Agile development approach:

  • That has dramatically impacted the role of a project manager in an Agile environment
  • Agile also has a significant impact on the role of a Business Analyst

In this article, we will explore “What is an Agile Business Analyst?” and “How is the role different?”.

What is an Agile Business Analyst?

Traditional Business Analyst Role

The traditional role of a Business Analyst is defined as follows:

“The business analyst’s primary objective is helping businesses implement technology solutions in a cost-effective way by determining the requirements of a project or program, and communicating them clearly to stakeholders, facilitators and partners.”
Business Analyst Job Description, Villanova Univ.

That’s the predominant role that has been played by Business Analysts for many years.  In some cases, the role has primarily focused on simply talking to users about their needs and writing requirements documents.

  • That has been a very documentation-intensive role
  • However, the real value-added that a Business Analyst should provide is in helping to define innovative solutions to business problems
  • It should not be limited to just simply creating requirements documents. 

In a traditional plan-driven environment, documentation often takes on a life of its own. In that environment,

  • It is easy to lose sight of the fact that the goal is to create business value and
  • Documentation is only a by-product

What Are the Skills Needed by a Business Analyst?

In an Agile environment a Business Analyst needs to provide value beyond simply writing requirements documents. The Business Analyst has to have an understanding of:

Knowlege AreaRequirement
Business Domain KnowledgeIn-depth knowledge of the Business Domain that they work in (finance, healthcare, manufacturing, or whatever else it might be). That means that the BA understands:
  • What the major business processes are,
  • The metrics that are important to the business, and
  • How to improve the processes from a business perspective
Process Improvement Tools and TechniquesUnderstand how to:
  • Identify and define opportunities for improvement
  • Use process improvement tools and techniques such as Six Sigma and others to analyze an existing business process, and
IT Solutions PerspectiveKnow how to translate understanding of the business process improvement needs into IT solution requirements to create effective and innovative business solutions
Project Process UnderstandingNeed to understand:
  • How an overall project development process works, and
  • How their role fits into that process so that they can work most effectively as a member of a development team

These fundamental skills have not changed over the years. A good Business Analyst should be strong in all of these areas.

What Is Wrong With the Traditional Business Analyst Role?

The problems with the Traditional Business Analyst role are essentially the same as a Traditional Project Management role.

Level of Uncertainty

Today’s environment typically has a much higher level of uncertainty associated with defining software solutions.  The traditional approach of documenting detailed requirements prior to the start of projects just doesn’t work well with high levels of uncertainty: 

  • A lot of time might be wasted trying to define detailed requirements prior to the start of the project
  • Many of those requirements might be based on speculation and assumptions, and
  • Those requirements might then go through an enormous amount of change as the project is in progress.

Emphasis on Creativity and Innovation

The emphasis in many projects is shifting:

  • In the past, the primary emphasis in many projects has been on planning and control
  • A key goal was to achieve predictability of project costs and schedules
  • Competitive pressures today have created a need to put more emphasis on creativity and innovation to maximize the business value of the solution

An over-emphasis on planning and control can destroy creativity and innovation:

  • Can you imagine trying to develop the next generation of a very innovative product like a new iPhone using a traditional, plan-driven approach?
  • It would be impossible to do that based on developing detailed requirements for the product upfront.

How Do Agile Requirements Work?

To understand the role of a Business Analyst in an Agile environment, we first need to understand how an Agile requirements process works:

  • There are a lot of misconceptions about Agile. Some people may think that there are no documented requirements
  • That is not the case. The approach for developing requirements in an Agile project should be directly related to the level of uncertainty in the project

High Levels of Uncertainty

In a project with a high level of uncertainty, it might be foolish to try to develop detailed requirements prior to the start of the project:

  • In that environment, the requirements might be limited to an overall vision and high-level requirements that the project must meet
  • More detailed requirements would be further elaborated as the project is in progress. That elaboration would be based heavily on direct feedback and inputs from the users

Lower Level of Uncertainty

If there is a lower level of uncertainty, the project might go further towards developing more defined requirements.

  • That might be particularly true if there is a need for some level of predictability of the project costs and schedule
  • However, an Agile environment would still emphasize some level of flexibility and adaptivity to maximize the business value of the solution as the project is in progress

Key Differences

There are several key differences in an Agile approach:

1. Less Emphasis on Documentation

Agile requirements are considerably simplified and are typically written in terms of “user stories”. 

  • A “user story” is a brief and very succinct definition of a business need. It does not provide any detail about how it will be implemented, 
  • A “user story” is considered to be a “placeholder for conversation”. Further definition of how it will be implemented will be determined based on direct, face-to-face communications with the users. That will take place as the user stories are being implemented.

2. Changes Are Encouraged

An Agile approach is designed around flexibility and adaptivity to maximize the value of the solution.  For that reason, changes to requirements as the project is in progress are encouraged.

3. Direct Communication

There is a lot more direct communication between the business users and the project team. 

  • First, there is a Product Owner who represents the business. The Product Owner directly participates in the project to provide overall business direction and priorities
  • Second, the developers on the project team are expected to communicate directly with the business users. That is essential to further elaborate and define requirements as the project is in progress

In this kind of environment,

  • The role of a Business Analyst should be more than just an intermediary to talk to the users and document requirements
  • That role would inhibit direct communications with the project team. It would probably also limit the flexibility and adaptivity that is so important to an Agile approach

So, What is an Agile Business Analyst?

So, What is an Agile Business Analyst?

  • The role of a Business Analyst in an Agile environment is not well-defined
  • On small, simple Agile projects there may not be a need for a Business Analyst role
  • That is frequently not the case on large, complex enterprise-level projects

In an Agile environment,

  • It might be assumed that the Product Owner plays the role that might normally be played by a Business Analyst. However, the Product Owner responsibility goes well beyond the role of a Business Analyst, and
  • It can be very difficult for a Product Owner to perform that role without some assistance on very large, complex projects

Ways to Provide More Value-Added

The value-added provided by a Business Analyst in an Agile environment needs to go beyond simply writing requirements documents.  Here are some potential ways that a BA can provide a higher level of value:

1. Process Improvement

Many times, simply automating a process “as-is” does not provide a sufficient level of value. 

  • Rather than simply documenting a process “as-is”,
  • A Business Analyst can provide a much higher level of value by finding innovative ways to improve an existing process to make it more efficient or more effective

2. Analyzing a Broadly-Defined Area

In large, complex projects:

  • Using functional decomposition can be essential to create a well-organized, value-driven framework
  • That helps to align the Product Backlog with the required business value
  • It also makes it easier to understanding the relationship of the stories and epics to each other and for satisfying overall business goals

3. Writing Individual Stories

A Business Analyst can provide value by writing user stories that are very clear and concise and easy-to-understand and implement by the development team. 

Writing effective user stories is a skill that is often taken for granted.

  • In good stories the “why” or the “so that” clause that expresses the business value the story is intended to provide is important
  • A good BA can provide that perspective that is difficult for a developer to provide.

4. Identifying Related User Stories and Epics

In a large complex project, there is value in grouping stories into themes and epics as necessary. That can be essential to understand the interrelationship and associated business process flows. 

  • The interrelationship of user stories and epics should be well-understood and
  • The implementation of stories across different functional areas may require some planning and coordination so that they are consistently implemented.
  • This overall framework can provide a mechanism for easily identifying any inconsistencies and/or missing functionality.

5. Integration With Related Projects

On large projects, there may also be a need to:

  • Integrate the needs of related projects as well as
  • Integrate the needs of a number of different stakeholders to produce an overall solution.

Overall Summary

The key point is that if a Business Analyst is involved at all in an Agile project, he/she should add value in some way.

  • He/she should not be just an intermediary between the development team and the business users and stakeholders
  • The role should not be limited to creating requirements documents

Additional Resources

You will find much more detail on this in my Online Agile Project Management Training.

What’s the Right Level of Detail in an Agile User Story?

Questions frequently come up about “What’s the Right Level of Detail to Put in an Agile User Story?” – I want to share some thoughts with you on that subject. There is no absolute right/wrong answer about how much detail a story should contain – the best answer is “it depends”.

Level of Detail in an Agile User Story
An intelligent elegant business person sitting at a desk and working with drawn empty text bubbles, boxes around him concept

Level of Detail in an Agile User Story – What Factors Effect the Level of Detail?

The level of detail in the story depends on a number of factors including:

  • The complexity and nature of the story itself
  • The level of interaction available from the Product Owner to explain what is required
  • Where the story is in the overall lifecycle – there are at least three levels of detail required depending on how you plan projects, releases, and sprints:
>
Project-level PlanningLeast detailed, suitable for very high-level project planning
Release-level PlanningMedium detail, enough detail to do story point estimates
Sprint-level PlanningMost detail, suitable for actually starting development and planning development tasks

Level of Detail in an Agile User Story – Some Recommended Guidelines

Here’s what I recommend as some guidelines:

Err on the Side of Less Detail

It is always best to err on the side of less detail rather than more detail as a starting point – Agile has a concept of “Just Barely Good Enough” which means you put a sufficient level of effort into the task to accomplish what is needed and nothing more – anything more than that is waste

Use Top-down Functional Decomposition

Use a top-down, functional decomposition approach to start at the top-level to identify epics and story titles only. Once that is done and approved, write the actual stories, but only to the level of detail required progressively elaborate the level of detail in stories:

  • Rely on the developers and others on the team (QA) to tell you when the story is good enough:
    • A lot of collaboration and face-to-face communication is essential
    • We need to get away from the Waterfall approach where a BA writes detailed requirements (stories) and then hands those requirements off to developers

Overall Summary

Again, the key thing I want to emphasize is that there is no right/wrong answer about how much detail a story should contain.

  • Some general guidelines and models can be developed to guide the effort, but
  • The real test of whether a story is well-written or not is based on feedback from the people who have to use the information in the story for whatever purpose it is intended for (estimation or development)

Additional Resources

You will find much more detail on this in my Online Agile Project Management Training.

Agile Team Performance – Lessons Learned from Sports

There are a lot of misconceptions about Agile teams performance. Here are a few examples:

  • Is Agile Really a Team of Peers?
  • Is Specialization Inconsistent with Agile Teamwork?
  • Is Individual Accountability Inconsistent with Agile?

We can learn a lot from team sports that can be applied to Agile team performance to overcome these misconceptions.

Agile Team Performance
A rugby scrum pushes against each other

Misconceptions About Agile Teams

There are a number of misconceptions about Agile teams. Many people have the view that an ideal Agile team is

  • A team of peers where there is no specialization among people on the team,
  • Everyone on the team is capable of performing any role, and
  • Everyone on the team is also responsible for everything.

That’s a very idealistic view and may not be the best way for Agile teams to work. We will discuss each of these misconceptions in the following sections.

Is Agile Really a Team of Peers?

Agile is not necessarily a team of all peers but there is no formal hierarchy. For example, it Is not inconsistent with Agile for a more senior-level Tech Lead to provide coaching and mentoring to other more junior-level developers.

My experience in the real world is that you don’t often find teams who are all peers

  • It may not be practical or cost-effective for a company to staff a development team with all senior-level people who are all self-sufficient
  • It may not be effective to have a team of all junior-level people with no one who is capable of providing leadership to the team

The key thing is that you can have people at multiple levels of proficiency on a team without creating a formalized hierarchical structure that inhibits individual productivity and initiative

Is Specialization Inconsistent with Agile Teamwork?

Is it inconsistent with Agile for individual people on the team to have defined roles like QA testing and does that limit the ability of the team to be cohesive? As an example, think of an American football team – each player has a role that he specializes in and is good at that role. An American football team probably wouldn’t be very good if there was no specialization and everyone did a little bit of everything.

  • The center might be a 300 pound gorilla who is very good at blocking and tackling, but he probably would not be very good at throwing touchdown passes
  • Imagine the 180 pound quarterback attempting to play on the front line and blocking and imagine the 300+ pound center attempting to play the role of the nimble quarterback throwing passes

Specialization on a team doesn’t preclude developing high-performance teams with very cohesive teamwork. Having someone on a team who is skilled in QA testing and is specialized in playing that role is a lot different than having a separate QA group outside of the development team who specializes in QA testing.

Is Individual Accountability Inconsistent with Agile?

Some people seem to think that having well-defined individual roles and individual accountability is inconsistent with having overall team accountability – shouldn’t everyone on the team be responsible for everything?

Think of a football team again – everyone on the team, as a whole, is responsible for winning; however, what if everyone on the team:

  • Just ran around without defined roles that they were responsible for?
  • Was trying to figure out what to do without defined plays to get the ball across the finish line?

Teams where “everyone is responsible for everything” and there is no individual accountability for anything are not likely to be very effective. That kind of team wouldn’t be very likely to be a very high-performance, winning team.

Overall Summary

There are many misconceptions about Agile teams. There are a lot of lessons learned from sports that can be applied to Agile teams to help overcome those misconceptions.

Additional Resources

This is only a very brief, high-level overview of the misconceptions related to Agile teams. If you want to learn much more detailed information, check out my Online Agile Project Management Training Courses. The first course is free!