Skip to main content

ITIL for BAs. Part III

 

How ITIL Can Help Solve the BA Identity Crisis

 

This post is a slight digression from but still very relevant to the series we started a couple of posts ago regarding the interdependencies between BA and ITIL.  But I want to take this digression to establish a fundamental aspect of ITIL that can greatly simplify the BA’s job in working with IT-based solutions in an ITIL world.

 

 

In a May 2008 post I raised the question of where in the organization – IT or the business – a BA should be hosted.  Some great comments were posted pointing out the complexities of the issue, in terms of lines of reporting, experience, variations in the definition of the BA role, the presence or absence of the Center of Excellence, etc. 

 

My  answer to the question is that the BA – as a role – should be defined in both business and in IT.  Furthermore:

  • The BABOK is the best source for defining the responsibilities of the “Business BA” (and believe it or not, in at least one organization I know of, “Business Business Analyst” is an actual title!)
  • the role of the IT Service Owner, as defined by ITIL V3, is in fact the “IT BA”

 

In attending the PMI Global Congress, Project World, BA World, and itSMF Fusion events during the last six months, I have had discussions with numerous PMs and BAs who have heard of ITIL and wanted to know what it was all about, in 20 words or less – to which I typically respond: “ITIL is to IT management what the PMBOK is to Project Management and the BABOK is to Business Analysis”.  They pretty much get it right away.

 

Back to my reason for this digression, though, to take that analogy a bit deeper: ITIL is a practice through which the IT organization is encapsulated by a layer of IT Services, and in which:

  • the IT Service Catalog describes what IT’s capabilities are, in the Customers’ language,
  • the Service Level Agreement (SLA) defines how specific IT Services are to be delivered to specific customers, and
  • the IT Service Owner embodies those IT Service capabilities, marshals the IT Service through its entire life cycle, owns the SLAs, and is measured according to the degree to which actual IT Service delivery meets the terms and conditions of the SLA.

 

(Actually, the practice of encapsulating IT in this way – the “what” that IT is striving for – is known as IT Service Management, with ITIL being a best practice in “how” IT Service Management can be accomplished.)

 

Now, getting directly back to the purpose of this “ITIL and BA” series….  The process of identifying business requirements and solutions is iterative and hierarchical – a process of elaboration, as the PMBOK so eloquently points out.  At some point in that process of elaboration, the BA encounters the IT part of the overall solution.  Here is where the BA meets the IT Service Owner and why an understanding of the BA/ITIL touchpoints is so important:

  • Without ITIL and the presence of the role of the IT Service Owner, it is typically the BA who is expected to know the ins and outs of the IT infrastructure and IT’s capabilities, risks, etc.
  • With an ITIL-based IT organization, the IT Service Owner is expected to know the ins and outs of the IT organization, and the costs and risks related to the IT Service required in the solution.

 

To put it another way, the BA can depend on the IT Service Owner to elicit, analyze, and document, in the form of a Service Level Agreement, what is needed from the IT Service, while the IT Service Owner is responsible for understanding the how – that is, the IT infrastructure and IT’s capabilities to satisfy the what.

 

With this in mind, the BA’s view of an ITIL-based IT organization, and the IT Services IT is providing, becomes a matter of understanding IT in terms of

  • the ITIL processes that take an IT Service through its life cycle of Design, Transition, Operation, and Continual Service Improvement, specifically
    • inputs needed from the BA
    • outputs consumed by or of interest to the BA
    • activities that the BA can contribute to
  • the Service Catalog and Service Level Agreements as the basis for understanding IT’s capabilities

 

In the May 2008 post mentioned above, one reader comment pointed out that it is very challenging for BAs to manage solutions that embrace multiple systems.  Encapsulating those various system components as IT Services, managed by the IT Service Owner, can go a very long way toward empowering the BA to deal with those complex solutions more effectively.

 

If you have any reactions to this concept – pro or con – it would be great to hear them.  I hope you take a minute to mull this over and leave a comment below.  Many thanks!

Test Plan

Last month I discussed the justification for testing.  Here are the minimum testing requirements of any organization.  If you are a client purchasing software or contracting for the development of software, then consider requesting proof that it actually works.

Acceptance Tests
Responsibility: Quality Control

  • QC develops acceptance tests for key system features
  • QC adds to the acceptance test suite as new features are implemented or customers contract for customizations

Unit Testing
Responsibility: Developers.

  • Developers write unit tests as an integrated part of the code base
  • In many cases the test code will be as large as the system of test

Release

  • A developer does not release code until
    • The code is written
    • All unit and acceptance tests pass.
    • All requirement and test case documents match and accurately reflect the actual code delivered.
  • Three Components of any Release 
    • Code Base 
    • Testing Base 
    • Documentation

