Home » Blog

Business analysis and SCRUM development

Over the past few years, the rise in popularity of SCRUM has raised many questions as to how agile works in practice.  One of the recurring questions has been: is there a place for the business analyst within the ADM environment?

In my view, the answer is unreservedly and unquestionably ‘yes’.

So how does SCRUM address stakeholder requirements gathering?  Well, SCRUM has a well-defined role called the Product Owner.  This person is responsible for making key decisions and for representing the needs of the business with respect to the project.  It is Product Owner that is thought by some to replace the role of the business analyst.

So, given an agile project delivery model, couldn’t the Product Owner simply speak directly to the developers, cutting out the BA middleman? This is a valid interpretation of agile delivery and I don’t doubt that this happens all the time.

Picture the situation where a small project is being developed in a small company, where ‘the business’ is well represented by one person with a clear vision, and the developer is both business aware and also a great communicator.

Indeed, this is standard model for millions of garage-built systems: one guy with a business idea, one guy with the technical know-how; the ultimate – and perhaps original – agile project. And it remains the model larger agile projects seek to emulate.

Of course, that is not the situation we typically find ourselves in. We are faced with large companies with multiple stakeholders and complex stakeholder relationships, just as we are when using any other delivery approach.

The role of Product Owner is typically filled by one of two people: either the project Sponsor, or by an internal (client) business analyst. Let‘s have a look the efficacy of each.

The Project Sponsor as the Product Owner

The business is often represented by the man – or woman – with the money; the project sponsor. This is the person that has the ultimate decision making power, and in a large organisation, is usually about as far away from the technology as it is possible to be. Their idea of ‘what they want’ is more conceptual than actual. ‘I want better KPI reporting’. ‘I want better efficiency’. They are seeking business benefits, not function points; and rightly so. Their key strength is in their authority to make decisions. But their high-level nature of their position means that they are weak in three key areas:

- Breadth – they know their own requirements, but seldom have the time to poll all other areas of the business to understand requirements.

- Depth – they are able to see the big picture and make the major, guiding decisions, but they don’t want to have to understand the details of address formatting for data migration

- Time – they have generally very busy people who are time poor, and a project needs time from its Product Owner;

This leaves plenty of work for an analyst! But what if the Product Owner is an analyst? Doesn’t that solve the problem?

Product Owner capabilties

Figure 1. Neither the Sponsor nor an Internal BA are ideal as Product owner

An internal BA as the Product Owner

Internal analysts often the Product Owner role, and they do have the time to cover the breadth and depth of requirements. What they don’t have is much in the way of decision-making authority, and unfortunately, decision making is one of the most important aspects of the Product Owner’s role.

It’s also important to know that there are many flavours of business analyst, from business-focused through to technical. You may be lucky and get a broadly skilled analyst who can take on both the business and technical aspects of the role, but if your BA/PO is of towards the business end of the scale, you are still not going to get specification-level detail out of them. And generally, specification level is not required or expected out of a Product Owner, so a technical BA is even less likely to fill this role. But that level is still required somewhere in the project team.

Developers filling the breach

On the other side of the communication coin, why don’t the programmers themselves undertake the analyst work? Again, they’d be working directly with the stakeholders, and thereby also cut out the middleman. And again, logically, they could.

But on a sizable project there is the need to break down tasks into their component tasks, increasing the call for specialization, and the roles of analyst and developer were split out some time ago for a reason: people who make good developers do not necessarily make good analysts, and the reverse is also true.

A developer could run some requirements workshops, but they would probably be better off setting up the development environments, or participating in the workshop rather than facilitating it.

Still a role for me Analysts

So, despite the temptation to think that the Project Owner or developer can fulfill the analyst role, in practice it rarely happens this way. Developers need to code and write unit tests. And the Product Owner’s main job is to make key business decisions with respect to the system. There is still a need for someone to talk to the business, help guide them to a solution, and then to relay this in the clearest possible way to the rest of the team.  And that person is a skilled analyst, with their varied grab-bag of skills and tools.


