ModernAnalyst.com: Switching tracks a bit, is there a need for business analysis, the discipline, on the agile projects?
Scott Ambler: Yeah. There is a need to do analysis. For anything even remotely interesting, yeah, you’re going to be doing analysis. But it’s not a phase; doing analysis in a phase is actually a phenomenally risky way of working. It might not be a specific job role. So, I think this is where the business analysis community [needs to pay attention] and this is true of any community; is true of testing, true of project management, true of many other things, true of programming. You really don’t want somebody just focused on that. You need to do the activity but that doesn’t mean you need a specialist in it.
ModernAnalyst.com: You don’t think there is a place for a business analyst role on an agile project?
Scott Ambler: There’s a lot of great opportunity for business analysts. There’s definitely a great opportunity for people with business knowledge and skill on an agile project.
For example, we’ve got this role of an onsite customer or product owner; somebody who represents the business to the team. That’s a role that most business analysts, particularly those that are coming from the business side, are almost ideally fitted for. Because if you look at that product owner role, that onsite customer role; they do a lot of analysis activities:
- They’ve got to negotiate between a wide range of people.
- They have to communicate the requirements to the development team.
- They have to represent what’s going with the development team to the overall business community.
So, there’s a lot of good stuff there for business analysts.
But it’s not a strict business analysis role. We need more than what a business analyst can typical do. They need to prioritize the requirements, because we work in priority order, which enables us to produce higher return on investment. We need people that can come on who can make decisions right now; even if it is not perfect decision, give us your best answer now, but let us know that it’s not the best one…
We don’t need a big document. We don’t need to have somebody to go back to the Steering Committee and wait for the official meeting two weeks from now to make a relatively trivial decision. We need the decisions now…
The analysis effort is very important but it is done in a different and more effective manner than what we see in the traditional world. For the business analyst who wants to step up in that role: Hey great! Do it! …
I’m not saying any of this is easy but it’s a very important role and very interesting. So, I think there’s a lot of opportunity there.
But, if your vision is to write detailed use cases or write detailed data models or whatever your models are of choice and then hand it over to the development team; that’s not of much value. That’s actually increasing risk. We don’t need that.
Assuming people are flexible, and I know a role for a business analyst is just to become a team a team member because everybody on the team should have analysis skills. This is something that’s very easy for people to gain if they’re given the opportunity. So, in the agile world, one of the things we try to do is just grow our skill set, have a wider range of skills and pair with people to work closely with them and collaborate with them. That that way we can learn new skills from them and they can learn new skills from us. So, this actually spreads information amongst the team faster, lowering cost and risk and also increases our skills faster, which also reduces cost and risk as well. So, this is a good thing. But people need to be flexible. Anybody coming in with business analysis skills will start picking up other skills from other team members. They might pick up testing skills, programming skills, whatever. Not that they’re going to become an expert programmer or an expert tester, but they’ll pick up some of these skills and will become better at these sort of things. This is actually critical and this is a big difference.
ModernAnalyst.com: So the analyst needs to do more than just business analysis…
Scott Ambler: One of the challenges I think in the traditional community is that they’ve rewarded people for becoming overly specialized. You’ve got people who are just programmers, who are just testers, just business analysts, just project managers. In the agile community, we’re going away from that because that’s seen as a pretty big risk.
We’re moving more towards craft people, which is probably not an accurate term but I like to use the term ‘generalized specialist’, somebody who has one or more specialties, because you better be able to do something useful, but who’s got a general knowledge of the process and good knowledge of the domain as well.
So, that’s in between. On the extremes, we have generalists and specialists. A generalizing specialist is the person that’s somewhere in between those two extremes and the ‘best of both worlds’. This is the type of paradigm that we are starting to see in the agile community.
ModernAnalyst.com: So you’re saying that business analysis is not as much of a role or phase, within the agile world, but rather a discipline and set of skills?
Scott Ambler: Yeah and it’s pretty more like a discipline or a set of skills that one activity gets. A nice way to say it is that business analysis is so important to agile people that we do it every day. It’s not a phase. Actually when I see an analysis phase in a project that’s telling you that analysis must be a phenomenally trivial thing that we only have to do it one point in the project and then for some reason we don’t ever need to do it again or very rarely need to do it and desperate try to avoid it through the change management process.
Analysis is so important to us we do it on a daily basis. We want to be working close with our business stakeholders. We want to be working on a daily basis to get information from them, to get feedback from them. A lot of that interaction with the business stakeholders is obviously going to be some sort of analysis type of activity.
As a result, we can’t really afford to have only one person that does analysis on the project or small group of people doing it because they very quickly become bottlenecks. We need people who are willing to do analysis and can do it on a moment’s notice. If I realize I need to talk to somebody and get some information out of them, I should go straight to them. I shouldn’t have to go to Sally the business analyst and wait for her to be available or schedule a meeting with her. Then have her schedule a meeting with the person I actually need to talk to and all that stuff. That’s like a bridge or a go-betweener or a Band-Aid. It’s not an effective way of working. It’s better than not doing analysis but it’s definitely not the best way of working.
ModernAnalyst.com: Are there any specific analysis skills or competencies that you see are of big value on the agile project?
Scott Ambler: It’s all the important ones that I would argue that you see in the traditional world:
- The ability to communicate with people, to ask questions, and get information out of them.
- To negotiate priorities between different groups - because the business stakeholders never have one single voice on their own. They need somebody to help facilitate that, somebody who knows the business to begin with.
- The business domain knowledge, period, is important. It is something that everybody needs to have, not just business analysts.
What’s not as critical, is the specification. Yeah, obviously in a regulatory environment that’s a little bit different…
One of the things in the agile world is that instead of documenting a requirement, we prefer to capture it in the form of a test. So, if you believe that a requirement can be testable, then the next implication is why don’t you just skip over the documentation middleman to begin with and just start out by writing the test. Just cut out the extra busy work. As long as that test is human readable and then you can tie it in with the actual working code; hey, you are off to the races, right? So, just a slight change, just adopting the practice of executable specification, you can have a dramatic impact on your productivity. But it requires a different skill set on the part of whoever is doing that analysis specification effort.