Defect Resolution

  • Unit and acceptance tests are written to replicate any reported bugs. 
  • The entire test suite, including the new tests, is executed to ensure the bug has been      resolved and no new bugs have been introduced.

ITIL for BAs. Part II

Service Strategy

If one purpose of any strategy is to express a consolidated, comprehensive view of mission and direction, then the BA should expect that an IT organization’s IT Service Strategy is embodied within the IT organization’s structure and the roles defined.

In ITIL V3 that embodiment of IT Strategy is realized through the role of the product manager, whose responsibilities include: 

  • driving service strategy 
  • managing services across their entire life cycle (concept, design, transition, operation, retirement) 
  • ownership and maintenance of the service catalog, an essential document that describes IT’s service capabilities in the customers’ terms
  • understanding IT’s service models and how to drive changes and improvements effectively through those models
  • knowing the costs and risks associated with the lines of Service they represent
  • evaluating new technologies and operating models that can be leveraged for greater efficiency and effectiveness
  • providing financial analysis of existing, planned, and proposed services
  • supporting the business in building business cases for new services or improvements to existing services

The above responsibilities are only half of the story, as they are primarily inward-focused.  On whose behalf is the product manager carrying out those activities?  In ITIL V3 it is the primary relationship the product manager has with the business s through the Business Relationship Manager (BRM), who represents the customers and their IT service requirements.  Together the product manager and the BRM work to 

  • understand the financial elements of IT Service delivery
  • express the demand the customers will have on IT Services (new and existing)
  • build business cases from a life cycle point of view
  • manage the resulting service(s) within the context of their respective IT service and business solution portfolios

In BA terms, the BRM is the business analyst.

It is interesting to note that the definition of the product manager directly addresses (I think) the question of whether a business analyst should be part of the business or part of IT – the answer is both, for the ITIL V3 product manager is, in essence, a “business analyst”, with a specific focus on IT Services.

For more information, ITIL Service Strategy Appendix B section B2 presents a concise summary of the nature and value of those two roles.  ITIL V3 books are available from most major booksellers and also from the IT Service Management Forum (itSMF) at the publications section of their Web site at http://www.itsmfusa.org/.

The Importance of Business Domain Modelling

As human beings we created language and learned to classify objects in the world around us so that we could share concepts and ideas. Then we learned to write … and we haven’t yet learned when to stop! Often, repeated refinement of our customer’s problem and need statements are seen as measures of quality and completeness of requirements. It’s almost as if the greater the weight of the document the higher the quality!


The purpose of business modelling, and of our role as business analysts, is to describe the business and its intentions. According to The Unified Modeling Language (UML) User Guide, “a model is a simplification of a complex reality … so that we can better understand …” A model allows us to find meaning in the business domain and to communicate an understanding effectively to others. It helps the business owners to visualise together with us, and to specify their intentions in a disciplined and rigorous way. It is difficult for the business to manage what they cannot see. In a model, existing concepts and new requirements can be seen logically related to each other.

The beauty and uniqueness of a business is usually found in its business process and most business analysts are familiar with modelling the business process at some level. If we can answer the question “what happens next?” then we are dealing with a dynamic view of the world, i.e. depicting the behaviour and activity of the business area of interest. For example, the following (simplified) diagram of an outdated UK government business process to do with the international trade of food, specifies the business activity requiring automated support.

importance-businessdomainmodeling1importance2.png

The (simplified) use case summary diagram depicts the proposed use of the system for the trader. To specify our requirements, we have developed the business process and the use cases in a model. Is there more to do? Can we assume that any audience of this view will understand the concepts referred to – the ingredients of the business process recipe? This article proposes that a critical part of requirements elicitation is to understand and provide a static or structural view of the business domain.

We may ask “What is the point of business domain modelling?” The point is that we need to understand the things that we are referring to in the business process and use cases. Remembering that human beings need to ‘classify’ objects around them in order to understand the world and to communicate an understanding, we use the concept of a “class” to sketch the important things that exist for our customer. It is a view of what we need to understand and reach agreement about.

It is the view that gives us the truth – it communicates the things that are true no matter how we behave, no matter what time of day it is and no matter where we are in the business process. In this example, we need to answer the questions: What is a “certificate”? Can a “trader” apply for more than one? What does a certificate certify?

importance3.png

For readers not familiar with the UML, the food export business domain model, in the form of a class diagram tells us that a Trade is an aggregation of a set of Commodity Goods Items. An Export is the type of Trade relevant to this piece of work, along with the CAP Export type Certificate.

