What is the business benefit?

As an analyst, it’s not enough to know what your customer wants. It is essential to unearth what the customer needs and how the customer’s business will benefit by fulfilling that need.

Customer’s are often the last to understand what their business truly needs, even when they have a clear idea of what their software requirements are. Over the years I have often wondered why this is so and I think I have some answers.

Requirements
I think the very word “requirements” is a large part of the problem. It focuses everyone on what the customer wants, almost making it sacrosanct. Requirements traceability (while an important and often under-emphasised discipline) starts with the requirement and blinds us to anything that came before that. But a requirement is not a “first cause”, even though can be taken as such by requirements analysts, developers and testers alike. A requirement should not spring up out of the imagination of the customer; it has (or should have) its roots in something else. I feel “requirement” is an outdated word that should be relegated to the past and I applaud the Agile approach for doing away with it – although I am not thrilled with “user story” either (more on that in a future post).

Problems
Even those customers (and analysts) who try to see behind the requirement think too often of “problems”. But this is an exclusively negative mind-set. What about opportunities? They need to be addressed and expressed just as much as problems. New markets, new technologies, changes in the social, economic and political situation can indeed present a business with problems, but just as often they provide opportunities.

Time to Market
This buzz phrase is starting to annoy me. While I acknowledge the importance of the concept behind it, I feel it can encourage the kind of short-term, quick-win tactical thinking that A) has allowed the world’s economic “experts” to ruin the world’s economy, and B) encourages companies to get software into production rapidly, but not necessarily robustly. Most customers are really not very good at expressing their requirements, for which I am grateful, since it keeps me in work, and when you add the pressure of the Emperor sending Darth Vader to say that he is most displeased with their apparent lack of progress, you end up with hastily redacted requirements that largely serve to please Palpatine by getting Death Star II to market quickly, regardless of how likely it is to fulfil his strategic plans for galactic domination.

Pressure to succeed often makes customers present technical solutions under the guise of requirements. Business need: defeat the rebellion forever. Stated requirement: an armored space station with enough power to destroy an entire planet.

If you are not familiar with the Star Wars universe, please contact me from an analogy-free version of that paragraph. Or just watch the movies.

Stenographers
Many so-called analysts simply write down what the customer wants, drops it into a neat requirements specification, toss it over the fence at the developers and testers and clap themselves on the back for a job well done. In the words of Luke Skywalker:

NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!

And if you have no idea what I am referring to, then you are not the kind of person I want reading this blog. Be on your way. Go on. Click the “Home” button now.

Analysts should not behave like stenographers. They should challenge although some customers hate that) and guide. But customers should not just be guided by analysts, they should be educated. Every time I work with a customer, they should need my skills a little bit less, because every time I should be passing on some of my skills. If a customer is not better at examining and expressing the needs of the business after a period of working with me, then I have failed in my duty to that customer. Either that or they are just unwilling to learn, which is sometimes the case.

These are not the only answers, of course, and I am sure I shall explore more in future posts. I think the key to a solution is, in part, for analysts themselves to drive a change in the way customers think: firstly by ceasing to document “requirements” and thinking about “problems” but instead expressing “business needs”, and secondly by constantly asking: “What is the business benefit?”

  • Challenge
  • Understand the business benefit
  • Express the business need

Kind regards,

Declan Chellar

Related posts:

How do you make sausages?

Wrong answer!

We don’t care.

That is, presenting Yoda Rowan Manahan (to whom I am a mere presenting padawan) and I don’t care.

Rowan explains why in an excellent post titled “I don’t care how you make the sausages“.

“Hhhmm… Bullet points…. Harrumph… Generic graphics… A presenting Jedi seeks not these things.”

Pegasystems’ DCO: an analyst’s perspective

Some of you who were following the threads Introduction to Drawing Workflows and Process Exercise were wondering how the modelling techniques I use relate to Pegasystems’ Direct Capture of Objectives approach, so here is a brief introduction.