Comments (16)

  • Sounds like you’re trying to do agile but not really – 1/2 way there but not. A typical situation ;-)

    Oh, and this is what a colleague of yours said about BA/agile a while ago on a posting I made: “Agile + Business Analysts, A Marriage Made In Heaven Or Head Straight To The Divorce Courts?”

  • Tim Wright says:

    Hi Mike, here’s an interesting thought:

    In a large organisation, someone is going to have to gather information from lots of different parts of the organisation in order to be able to determine the user stories, prioritize the user stories, and have the conversation that is promised by the stories. Weather or not you call that person a Business Analyst, they are performing Business Analysis type activities.

    Also, I suspect it is agile (although it might not be scrum :) . Agile is these four things:
    * Individuals and interactions over processes and tools
    * Working software over comprehensive documentation
    * Customer collaboration over contract negotiation
    * Responding to change over following a plan
    (http://agilemanifesto.org)

    There’s nothing in there that precludes having someone performing business-analysis type activities. As said in the article:

    There is still a need for someone to talk to the business, help guide them to a solution, and then to relay this in the clearest possible way to the rest of the team. And that person is a skilled analyst, with their varied grab-bag of skills and tools.

    (although I’d say “that person can be a skilled analysis” rather than “is”)

    Waddayathink?

  • Carolyn Sanders says:

    I had this very question in a client workshop yesterday! I see this as one of the areas where “idealised Agile” diverges from “pragmatic Agile”.

    In an ideal world, the business owners and the technical developers will both have the sort of analytical skills and general experience to be able to talk directly with each other *efficently and effectively* and nut out all the questions and answers.

    In a pragmatic world, as Rochelle and Tim both said, business owners frequently have lots of other skills but not necessarily requirements-analysis, and developers have lots of skills and not necessarily requirements-analysis.

    I could even poke my neck out and say, Mike, that you’re devaluing analysis as a skill, by saying it can be done by just anyone. But I might just be being controversial to get a response :-)

  • Shane Hastie says:

    I wrote an article on the same topic for InfoQ
    http://www.infoq.com/articles/agile-business-analyst-role

    I see no contradiction between Agile and business analysis.

  • David Morris says:

    In all these discussions, we should also be careful of appearing to belittle the role of developer too.

    Developers are ideally IT professionals who can do more than just churn out code; originally referred to as analyst/programmers to help make that distinction; trained in all the good requirements elicitation techniques, structured analysis, process and data modelling, etc.

    Apart from exceptional cases, however, even when developers are multi-disciplined, the analytical muscles tend to get flexed primarily around deciding how to solve the problem, not selecting which problem to solve, or reaching behind the problem to understand the root cause. Sometimes developing a software product is not the answer. Sometimes the answer lies outside of the product owner’s purvue, so while their solution is to work around a problem, the best result for the organisation is often to get all stakeholders working together for a common solution.

    This is where the role of business analyst particularly adds value to an enterprise.

    BAs can ‘boldly go’; we can challenge an understanding of the status quo; we can help organisations to break out of silo working; and to implement business processes rather than run business functions. That’s our job.

    The best work by business analysts is done even before a project manager has been appointed; to work with senior stakeholders and product owners, to build business cases, and help prioritise and select the right projects to be done. In effective organisations, this is an ongoing activity, establishing an evolving roadmap, and helping ensure that the impact of the backlog is understood before a sprint starts.

    And of course, when a product owner is a busy manager, who has so much ‘business as usual’ that they cannot commit themselves full-time, it is the business analyst that steps in to fulfil the role as a delegated product owner.

    Indeed, many writers have gone on record, saying that a business analyst, with a reasonable understanding of the business, is a good fit for the role of product owner – Scot Ambler (Agile Modeling), Mike Cottmeyer (Agile Chronicles), and Laura Brandau (Bridging the Gap), Dean Leffingwell (Scaling Software Agility), etc.

  • Adriana Beal says:

    I think the most important point is not whether business owners or developers have requirement analysis and other business analysis skills, but that, as the article says,

    “despite the temptation to think that the Project Owner or developer can fulfill the analyst role, in practice it rarely happens this way. Developers need to code and write unit tests. And the Product Owner’s main job is to make key business decisions with respect to the system. (…)”.

    When a project owner or developer says to me that they can do the BA work, my first thought is, “yes, you may very well have the skills and knowledge to perform this work – you can’t convince me that you will be great at two roles at the same time, though”. Business analysis, at least for more complex projects, is a full time job, and too many organizations end up with projects that don’t meet business expectations largely because of a key person being spread too thin.

    By the way, I’ve worked with agile teams that were very grateful to have a dedicated business analyst in the project, and wouldn’t even think of removing the role or treating it as a dispensable middleperson.

    http://ba.2wtx.com

  • Andrew Bennett says:

    Great discussion, I’m definitely a “BA’s are pigs” in terms of the agile phrase that relates to this – in the nicest possible way of course!
    My thoughts are below. These are in the context of a project delivering business capability with some level of discovery still required – i.e. it’s not a rewrite of an existing system. Also I am an architect – I see things as models and constraints and stuff – forgive me.

    1) Business analysts that only capture requirements and document them provide little value. Requirements are generally not there to be ‘gathered’. Project objectives can (almost) be gathered, but not requirements. The statements, pictures, etc. from all those with input can be gathered, but the requirements (user stories and their acceptance criteria) that will be developed are the result of a good analyst abstracting and developing a mental model of the business that would best deliver that mess of stuff they have heard.

    2) This mental model is a deliverable that makes the final solution effective and efficient. This model is hard to document, which is not a bad thing, but it does mean you must ‘listen to the BA’ (people over process). It is not captured anywhere else, but working code and UI mock ups and user stories do infer it. And without it developers will still deliver a solution, and due to agile it will be a working solution that meets what the business asked for. But I will unreservedly guarantee that if you get a good BA to review that solution they will often identify a more effective solution or a solution that had a longer life span or was more amenable to expected change in the business.

    3) I am assuming really good developers here – people who are effective at turning concrete criteria into effective working code. They will focus their discussion on what they need to build right now. They will make sure you are happy with it, and they will turn it round so quickly that before you leave their desk they are asking you if this is what you wanted and you turn to gaze at a screen that has brought your statements to life. That’s what good developers are great at. If they also perform mental model abstraction across a wider scope they become less effective – I myself have experienced that. I’m sure there are those who can perform multiple roles but they will be context switching as they do it which means some loss of efficiency.

    4) Technical solutions are an abstraction of the ‘real’ and physical business with a whole bunch of technical constraints. They are complex. And not only that but the ‘real’ and physical business is, as noted before, not there to be ‘gathered’ – it’s in so many different unrelated repositories it’s not funny – documents, white boards, the minds of people some of whom are determined, others resigned, others structured, others emotive, some who tell a good story and others who are quiet but who really understand. So, take that mess and try to turn it into a complex constrained abstraction without going through an intermediate process involving business analysis and you will not produce an effective solution. Agile provides immense benefit – it makes sure the solution works and is what was asked for. That is more than half the battle. In cases where the solution is readily derivable from the source business then yes, dispense with the BA. For the other 90% of our projects….

    5) And it will get worse for us non-BA’s. As advances in technology and platform improve correspondingly the technical constraints reduce. Cloud computing means various things but one example is that the constraint of scalability is now more a business decision than a technical one. As these technical constraints drop off we will need less technical input (a long way off I agree!) and the role of the BA will become more evident. I don’t believe the BA role will ever disappear either – in terms of a business there will always be a need for people who can take a step back and model a new solution that encapsulates the innovative ideas, the resolutions to problems, etc, that other people come up with. And the reason for this is described in my world as things like ‘separation of concerns’ – an effective process is one that removes redundant dependencies between components so that each component can become more effective and efficient, and more adaptive to change. Business analysis is a separate component – hard to quantify but then so are many of the important things in life.

    6) So Rochelle – as long as you keep adding the ‘business analysis’ magic that is beyond merely gathering requirements, and as long as you adjust to agile (for one, only solidify the section of the model you need now and hold onto the rest lightly allowing regular modification to take place) like I am trying to do as an architect, then I think the case is really ‘will you be the only one left!’.

    7) My evidence:
    a) Just come off an agile project as the architect. This is unreservedly agile – 2 week sprints with review, demo and planning, user stories, story points, acceptance criteria, evolving framework and functionality with regular refactoring, unit tests (including UI), build and test on every check in, daily scrum, no wastage – don’t create a document unless we really have to, etc. etc. And the BA is good and the BA is regularly tweaking the developers’ input and the solution has remained effective and robust. The BA has this evolving picture of the whole thing that the rest of us don’t (well I try to). We have good developers, and testers, but I can see regular examples of our BA adjusting a discussion and avoiding wasted time or going ahead of the developers into unclear areas (which are also unclear to the client) and describing a business solution that is delivered just in time for the developers to start working on it with most of the ‘business logic and process’ nailed down. The developer still needs client input but it is far more effective when done with a business framework that both the developer and client can work to.

    b) I have been on traditional projects with ‘other’ BA’s. They also had very experienced developers. And yes, the lack of agile meant that a good solution was always going to be hard to achieve – but there are areas of those applications where some great developer solutions to a poorly analysed and modeled solution has meant we now have a pigs breakfast. There is no doubt in my mind that a good BA plus a weaker developer would have produced a much better solution. No argument. Heck, the business still argued that the solution they got was what they needed, but it is so dysfunctional it brings tears to my eyes. They complain when we go to cost the process of resolving it because the resolution really needs them and a good BA in the room (plus some architectural input, but no other technical input) – i.e. starting from scratch and that makes it expensive.

    c) BA’s who described the business issue and in the same breath stated what the technical solution should be. And analyst-developers who did the reverse – said here is the solution because the business issue was really xyz. The results have been poor in my experience. Separate the concerns, then discuss each bit – and if the developer wants to explore business options that’s great, and if the BA has some great technical input then bring it on. The discussion will evolve to a combined problem / solution discussion which is very powerful – but only if the initial issue has been well described first.

  • Ben Coop says:

    In my experience as a ScrumMaster on a few projects, I have had a BA in the team and found this role to be crucial, especially in the first few sprints, as this is when the critical Stakeholders’ view of Agile success or failure will be formed.

    The Product Owner, a senior business representative who understood “business” things and the BA immediately paired up to discuss and coordinate workshops that drilled down on the requirements per Product Backlog item.
    In some cases a face to face explanation of what was required of the development team sufficed, and in others short 2-3 page functional specifications were written e.g. complex business rules to implement field validations on the GUI. The Product Owner was involved in creation and review of these. They were light and cleverly interpreted from “business-speak” to “developer-speak” by our skilled BA. So not much difference here to a traditional approach.

    In addition (this is where I agree with Adriana about the need for parallel streams) in the application of Scrum we are always by definition time constrained. In the design/prototype sprint (Sprint 0) it is the developers who are under the most pressure to deliver. In a ground-up build, they would typically be performing the following activities all within a period of 2-3 weeks:

    • Building and configuring project environments
    • Establishing source control procedures
    • Configuring and testing the build server for frequent deployments
    • Configuring and testing the automated unit test framework
    • Trialing different architectures and technologies
    • Building the foundations of the code base that typically can’t be demonstrated
    • Writing some functional code for the prototype demonstration at the Sprint 0 review meeting
    • Proving the concept and ironing out defects

    The point is, that the developers are BUSY and if there is an expectation that the Sprint 1 build cycle will commence immediately following the Sprint 0 review and Sprint 1 planning meetings, then the requirements will need to be in a “ready-to-go” state. This can only be achieved if the BA and Product Owner (preferably with Test Analysts in observation) have done their work in parallel with the developers’ work bulleted above, during Sprint 0.

    As Scrum Master, I would be very reluctant to dispense with the BA role in any of my Scrum projects. When the pressure is on to deliver, expectations are high and time is tight, my BA continues to perform the traditional role as listener, communicator, interpreter, mentor, facilitator and documenter. It’s just that they are doing it all more efficiently, more collaboratively and more iteratively.

  • Rochelle Glover says:

    What a wealth of experience and understanding! Thank you all for taking the time to add your thoughts to the discussion in such a considered manner.

    @Tim Wright: Nice response; I think what you’re getting at here is that there is a role within Scrum delivery for someone with analytical skills, whoever that person is. Yes, it might be a developer or the Product Owner, but I maintain that these skills can be honed and that an analyst will make a better fist of it in the majority of occasions.

    @Shane: Thanks for the link to your excellent and detailed article lending your support to BAs in the agile environemnt.

    @David Morris: I particularly liked the way you drew a distinction bewteen developers, who are better equipped at ‘how to solve the problem’ versus the analyst, who establishes ‘which problem to solve’. It credits the analyst with sorting through, processing and adding value to the business inputs, as opposed to merely ‘gathering requirements’.

    @Andrew Bennett:
    I never thought I’d hear someone say ‘I think BAs are pigs’ and agree with it!:) I consider that a good BA will be not only right across the breadth of a project an all its nuances and issues, but they will also understand the full depth of these issues, business, logical and technical angles. It is the broad yet detailed understanding which means that the BA has a high degreee of involvement and therefore a lot at stake (steak? sorry, just had to), hence making them more of a pig than a chicken.

    @Ben Coop: Thanks for adding the weight of practical experience to the discussion. I think the point that BA’s undertake the role more efficiently than others is valid; after all, we might as well acknowledge the benefits that are gained specialisation.

    Comments from @Adriana and @Carolyn also very valid, thanks for your contributions.

    And @Mike, I hope that this discussion might soften your views of the value analysts bring to the Scrum table.

  • Adriana Beal says:

    I agree, a lot of insightful information here, that could only come from people *doing the work* as opposed to just talking theoretically about an ideal agile world ;-) .

  • Desiree Purvis says:

    OK, I’ll confess – I was the analyst advocating for the work of analysts to be considered of value to an agile project in Mike’s blog. I made the mistake of mentioning requirements elicitation and validation as valid pieces of work, when this isn’t JUST what BA’s do.

    The point I was trying to make was in the first paragraph he quoted: “A lot of the time we are the ones trying to make sure that everyone is on the same page with regards to meeting the needs of the project – do we understand what the client wants, does the client understand what they want, are the requirements clearly articulated, what is the cost benefit, are the developers developing just what is required (not too much/not too little), what is the actual problem that we are attempting to resolve, etc.”

    I’ll try to explain what I was trying to say in another way.

    In any project, the business owner/sponsor may have the vision but doesn’t always know what is possible. Maybe they have some wild crazy idea about implementing the latest i-Widget that they read about or saw on the telly – it’s the latest thang, we gotta have it. Maybe they are under pressure to fix a perceived problem in their area, push a product out to beat the market, or need to implement a change. Maybe they are an entrepreneur with a fantastic idea they want realised.

    Business analysis is about (funnily enough) analysing a business. We attempt to understand why a client is asking for something to be done, what value it adds to their business, and how it fits in the context of their business. We investigate such things as what impacts the client’s business internally/externally (e.g. policy, legislation, market trends), it’s strategic direction, and how it handles change. From there we look at what is the most appropriate solution, whether it’s an IT solution or not.

    If it is decided that an IT solution is appropriate, business analysts provide the development team with a holistic view of how their work will impact the business, and analysis around the appropriateness of the proposed solution within that context. Equally we act as advisers to the business owner where different solutions are being proposed and decisions on direction are needed, especially where decisions may impact delivery. We can do that because we’ve done all that other work first. In agile projects, this needs to happen in a timely manner. In sprint-driven development, this has to happen prior to the next sprint so that we all know what is happening next.

    I don’t care what type of project you are running; this perspective of the enterprise is needed regardless. The business owner isn’t always in a position to do this because they sometimes have a narrow perspective of their world – hey, they’ve got a business to run. Development teams don’t have time where their attention is focused tightly on designing and delivering working code (like on Agile projects).

    For example: I was a BA on a large product development project, of which a small but critical component was a new software application. The project overall was run as a waterfall, with definitive scope, gateways/milestones to assess progress, etc. As this was meeting a “time-to-market” strategic imperative, project deadlines were the most important factor. And we couldn’t avoid a lot of the project processes because that was the way the company ran their projects. To mitigate the risk of processes holding up development the Project Board agreed to let the development team use RAD to get working code out quickly. A preliminary functional specification document was written by the BA’s in conjunction with the Product Owner. This satisfied the need of the business for a solid requirements artefact, and the need to provide the development team with enough information for the development team to get moving. The product was demonstrated to the business when specific functions had been finished, and the functional spec became a living document which was amended as necessary to reflect changes to requirements.

    When the business stakeholders determined that the application needed to rolled-out on 5 versions of Windows, the BA’s were able to point out the risks associated with that in terms of meeting the project’s deadlines. And when one of the developers wrote and checked in some “rogue” code that they thought would enhance the application, based on some direct discussions with the business, again we very quickly pointed out the risk of doing that!

    I don’t think I’ve added anything new to what’s already been said. But to me the value of the BA to an agile project – on any project – is this: because of our depth of understanding we help to identify risks to success earlier, whether from a business perspective or a development perspective.

    Let’s face it – in an ideal Agile World, all teams would be co-located and would be made up of most senior personnel; the projects would be nice, discrete pieces of work; we’d have a 1 or 2 enthusiastic stakeholders who understand agile practices; collaboration would be king; and we’d all be talking the same lingo. And then, we’d probably have world peace sorted out too. :-)

  • Ingrid Colquitt says:

    We have an array of comments here that clearly arise from a couple of sources that tend to come at thing from poles apart; the well trained BA and the well trained developer.

    Utimately from recent experience, I have found that regardless of the advice and guidance provided regarding the choice of client representative and how important it is that they be in a position of authority or are formally impowered to make concise decisions about their business needs. This ideal world can rarely be relied upon. Yet where not available or consistant it WILL negatively impact a scrum no matter how advanced the tech lead is or indeed, the lead analyst.

    My experiences with agile to date are mixed. What is clear is that if you have a weak participant in client, BA or Dev teams, it can result in a world of pain. BAs are the most effecient business advocates but there is no pure agile approach. (I know I will upset some people here ;) The right teams are those that know the streams (COTS or code and solution components) required for the Project, business or technical, very thoroughly. Most importantly, they must take the client up the learning path and for that they also most fundamently know each other’s strengths and weakness, listen and learn from each other’s expertise and bring these together for the best result. Might sound a bit touchy feely, but ultimately it gets the strongest results. ~ Ingrid

  • [...] Glover, Senior Business Analyst, picked up on the Scrum theme and explored it more detail in Business analysis and Scrum (and thanks to quite a number of comments and feedback, explored it some more).  Lastly Kieron [...]

  • craig brown says:

    Rochelle, may i reproduce your diagram on a slide deck for slideshare and the Australian leg of the BA WORLD event for this year?

  • Rochelle Glover says:

    Hi Craig, Yes, you are more than welcome to reproduce the diagram. Feel free to reference the source of the diagram as http://www.fronde.com :)
    I would be interested to see the finished slidedeck, if that was possible? All the best for your presentation.

  • Bob McGannon says:

    Let me add a completely different data point to the discussion. The VERY BEST Agile project I have ever seen…had a BA as the Product Owner! He served both as a primary ANALYST (versus documenter) and a representative of a board of directors for his company. He had their trust – and, in the truest sense of the role of “Business Analyst” – he “represented” their needs and interests in the Agile development scheme.

    Agile approaches call all involved to be on their best game – after all we are trying to compress the time of development – and strive for “enoughness” in all that is performed. Just enough is the key. In that environment, we need to get the most of every effort. This is definitely NOT an environment for rookie business analysts – in fact, I have seen many Agile projects fail because there WAS NOT a person (whether called a BA or not) who performed the ANALYST tasks that are part and parcel in the toolbag of the best BAs.


  • Add your comment