In this example, if we do not understand the important concept of a certificate and how it relates to a “trade”, the proposed software may not capture the critical business rules to prevent the trader’s potential loss of thousands, even millions of tax refund. Seeing these two concepts, and the business rules that associate them, pictorially, in a formal standard notation, makes it easy for us to ask the right questions and for the business to see whether the description of their business and of their need is correct. Consider the impact of not understanding the ingredients of the business process recipe.

Only the important detail has been captured for the food export requirements, i.e. that one or more Certificates can authorise a single Trade and a single Certificate can authorise one or more Trades. This is important because if a Certificate is not fully ‘used’, the tax refund for the unused part cannot be claimed by the Trader.

It took many questions to understand this because some traders matched their certificates one-to-one with their trades; some traders had lost certificates, some had let certificates expire, some had checked that government regulation would allow them to use up portions of certificates to authorise a trade. It would have been difficult to find those questions had I not drawn what the traders were saying and instead, simply had written down verbatim what they thought they wanted based on their problems. Modelling the requirements was an easy way to resolve any contradictions and to capture the most important business rules to provide real benefit to the trader.

It is important to model the business domain or as my favourite writer on the UML, Martin Fowler says, the “logic that is the real point of the system”.

The alternative is to write a similar amount of text as found in this paragraph for each “requirement” and lose the advantage of adding to the model. In addition, the process of documenting, reviewing and refining this text would cost a great deal more than asking our business customers to sign the whiteboard with the confidence that the domain model / use cases (i.e. requirements) covered on it have been captured correctly.

So often errors are found in traditional requirement documents after sign-off because so many statements were made, unrelated to each other, where no logic could be applied to associate them. Another reason for so many errors could be that the requirements i.e. a very long list of textual requirement statements, are never read – they are so very boring and time-consuming to review.

I once reviewed a high-level requirements specification comprising 300 pages of textual requirement statements. I counted 321 instances of the word “customer” and 656 written instances of a few other major business classes. I counted nearly 7000 instances of eight common words such as “to”, “the”, and “system” – words of no value or interest. I wonder how many more words of the total 38000 were unnecessary and meaningless, and that required time to be written, read, refined and read again by numerous people up and down stream of the author.

In a requirements model, these few words of real interest would be written a few times only. In a business domain model, or class diagram, expressing those requirements in relation to each other, it would be necessary to write each word once only as the name of a class (while in a workshop with our business customers of course). If the business architecture was already established in the organisation, then it would be necessary to simply reference them, rather than re-invent them (again!); one would simply familiarise oneself with the area of interest and then visualise the proposed change together with the business owners.

Business domain modelling can be applied to any concept.

importance4.png

Modelling and communicating business concepts in a standard notation keeps it easy for our customers … our service remains consistent and audiences beyond the here and now can understand and reuse our work. When I draw a purple triangle, I know what it means. You, the reader, do not. However, if you or I were to draw the following simple class diagram, every single business analyst and solution architect in the world, even the occasional project manager, should be able to understand it.

importance5.png

I am currently working in a project team with English speaking Russians – there is no language barrier when we show them our model drawn in our common language – the UML. The UML modelling notation, for the purposes of describing business, commonly uses about 15 simple symbols which can be nonchalantly explained to subject matter experts during a workshop session without burdening them with any lengthy training. My experience of appropriately exposing the UML to my customers has been, without exception, very positive.

Modelling or graphical notations were invented to precisely convey a concept and to depict a great deal of information in a concise way, rather like electrical circuit diagrams or architectural drawings. Their other purpose is to act as precise shorthand for what we verbalise and know to be true. Would it be natural for an electrician to write “the electrical system must allow the electrical current to flow into a capacitor which must discharge into a resistor”? A simple line drawing with universally understood meaning and without ambiguity suffices to say the same thing. Its advantage is that further requirements will be part of the same drawing and any defects or conflicts can be spotted easily in relation to the other elements on the diagram. In addition, should any changes to the implemented electrical system be necessary later, the model could be reused by other people to understand the current system and the impact of the proposed changes. That is impossible with hefty volumes of prose.

Business modelling is much more fun than writing a requirements novel that few people have time to read. I call on project managers and business analysts to dispense with their document weighing scales and embrace clear, correct and effective communication of ideas and business concepts.

In a future article, we will look at modelling the business actors and areas of interest in order to express the current business problem and to propose the goodness or scope of a project i.e. setting the scene or business context ready for further analysis.

This article is based on one of the “Truth, Beauty & Goodness” series of presentations named “The Importance of Business Domain Modelling” given by the author at the Business Analysis World Symposium 2008 held in Wellington, New Zealand. The author wishes to express her thanks to the following people for their thoughts and ideas freely contributed to this article: Lawson Davies, Brent Lewis and John McPherson.