Pegasystems says that “Direct Capture of Objectives (DCO) is a suite of features that enable project team members to directly capture, organize and manage business specifications inside of Process Commander and associate them with the specific parts of the application that are implementing them.”

I applaud this intent, as I am dead against old approaches that result in analysis paralysis. So what does DCO give us?

Limitations
The first thing you should know is when to use DCO and when not to. One of the key things to recognise is that DCO hinges around the use of the Application Profile wizard (which Pega describes as “a guided DCO development tool that supports an iterative approach to capturing high level processing details for the application or implementation you are planning to build”).

The AP wizard in turn hinges on the use of Work Types, which are integral to workflows. This means that the DCO approach is suitable for workflow implementations.

However, forcing your requirements into a Work Type model when there is no workflow in your business processes can cause you design problems later on. Moreover, if your project is more about implementing a Business Rules Engine (BRE), then there will be little business process involved at all.

It can even be more complicated than that, when a project is part workflow, part BRE and part non-workflow process.

So you might find the DCO approach does not work as smoothly as you expected if you apply it to your project with a broad brush.

Traceability
Since version 5.4 service pack 2 of PRPC, we have been able to document the high level requirements directly into PRPC using the AP wizard. This ability is very definitely a step in the right direction because it gives us traceability right from the project scope through to the implementation. However, there are two important caveats:

  1. Some project requirements might not apply to the PRPC solution at all, as they might need to be implemented in another technology, so what would be the point of capturing them within the AP?
  2. Requirements traceability needs to go all the way to system testing and perhaps even user acceptance testing, so there would still need to be a Requirements Traceability Matrix external to PRPC. In fact, I would argue that traceability between requirements and system testing is more important than traceability between requirements and construction.

You will remember from our process exercise that we drew a workflow model based on the high level requirements. Our work in producing that workflow model gave us the opportunity to drive out many of the key elements that will form the inputs to the Application Profile in PRPC.  So a considerable amount of analysis has to be done before we whip out the AP wizard. Our overall workflow model can be expressed using DCO as a series of Flow Rules (a main Flow supported by several Sub Flows). But even before we get to the stage of creating Flow Rules, we now have enough information to run the Application Profile wizard in PRPC.

Business Objectives
In the AP wizard, we have the opportunity to document an overview of the target solution and add Business Objectives. Here I would record each of the HLSRs that we identified in Process Exercise: 5/6 as a Business Objective. Bear in mind that unless your project is being implemented entirely within PRPC, this will not be the project’s definitive catalogue of business objectives.

Actors
The AP also allows us to capture details of the Actors. These equate to the roles identified in our workflow. This only records details of Primary Actors of SUCs which are to be implemented within PRPC. If you are used to modelling other systems as Secondary Actors, you can add them to the AP as “Interfaces” (see below).

Work Types
We also define our work types within the AP. In fact, the AP is built around work types. In the case of our Change Request workflow, the work type is a Change Request. The Work Type is a fundamental aspect of how PRPC implements business processes, but it is a concept from workflows. If your processes are not workflows, you still have to identify a work type. Discipline in naming your SUCs will help you identify candidate work types. For example, if your SUC is called “Amend Address”, then your work type is likely to be an “Address Amendment”.

Atomic Use Cases
In the AP we document any AUCs that relate to that work type. I have never been very happy with AUCs and this morning it dawned on me why. PRPC has always implemented business processes using Flow Rules. On the Pega Developers’ Network it says that AUCs “correspond to one particular step or series of steps within a screen flow or a single flow action in the processing of a work type”. It becomes clear, therefore, that each AUC identified actually corresponds to a shape on a Flow Rule. In other words, rather than a tool that helps the analyst to think in the problem domain, the AUC is a design tool that forces the analyst to think in terms of the solution, which is not analysis at all. What’s more, there are sound reasons why you should ignore screens when modelling the logical flows of use cases.

