WURM

WURM is the somewhat-awkwardly named BPMM process area for Work Unit Requirements Management. If I can quote from it briefly:

Requirements for work units that perform the same continuous operations (for example, operating a computer system on an ongoing basis) typically have stable requirements that do not change much over time. Projects and other types of workunits that perform project-type work have requirements that [are] typically defined initially, change over time, are satisfied and delivered (that is, completed).

This process area covers both types of requirements.

For a work unit, there is an initial set of requirements that are established when the work unit is first established. This initial set changes over time:

  • requirements are added and deleted,
  • details of agreed-to requirements change,
  • requirements that are defined at an abstract or summary level are refined and elaborated over time, resulting in derived
    requirements.

I know that the above reads like a typical standard, which is reasonable because it is. However, when I read it something clicked in my mind.

One of the things I’ve been struggling with for a while in the BABOK is the issue of analysis of existing solutions (for instance, mapping an existing process). Most of the BABOK is structured around a problem-solution concept, and mapping an existing process isn’t solving a problem (unless you contrive it to say that the problem is that we don’t understand our process–but then the solution is easily defined and the BA’s work is done). This would imply that creating a definition of a process isn’t business analysis unless you intend to change the process afterwards. But that is obviously wrong. It clearly ought to count as business analysis and therefore my mental model was glitched.

Having a problem with my mental model didn’t bother me–I”m a firm adherent of the “all models are wrong but some models are useful” school of thought. What mattered was that it was clearly getting in the way of thinking correctly about the problem.

The problem is projects. I’d gotten into the habit of thinking of requirements as something a project implements a solution to deliver. They can be that, and BAs spend a lot of time working with that kind of requirement, but they can also be a set of conditions that an organization must comply with on an ongoing basis.

I know some people out there will find what I wrote above to be obvious. However, I know there are a lot of people who have the exact same mental block I did–they think of business analysis as something that must occur within a project. Accounting for this won’t take much change to the structure of v2, it’s just something to watch for during the revision process.

Kevin Brennan, CBAP
VP, Body of Knowledge

Mapping the BABOK to Scrum

Scrum and its variants are probably the single most popular Agile methodology out there. As we developed version 2 of the BABOK, we tried to keep the tasks down to “essentials” so that the BABOK could be easily applied to Agile. I think we succeeded, but as we revise version 2 it’s pretty obvious that we have to include some material in the BABOK itself to help people better understand the relationship.

Is there a role for BAs in Scrum? The answer is a definite yes. Scrum includes a Product Owner role, which according to the Scrum Alliance has the following responsibilities:

  • Define the features of the product;
  • Decide on release date and content;
  • Be responsible for the profitability of the product (ROI);
  • Prioritize features according to market value;
  • Adjust features and priority every 30 days, as needed; and
  • Accept or reject work results.

The interesting thing is that those responsibilities map most strongly to the Enterprise Analysis and Solution Assessment and Validation KAs, rather than to Requirements Analysis. And yes, they are all addressed in the BABOK.

Some BAs may note that “release date” is included in that list and ask “isn’t that the PMs job”? In a traditional approach, perhaps, but not in Scrum. Scrum assumes that development is done in fixed iterations of 30 days. The release date has nothing to do with when the team gets its work done; it’s a decision as to what collection of features would justify a release to the business and as such is purely a business call. That part of it is always the BA’s responsibility, even in a traditional development environment.

Kevin Brennan, CBAP
VP, Body of Knowledge

Liveblogging Day 2, Part 1

I’m currently attending a seminar on Value Stream Mapping. I’m also feeling an intense desire for more coffee. The big downside of conferences in your home town is that you have to commute to the thing rather than it being in your hotel, which means (for me) waking up a couple of hours earlier than I normally do.

The purpose of value stream mapping is to understand what parts of a process actually provide value to the customer. The goal is to identify and remove those parts of a process that don’t add value. In software, the goal is to minimize the time between the development of a good idea (process change, etc.) and the time that the business can actually make use of it. The big challenge with lean methods for software is that they derive from manufacturing (where the end result is known).

Briefly, what you do is:

1. Identify each step in the process.
2. Determine how much time each step took.
3. Determine how much time was actually spent working on the step.
4. Identify time delays between steps.
5. Look for loops and rework.
6. (Optional) Identify the typical size of the backlog waiting to be processed through each step (to help find bottlenecks).

You can then calculate the Process Cycle Efficiency (the amount of actual work as a percentage of the actual time taken by the process) which is a good basis for defining a business case to improve the process. For most software process, 50% is pretty good and 70% is fantastic. Actual numbers tend to be much worse than that.

There’s a lot of info on value stream maps available through the internet so I won’t try to summarize the whole seminar. For BAs, I’d suggest that you look at value stream mapping as a tool that can be useful whenever you need to look at a business process. It’s a good technique for identifying parts of a process that can use improvement, or figuring out which aspects of the process are worth automating.

Kevin Brennan, CBAP
VP, Body of Knowledge

Liveblogging Agile 2008 Cont.

Finally back on the air, with the last session of the day. If I get a chance to do so I’ll post up some notes from the ones in between.