Copyright © Suzanne Jane Maxted, October 2008, [email protected] or [email protected]


Suzanne Jane Maxted is a Certified IT Professional Member of the British Computer Society. She gained a Bachelor of Honours degree from the University of Sussex, England, in Mathematics & Statistics with European Studies (French). Suzanne is a business analyst with 16 years information systems experience from around the world. She is an accomplished workshop facilitator and presenter in the business analysis space and has given presentations to senior Member State representatives at the European Commission and at the United Nations, among others. She takes pride in applying logic and order to differing business viewpoints and in communicating common understanding. Suzanne teaches ballet to 3-8 year olds on Saturday mornings and fills her spare time dancing and having fun with her two little children.

How to Complete a Software Development Project on Time, on Budget

Recent industry studies show that modern software projects on average spend 40 percent of their effort on rework, and as a result, over 80 percent of software projects overrun budgets, miss schedules and substantially reduce delivered functionality.

It’s a software development business analyst’s nightmare – that doesn’t seem to end.

The potential for error is further heightened because, unlike mechanical or civil engineering where the results of your efforts are tangible, the product of software development is largely conceptual.  When a manager is directing a complex project with several teams, the potential for mistakes or misdirection is especially magnified. Unlike a bridge being built from two sides of a river, significant discrepancies can creep in without an obvious reality check.

To avoid costly errors and delays, business analysts should consider seven key steps in tackling software development projects.

  1. To manage software projects effectively, business analysts need to have an explicit definition of the project’s scope. A clear demarcation of what is in and what is out, what is essential and what is would be nice to have, and what needs to be delivered at the end of the process. All major stakeholders and team members need to have a common understanding of the project goal. Ambiguities at this step can lead to major problems later that can only be resolved by a significant waste of time and money through rework.
  2. Develop concepts into clear requirements. Once stakeholders agree on a common goal, they need to refine their understanding into precise requirements, understandable to all. While it is common for requirements to evolve, starting from a specific requirements baseline provides a foundation to ensure the development process doesn’t drift. By ensuring that stakeholders are deeply involved in defining requirements, business analysts have a solid, universal understanding of the project’s path and scope.
  3. If the project is complex, use models that can be updated as the project evolves. Models represent the product in varying levels of detail and from various perspectives.  Sometimes, there is resistance to building models due to the effort required to maintain them, as new and different elements are incorporated. It is precisely because software development is so complicated that models are needed. With so many conceptual layers being tied together, it can be difficult to keep track of each and every element and their interrelationships. You wouldn’t consider building a bridge without a model. Why would you consider developing software, which is every bit as complicated, without one?
  4. Manage expectations through the project. As software development proceeds, stakeholders often suggest that more functionality be added to the project beyond its original intent. It’s necessary to rely on more than the legal contract to keep projects focused. As more people become involved in the project, regular get-togethers become even more important to ensure that all stakeholders stay aligned.  
  5. Keep the model up to date. Feedback loops are an essential part of most successful projects, and software development is no different. While it might seem time-consuming, keeping the model current provides a touchstone for all stakeholders as the project progresses. It helps maintain focus and exposes when any aspect of the development drifts from its original, or modified, intent. As much as possible, design the model so that it can be updated automatically.
  6. Decompose the model. The model should be designed in such a way that its constituent parts align with work tasks of the team.  In this way, the model parts can be delegated to individual teams to develop or maintain, and later reassembled as needed, to ensure overall integrity at regular milestones.  The process should be managed so that teams, including subcontractors, can come back to the model every so often for a reality check. By so doing, the business analyst keeps the potential for significant rework or outright failure at a minimum.
  7. The process should be built so that all aspects of the model, including those that have progressed, are pulled together regularly to ensure that everything still fits and that modules under development are still proceeding toward the ultimate goal.

But Won’t it Cost More?

Using a management structure that relies on a series of reality checks requires a project budget that allocates time and money for periodic review. The result, however, is that this marginal investment yields far more payback in terms of reduced rework.   An accurate and representative model is a catalyst for more valuable and more frequent feedback. Feedback loops are designed precisely to reduce risk and are found in nearly all engineering disciplines.

With software development projects spending on average 40 percent of their effort on rework, it is worthwhile to use an effective model to ensure your project achieves success.

Consider the alternative: A project that the client rejects, one that has to be reworked hastily, held together by shunts and duct tape. Not only are project funds wasted unnecessarily, but the delivered product’s quality suffers.   Status quo is the expensive path.


Tony Higgins is Vice-President of products at Blueprint Systems. He can be reached at [email protected].