While I am a great advocate of analysts and designers collaborating to get design off the ground as quickly as possible (see Lean Use Cases), it is important to understand the logic of each Software Use Case in our workflow before deciding what the implementation is going to look like. To that end, I would encourage you to model your SUCs as Activity Diagrams outside of PRPC, while a designer builds the corresponding Flow Rules inside the tool.

One thing for analysts to understand as that the Atomic Use Case can be used not just for documenting the business need, but also for documenting the technical solution to that specific need. Unfortunately, the AUC Rule does not have any fields that imply or cater for the distinction, so I have seen some quite messy AUCs where business need and solution are mixed up.

Discovery Maps
I like Discovery Maps even less than AUCs. The PDN tells us that “A Discovery Map is a flexible process mapping tool that captures a project’s high level processing steps in business terms.” There is already a very powerful tool for doing that and it is called Business Process Modeling Notation. Discovery Maps are part of an early attempt to enable DCO to become an analysis suite, but they are far from the mark yet. When you take a closer look at Discovery Maps, you come to realise that each step equates to an Atomic Use Case and, more specifically, to a shape on a Flow Rule. Rather than an analysis tool, therefore, the Discovery Map is just a colourful way to force the analyst to do design.

What a Discovery Map does not model:

  • Alternative paths – a DM allows you to lump all alternative steps together, but does not model the flow logic of the alternative paths
  • Branch points – a DM has no idea where alternative paths can split off from any other path
  • Merge points – a DM has no idea where paths merge again

When you run the Application Accelerator, the DM generates a draft Flow Rule, but you have to manipulate the Flow to connect up the alternate paths. In fact, my own feeling is that it would be quicker to build a Flow Rule in the first place, than a DM and then manipulate the resulting Flow.

Through Discovery Maps and Atomic Use Cases, DCO attempts to jump straight to the solution without properly understanding the business need. While it is true that a premature solution can be quickly demonstrated and corrected in PRPC, I feel it is better to take steps to understand the business need in an agile way that facilitates the early elaboration of a solution.

I also have an issue with attempting to discover your high level business processes only after you have bought an expensive tool like PRPC. When a company issues a Request for Proposal before understanding its own business processes, it risks accepting a proposal that does not actually fit the need. The cost of a mistake like that can sometimes be measured in the millions.

Discovery Maps can be useful, though, not in exploring the business need, but in providing a bridge between a visual model of that business need and the solution provided by the corresponding Flow Rule.

In brief I would say:

  • Use Discovery Maps if you have already modelled your SUCs as Activity Diagrams and you want to get a head start on design.
  • Do not use Discovery Maps to “discover” your processes because they are a design artefact, not an analysis artefact.

Discovery Maps appear in version 6.1 of PRPC, so if you are using an earlier version, then discussion is moot. In 6.1 or later, you can run an earlier version of the Application Profiler if you want to avoid Discovery Maps.

Interfaces
The AP allows us to document any known interfaces to other systems and such important details as what protocols are used and how many interchanges are expected to take place, which is very useful.

Reports
We can also record  in the AP some basic information about reports, but bear in mind that these would be reports on the use of the application itself, rather than MIS reports on business data.

Correspondence
We can record the details of any correspondence required in the AP, such as emails or letters that might need to be sent by the application.

Requirements
When documenting requirements, the tool allows us to document the following per requirement:

  • ID
  • Description
  • Category
  • Importance
  • External ID
  • Status (New, Open, Complete, Defer, Withdraw)
  • Which PRPC Rules implement the requirement

You can also attach external files to supplement the requirement.

As for requirement category, the AP only offers us the following two:

  • Business rule
  • Non-functional requirement

I feel that list is too short, so I was pleased to see that you can type in your own category, such as:

  • Common requirements (i.e., they apply across multiple functional areas)
  • SLA logic
  • Stakeholder requests
  • Features
  • Data validation rules