As a general note, I’ve found the general tenor of the people here to be much more positive about the role of the BA in Agile development than some of the “extremist Agilistas” would have you believe. I think there’s a growing acceptance of the necessity of the role even if the way the job is done would change in an Agile world. A lot of the content in some streams (like the Customer Value stream, where I’m spending much of my time) is pretty relevant to BAs.

Right now I’m in the Business Value: Soup to Nuts session. Business Value is one of the key concepts in Enterprise Analysis, and in general business value is anything that increases revenue, decreases costs, or protects revenue, and is in alignment with the strategy of the organization.

They then walked through some prioritization models: one based on market maturity and one developed by Niel Nickolaisen.

Business value itself is an approximation of reality and not reality itself. Most estimates of the business value delivered by a project are unreliable and never updated once the project is approved. The most useful part of the work in identifying business value is is developing the model and understanding how the solution is expected to deliver it.

We’ve just gone through a series of exercises on building reasonable business value statements. They provided a lot of examples of statements that are problematic because they only discuss costs or only discuss benefits, as well as ones that sound positive without demonstrating real value.

Chris Matts is now talking about a process they used for handling ideas. As ideas are generated they do some basic analysis and then stick them into a backlog. As people become available to tackle these ideas they used a kanban system to pull out the feaures that were the highest priority at the time.

Session ending now, see you later.
Kevin Brennan, CBAP
VP, Body of Knowledge

Liveblogging Agile 2008 — Keynote

I’m spending this week at the Agile 2008 conference in Toronto (I’ll be speaking tomorrow, and here all week). If you’re there, look for the guy wearing the IIBA shirt. I’d say I was the guy with the Mac but there are lots of Mac users here, far more than I’ve seen at other business conferences.

The keynote is James Surowiecki, the author of The Wisdom of Crowds. He’s actually talking without resorting to PowerPoint, which is something it’s hard not to approve of. His argument is that under the right conditions, groups of people can figure out problems that are beyond the ability of any individual in the group to solve. However, he’s not suggesting that any random group is going to be smart. It takes certain conditions to apply for that to be right.

Microsoft and Siemens have been using internal trade markets to allow employees to “bet” on when a project is likely to be finished, and have found that theses methods are better at forecasting actual delivery dates than the project manager’s plans. A big reason for this is that they allow people to describe what they actually think rather than what they would hope or be encouraged by their managers to think. This is the biggest benefit of this approach–the focus for everyone involved is to get the guess right.

Three key conditions to leverage wisdom of crowds:

1. Need a good way to aggregate the individual judgements of a lot of different people.

2. The group needs to be diverse, with a wide range of opinions. If a team is filled with people who all look at a problem from a single perspective they will converge on a similar answer.

The group does need to have some understanding of the problem that they’re trying to solve–the key is to have a bunch of different perspectives.

Diversity allows a group’s mistakes to cancel one another out. A homogeneous group will tend to create an echo chamber that reinforces bad ideas and blind spots. Collaboration helps to make smarter decisions when the group initially disagrees but can make the group dumber if they all basically share the same point of view to begin with. Even one person disagreeing can be helpful, but not if the same person fills that role every time (because the rest of the group will start to ignore the sole dissenter). The best group decisions emerge from conflict rather than consensus (but effective conflict requires trust).

3. Independence. Every person in the group has to be offering up their ideas on their own rather than paying attention to what other people in the group are thinking. The problem is that people often get punished for standing out–you get in trouble for an unusual opinion that happens to be wrong, but not or a “normal” opinion that’s wrong. In larger groups, you may need to make sure that you allow people to be anonymous to ensure that they tell you what they really think.

Kevin Brennan, CBAP
VP, Body of Knowledge

Cloud Computing and the Business Analyst

Nicholas Carr, the author of Does IT Matter?, has a new book out and it’s one with a thesis that should matter a lot to business analysts.

In The Big Switch, he argues that the role of IT in business is set to change dramatically in the next few years:

What I actually argue in The Big Switch, in the context of a description of the history of corporate IT and the recent rise of the Internet as a shared computing grid, is that the traditional identity of IT departments, as the builders and maintainers of private computing systems, is going to change – steadily and, I think, fundamentally – as companies draw on the grid to fulfill more and more of their computing requirements.

If we look at the end game – a decade or two down the road for big companies; sooner for smaller ones – it’s hard to imagine that the ‘IT department’ as we’ve come to know it will continue to exist. Many of the information-management and process-design skills currently housed in IT departments will continue to be of great value to companies, of course, but they will likely have been absorbed into business units and other departments instead of being isolated in a technically focused corporate function. Most of the purely technical jobs will have shifted from the users to the suppliers.

I believe this is largely correct, although it may happen less quickly and easily than Carr assumes. While there will always be a need for a certain amount of custom software, organizations are increasingly turning to both outsourced service providers and to “cloud computing”, where data is stored on remote servers and accessed through the internet. I believe that this trend will increase the reliance of organizations on their business analysts. Now, we’re likely to see some changes in our traditional role, as we will spend much less time writing requirements with the expectation that they will be implemented exactly, and much more time understanding the business need, developing business cases, working on requirements which will be used to identify the services we need, choose between competing solutions, and find the most cost-effective way to implement the unique needs of an organization with a pre-built application.

In other words, expect to spend a lot more time performing Enterprise Analysis and Solution Assessment and Validation.