Documente Academic
Documente Profesional
Documente Cultură
ithe class
The Swings:
ic IT cartoon
What is not funny about this cartoon is that the situation it depicts is as true about business
systems delivered today as it was when the above version was published. Over 40 years of
struggling, and most often failing to meet user expectations, in spite of unimaginable
improvements in technology.
I have no illusions that what I intend to present will magically make it all better. But these
articles are at least my attempt to do something about it. If you are reading this, it means you are
interested in improving your BA skills. Hopefully learning about the impact of different contexts
on requirements will lead to that.
I find it virtually impossible to take off my business analyst hat. Any time a family member or
friend mentions that they want something a new car, an electrical appliance, I immediately go
into requirements mode. I start asking questions intended to help them focus on their thinking
in order to lead to making the best choice.
It occurred to me that it as I begin to present the various contexts related to requirements that I
should set the context for this series of articles. The context of requirements that I intend to focus
on is business information systems. And while a complete information system includes a
hardware and a network aspect, the requirement contexts that will be discussed will not include
these technical aspects. The requirements contexts will focus on business analysts interacting
with business users to deliver the functional and information components of a system.
Please note that when I use the term system,' from a requirements perspective that doesnt mean
that every requirement will result in a computer-based solution. Having gathered requirements, a
subsequent exercise is to determine which of them will be given automated support and which
will be left as manual processes.
help establish the functional context for a requirements gathering effort. The more common term
for this functional context is Project Scope.
I will also discuss the possibility of combining the scoping exercise with the producing of highlevel requirements. The result of doing this reduces that requirements task down to hours rather
than days (or weeks). This will be the first of several demonstrations of the strength of applying
the thinking that Context is everything.
In the first installment of this series it was stated that the overall objective of these articles is to
improve the quality of requirements produced by business analysts. Following the adage that
Context is Everything it established that a number of different contexts will be explored. And
in keeping with this principle it set business information systems as the context of the
requirements to be addressed.
In my first article I presented the classic Swings cartoon. It is a classic because it has remained
relevant all these years. I consider the high-level functional model presented above to be a
classic. It too has stood the test of time. Throughout my years as a business analyst, working in a
wide variety of industry segments and government agencies in three countries, this model has
proved to be both relevant and useful.
Related Article: Just Know It! Requirements in Context
Not all organisations utilise every one of the functions shown. And some organisations have
multiple lines of business. For example Walt Disney - Film production would be one, theme
parks another. In this style of model, each would have its own Line of Business functions to
provide contexts for dealing with very different products. Regardless of the numbers of lines of
business, the Management and Support functions are applicable across the organisation.
Quite a striking correlation between these modules and the high-level functions from that 30year old model.
Organizational Management
Personnel Administration
Recruitment
Payroll
Travel Management
Personnel Management
Time Management
Compensation Management
Training and Event management
Wages
Personnel Development
Workforce Administration
Its easy to envision most, if not all of the above processes having start and end points. For
example, while it could be argued that Recruitment goes on continuously, in reality filling a
specific position starts with some form of notification of the opening and ends ideally with a
successful candidate coming on board. Here is an example of a high-level requirement utilising a
Process context:
The system shall support the recruitment process including keeping records of published
notifications, candidates, interviews and proof of fairness during the selection process.
Project Scope
This article moves on to a different context - Project Scope. We will see how scope statements,
when making reference to business functionality, leads directly to high-level requirements.
Gathering requirements for a business information system is most often done within the context
of a project. Approval of a project includes its sponsors signing off on its scope. The scope of a
business information system project is typically defined in functional terms. Items in scope make
reference to (or should make reference to) business functions, processes and/or activities that are
to be delivered.
Related Article: Using Feature Trees to Depict Scope
A DFD context diagram says nothing about the functions inside the system. That is left to
subsequent levels of functional decomposition. Clues are provided by labels given to the data
flows. The Use Case context diagram provides more of a clue to the functions within scope by
including named use cases. Data flows in a DFD context diagram connect only to the system.
Actor connectors in a Use Case context diagram connect to one or more specific use cases within
the system.
The Use Case form of context diagram for this example would look like this:
Scope items will seldom be stated so conveniently that they can be converted one-for-one into
the names of use cases. For the sake of brevity, please accept that the scope items in this example
are ones that I prepared earlier.
The objective of this article is to show that it is possible to derive high-level requirements based
on a projects scope. The following are examples of such requirements from the scope in this
scenario:
Because charging tax is new to this organisation there may not be an in-house subject matter
expert available when it comes time to sorting out the details for this requirement. Until more is
known this high-level requirement acts as an appropriate placeholder for what is likely to be a
number of business processes. One would likely be needed for setting up new tax authorities, one
for setting up the tax rates and where applicable, one for specifying different rates for different
product types. The requirement from a business perspective is fairly straight forward maintain
whatever details are necessary to be able to charge tax. The devil is in the detail.
What a sketch such as this looks like as a high-level functional requirement would be this:
The system shall support customers making on-line purchases including selecting products,
specifying shipping details, providing payment details and confirming the order.
A truly high-level functional requirement for a business process should be a simple list of its
primary activities. If its a complex process with many activities, only a suggestive list should
be included - just enough so that the reader recognises what the process is. This leaves the
complete set of activities and flow details for detail requirements definition.
NOTE: If an organisation is interested in exploring business process reengineering (BPR) or
business process improvement (BPI), this should be a separate exercise from requirements
gathering. While its true that simply implementing some automation support to an existing
business process should have a beneficial effect, those are small-i improvements. The objective
of BPR and BPI is to deliver big-I improvements.
able to come up with indicative attributes in seconds. An example or two is another way to
ensure that the concept is clear.
From the simple examples included in the HLR above we understand that customers can either
be individuals or organisations.
Event Based milestones within a process or at its end, or alerts triggered by thresholds
being reached
Periodic daily, weekly, monthly or annual reports
Statutory required by government or other regulatory bodies
Management used to monitor progress against plans or budgets
As with the functional and data HLRs, the objective is to set the context for detail to follow.
There is really no difference between the need to deliver a function and the need to deliver a
report (that is truly needed). There should be one HLR for each, kept to a high-level description
that establishes an understanding of what it is.
The system shall support sourcing of foreign exchange rates [what] from the European Central
Bank [where] on a daily basis [when] to support currency conversion when the on-line customer
[who] deals in a different currency than the supplier of a product [why].
Security
Usability
Performance
Availability
...
Exactly when the details of NFRs should be addressed will depend on what the next step of the
project is. In the meantime, there is at least one HLR included acting as a context for details to
follow.
NOTE: The Build/Buy decision process itself is out of scope of these articles.
Related Article: Requirements in Context Part 4: Keeping High-Level Requirements HighLevel
Full marks to this delivery context and the Agile user story form that drives it. But developing
and testing has to involve the complete content of what is wanted, so ultimately that content
needs to be recorded somewhere (see examples below).
My most recent experience involving a supplier was from the business perspective. The
development form that the supplier used was Agile. But given that they were relying on clientprovided requirements rather than embedded SMEs, they were really only Agile-like. Nor was
the detail in their SOW in user story format. The crucial point about this context is that it
necessitates the requirements content, regardless of form, to be complete and detailed at the point
in time the supplier commits to deliver for a contracted cost.
The system shall produce an email to on-line customers upon their submission of each order.
Both requirements should include acceptance criteria:
Acceptance Criteria
While acceptance criteria in the Given/When/Then format has its origins in Agile, there is no
reason it cant be included with Shall statements.
Assuming that all aspects of the report share the same priority, business rationale, and need to be
tested together, there is little or no advantage in representing different aspects as separate detail
requirements.
Again, while the above requirement does not appear detailed, the overall information provided
(mostly in the template specification) provides what is needed to get the job done. Also like the
detail report requirement, if the full content is not provided, when it comes time to design and/or
build the data solution an SME will need to be consulted.
Given access to base exchange rates made available from European Central Bank
When the ECB exchange service makes new rates available
Then the following details about each currency is recorded and available for use converting
between currency pairs:
o To Currency E.g. USD
o Effective Date
o Exchange Rate From Euro E.g. 0.89
o Rate Type E.g. Mid-Market
Data items in an interface list should include details such as attribute name, description, and
examples. The objective is to support the subsequent mapping of corresponding items on each
side of the interface during the interface development phase, where field details of size and type
can be addressed. This technical mapping is done by someone familiar with the business
information systems database schema. That person will also need access to the external systems
interface specification.