This does not update the list of available categories, so you have to type the category in each time.

However, when you go to add new requirements as Requirement Rules post Application Profiler, you are not able to type in your own requirement types. This inconsistency must be an oversight, as I cannot see a reason for it.

As for data requirements, we can create Property Rules, of course, but then we are creating physical Rules as implementation, not capturing the logical data model. This is a key gap in DCO for me, but we can make up for it with external documentation (see The Importance of Data Analysis).

My series of posts on Lean Use Cases will make it clearer how we can use Visio and Excel to supplement the DCO approach. Of course, I am looking forward to a future version of DCO which will allow me to model logical processes and the logical data directly into PRPC, rather than using their physical analogues directly.

At the end of the Application Profile wizard, we can generate a profile document. According to Pegasystems’ SmartBPM Methodology, the initial application profile should be generated during the Inception phase. In other words, the application profile is meant to be used to gain project approval before iterative development takes place, but I suspect most companies run the AP after the project has started.

Direct Capture of Objectives can be useful set of tools for the PRPC-aware analyst, but you have to be an experienced analyst in the first place. Passing Pega’s CBA exam will not turn you into an analyst overnight and neither will DCO. In fact, if your only experience of doing analysis is using DCO, then you are heading down the wrong path.

To become a good analyst on a PRPC project you need to do two things:

  1. Learn industry standard analysis approaches and techniques
  2. Do at least one project lifecycle as a junior developer on a PRPC project.

PRPC is a very good tool for implementing business processes and the idea of capturing the business needs in the tool itself is the right way forward. Some aspects of the DCO approach are very good, such as the ability to capture business objectives, work types, actors, interfaces. Some need further work, such as the ability to capture requirements. Unfortunately, DCO is wide of the mark when it comes to modeling processes and is totally lacking when it comes to logical data modeling.

Another important point is that the DCO approach hinges on the use of the Application Profiler and the AP hinges on Atomic Use Cases and Discovery Maps. However, not all of your requirements are going to need Work Types and Atomic Use Cases. In fact, if your requirements are for a Business Rules Engine project, then DCO might not be the way to go at all.

Kind regards,

Declan Chellar

Ignore screens when modelling use cases!

Related posts:

Tracing Data Requirements

Just as functional requirements are traced from business need to implementation, data requirements should be traced to eliminate redundancy and ensure coverage.

The following slideshow lays out my procedure for tracing data requirements.

The Importance of Data Analysis

When “data modelling” is mentioned on projects, too many people think only of the physical data model, DB tables, etc.. But what about the data analysis that leads to a robust physical data model?

Related Posts:

Do you even know what a BA does? Part 2

I just saw an advertisement for a position with the following headline:

  • Team Leader / Manager /Business Analyst

At the bottom of the page it listed the required skills:

  • C#/.NET, Documentation, Application Design

This tells me that the hiring manager thinks a BA is a programmer who can write a sentence. If the significance of this is lost on you, allow me to clarify:

C#/.NET
Familiarity with a particular solutions technology is a “Nice to Have” in a BA because it helps if the BA is familiar with any design constraints. However, the solutions design is not the BA’s job. This is not simply a case of being a “jobsworth“; it is important for the person in the BA role to stay focused on the business need and leave the technical solution to the design lead.

Documentation
Could this be any less specific? What artefacts should a BA be able to produce? Some examples:

  • Business Case
  • Business Activity Model
  • SWOT Analysis
  • PEST Analysis
  • Stakeholder Analysis
  • Business Process Model
  • Conceptual Data Model
  • Logical Data Model
  • Request for Proposal
  • Statement of Project Scope
  • Requirements Catalogue
  • Requirements Traceability Matrix
  • Data Dictionary
  • Business Rules Catalogue
  • Functional Specification
  • Screen Specification

I’m not convinced the word “documentation” covers it.

Application Design
This is another “Nice-to-Have”.  Application design is not the BA’s responsibility and a hiring manager who thinks it is should not be managing a project.

If I were to write a set of required skills for a position of Team Leader / Manager /Business Analyst, my list would include the following:

  • Process Modelling
  • Logical Data Modelling
  • Requirements Management
  • Stakeholder Management
  • Change Management
  • Mentoring

And I would be looking at the candidate’s CV (resumé) for evidence of relevant experience and certification.

Takeaways:

  • Hiring managers / agencies: know what competencies and qualifications are relevant to BAs.
  • Hiring managers / agencies: stop thinking that business analysis can be done by programmers who know how to use MS Word.

Kind regards,

Declan Chellar

To name and to shame?

I have little time and less respect for lazy recruitment agencies.

That is largely because I used to run a recruitment programme for a deliver centre within a global company and I know how much agencies get paid for a successful candidate.

At the time, I got tired of the mountain of CVs that indolent recruitment agencies were piling on my desk, 90% of which were not remotely suitable for the roles. So I completely changed the process (I’ll spare you the details*) and invested some time in visiting the recruitment agencies to explain how being less lazy early in the process was actually going to save them effort in the long-run and be more profitable, which it was.

Many years have passed since then, but many agencies continue to be shiftlessly relying on the key-word search and despite my profile clearly stating that I am a Senior Business Analyst, agencies keep contacting me to ask if I would be interested roles on PRPC projects as a developer or as a technical consultant (because the magic letters “Pega” and “PRPC” appear in my CV).

A recent exchange on the phone went something like this:

Agent: Declan, I found your profile online and I was wondering if you would be interested in a role on a PRPC project. Our client has roles in [location #1] and [location #2]. Which location would interest you more?
Me: Well, it would depend on the nature of the role, really.
Agent: Our client is looking for a [technical solutions role #1] and a [technical solutions role #2].
Me: I am a Senior BA and while I do have full systems lifecycle experience, I am not a technical solutions consultant.
Agent: But would you be interested?
Me: Have you actually read my profile? I am not suitable for either of those roles.
Agent: Can I put your CV forward to the client anyway?
Me: Have you read my CV?
Agent: No.
Me: Please read my CV and call me back if you are still interested.
Agent: May I connect with you on LinkedIn so that I can get access to your contacts?

The problem with agencies like this is that they do not just waste my time, they also waste the time and money of their clients (my potential clients) by sending them unsuitable candidates. I don’t just look after the interests of my actual clients: I also take care of the interests of my potential clients by eliminating myself from the hiring process early on. In other words, I do the agency’s job for them.

But I think we need a website which names and shames lazy agencies. That way, hiring companies can get a sense of which agencies to avoid and candidates will know to hang up the phone as soon as they hear: “Hello, I’m calling from Lazy Gobsheens PLC…”

Kind regards,

Declan Chellar

PS: Don’t forget to read the next bit.

* Unless you want to hire me to streamline your recruitment process, increase the effort of the agencies, eliminate unsuitable CVs from the process, minimise the impact on the time of the hiring managers and interviewers and increase the success rate of interviews to about 60%, thereby saving your organisation enough money to bail out an irresponsible banker.

Data modelling: start it early!

Whenever I mention data modelling on a project, everyone seems to assume I am talking about database design.

In my experience, on the vast majority of projects, both the Business and the service provider leave data modelling until they are at the screen design stage. At best, they might start modelling data at the System Use Case (SUC) level.

This approach only leads to problems. If you are lucky, the problems will arise during the design of the technical solution. If you are unlucky, they will arise six months after the system goes live and the database starts under-performing. Try fixing a badly designed DB on a live system! Have fun with that.

Some of you might be wondering what the problem is, so here is an example.

Continue reading Data modelling: start it early!

TMC now available in paperback

My first novel, The Messiah Contract is now available for purchase in paperback form.

Ordering information, a preview of the prologue and some reviews are available here.

Happy reading!

The Messiah Contract

Promote your Page too