Friday, July 17, 2009

Components of a good traceability matrix

Traceability matrix is one of the key artifacts in establishing a conduit from requirements to the finished software. Assuming that a Business Analyst has captured all the requirements effectively from the relevant stakeholders, a traceability matrix ensures that all requirements get traced to the corresponding software functionality. The key word here is: "Corresponding".

What is a traceability Matrix?


A traceability matrix consists of mapping data. How a particular information is mapped into another. In most cases it is an effective means of establishing validity and connectivity of various project artifacts. Each organization has its unique way of creating and maintaing traceability matrices. An example would be, the requirements traceability matrix - mapping the business requirements to say system requirements, test cases, design document, etc.

Components of a good traceability matrix:

  1. Accounts every requirement: A good traceability matrix accounts each and every enterprise requirement to a specific or a set of business requirements. If an organization creates system requirements, then the matrix also ensures that every system requirement is mapped to some business requirement. The most important functionality is of course the ability to connect every requirement to some test case. This ensures that the requirements proposed were captured in the right language, and were testable in nature.
  2. Has an ID system for absolute tracing: It is considered a best practice for a business analyst to ID every requirement with some agreed upon convention. Carrying this forward, system requirements, and test cases are also given unique IDs. A good traceability matrix uses the unique IDs of various requirement specs, and test cases to establish the connection
  3. Spans across multi dimensions: Multi dimensional in this case means, across various parameters. A good traceability matrix establishes connectivity across different project artifacts if required. (Between design documents, process flows, etc)
  4. Has alert formatting: Another trick a business analyst can use while setting up a traceability matrix is to conditionally format a requirement spec cell (if a spreadsheet is being used to capture requirements) if it is not traceable to a test case or vice versa. This concept of alert formatting can be applied for other types of traceability as well. This can act as a foolproof method of validation and ensures that there are no "orphan requirements".
In conclusion, a good traceability matrix enhances the effectiveness of requirements capturing, and testing activities of a project. It ensures that other team members understand the requirements well enough to trace their own artifacts. So make sure to devote some extra time in your requirements capturing activity for establishing a solid traceability matrix.

----------------------------------------------------------------------------

Yaaqub Mohamed is a Senior Business Analyst / Business Systems Analyst working in the beautiful city of Toronto, Canada. He has more than Six years of experience as an analyst in application development in the domain of Insurance (Life Insurance and P&C), financial, CRM, and Marketing Research. He has extensive experience and knowledge of the SDLC and Agile methodologies with strong background in Mainframes and distributed systems. His core competencies are in the areas of policy admin systems, legacy migration, data analytics, data warehouse, reporting, and CRM systems. He is also an ardent web designer, writer, musician, toastmaster and an aspiring entrepreneur.

Monday, July 13, 2009

Domain knowledge for a Business Analyst, Is it imperative?

Domain knowledge for a Business Analyst, Is it imperative?

Domain Knowledge: the knowledge which is valid and directly used for a pre-selected domain of human endeavor or an autonomous computer activity. Specialists and experts use and develop their own domain knowledge. If the concept domain knowledge or domain expert is used we emphasize a specific domain which is an object of the discourse/interest/problem. (Source Wikipedia)

Domain expertise is hands-on business skills or domain knowledge acquired by working in a specialized industry such as automotive, banking, insurance, telecom, utilities or in a specialized business operation such as customer relationship management, finance, sales and marketing. It is a very important asset for a business analyst working on specialized IT projects. Arguably, domain expertise is not required in all kinds of projects a business analyst would work on.

The importance of domain knowledge for a business analyst:

Although critical business analysis skills like capturing requirements, creating use cases, conducting interview and sessions, are crucial for the success of a project; domain knowledge plays an important role in playing a more active role in projects. Most of the business analysis skills are portable from one domain to another. However the domain expertise can be subjective to the kind of project you work on. Does a simple migration project of a rating database from IMS to Oracle or DB2 require that you be a domain expert in Insurance? Not necessarily. Although if you had a project that involved an underwriting related rules changes, migration of a legacy application, or data analytics of region wise premiums you may be required to be a domain expert in Insurance. This fact is not considered by most of the HRs filtering resumes for a job posting. If the search result of your resume doesn't contain a certain domain you are not even invited for an interview, no matter how much of an expertise you have in business analysis skills. This is sad, but a reality of today's recruiting system(and justified sometimes in an employer market).

How does one gain domain expertise?

Domain expertise is acquired over a period of time by being in the "business" of doing things. A banking associate gains knowledge of various types of accounts that a customer(individual and business) can operate along with detailed business process flow. Similarly an Insurance Sales Rep knows the various stages involved in procuring of an Insurance policy. A marketing analyst knows the key stakeholders and business processes involved in a CRM system.

Some business analyst acquire domain knowledge by testing business applications and working with the business users. They create a conducive learning environment though their interpersonal and analytical skills. In some cases they supplement their domain knowledge with a few domain certifications offered by AICPCU/IIA and LOMA in the field of Insurance and financial services. There are other institutes that offer certification in other domains.

How to start working on a new domain?

A good business analyst, has an analytical mind and approach. This is in itself a potent tool in learning the new domain. You can keep the following points in mind when you work on a new domain:
  • Think like a business user: When you start working in a specific domain, develop though patterns like that of a business user. How would a sales rep of an Insurance think when solving a specific problem of a customer? How does a financial advisor advise his clients on the best financial advise based on the situation at hand?
  • Act like a business user: Get involved with the application. If there is a dev region available for you to play with. Start off by exploring the application. Think of all the scenarios possible, happy paths, exception path, etc.
  • Sympathize with business user: Ask questions, ask pain points, and sympathize with the business user for the system limitations. These can be a potential opportunity for application enhancement.
  • Ask questions and keep a log: Ask a lot of questions and keep a log of things, so that you have a personal knowledge base of the application.
In conclusion, domain knowledge is a very important aspect of the business analyst skill profile. However it is not imperative (like most HRs think) for certain kind of projects. If the project involves complex and radical changes to the business processes, involve complex data analytics related to domain-specific data, etc , domain expertise would be imperative.

-----------------------------------------------------------------------------

Yaaqub Mohamed is a Senior Business Analyst / Business Systems Analyst working in the beautiful city of Toronto, Canada. He has more than Six years of experience as an analyst in application development in the domain of Insurance (Life Insurance and P&C), financial, CRM, and Marketing Research. He has extensive experience and knowledge of the SDLC and Agile methodologies with strong background in Mainframes and distributed systems. His core competencies are in the areas of policy admin systems, legacy migration, data analytics, data warehouse, reporting, and CRM systems. He is also an ardent web designer, writer, musician, toastmaster and an aspiring entrepreneur.

Article Three: Diary of a CBAP Seeker: The Knowledge Pile and How to Digest it

Dear Diary: The application is now finished and after having it reviewed a couple of time by an official CBAP, I’m waiting on the results to return. I’ve documented over 11000 hours for the committee to pick and choose from for acceptance, so there shouldn’t be much of a problem. Reviewing the BABOK in the last few weeks has become overwhelming. How am I going to process all this information?


Click here for article one

Click here for article two

Lucky me! After picking up the BABOK 1.6 and studying for several weeks, I found out that the new 2.0 version would be coming out. After much thought about which one to review, I decided that in order to give myself enough time to study, I’d have to switch to the 2.0 and start over. Not the optimal solution, but I figured that all the knowledge acquired isn’t wasted. I’m studying something I’m passionate about, so no waste!

Dissecting the BABOK is no small task. It’s packed with information that is pertinent to what I do and also necessary to understand in order to pass the test. One of the things that I have had to struggle with is to remind myself what the goal is here. While I DO want to become a better analyst and the information is very valuable, the short-term goal is to pass the test. When I tell my peers what I am doing, they generally respond that I should have no problem passing, as I’ve been an analyst for many years. What I’ve found is that despite this fact, my experience in years doesn’t necessarily equate to performing my duties properly or mean that I’ve adhered to the tenets of the BABOK. This realization has forced me to clear my mind of preconceived notions about what I know and don’t know. I’m not going to be able to skate through a section just because I’ve done it before.

Tackling the bounty of content started pretty easily. Read, underline, memorize, repeat. But I soon realized that I could execute this action over and over and not necessarily retain the content. I had to take a break and do some research in learning styles. What I found was that different people learn in different ways. Some retain more audibly, some visually, some by the action of doing. I had to create a plan for learning that would align itself with my learning styles and afford maximum retention of the content. I decided that since I had no time limit to meet, I would undertake a multi-fold path to learning the material. I began by creating and reviewing a series of flashcards that provided out of context quizzing of the content. I signed up for a CBAP Prep Class online that formally reviewed the content in an interactive environment with others studying for the exam. This allowed an exchange of ideas for discussion and highlighted the areas that I didn’t understand well or had misconceptions about. It also shed light in areas of confusion of the BABOK content. I began to post messages and respond to others’ messages in online forums about the content for additional exchange. I copied by all the diagrams in the BABOK by hand and cleared out the information so I could go back and fill it in from memory. I started a CBAP Prep Study group to enhance the review of the content with others in a more focused fashion.

I’m still in the middle of all this, having just finished the class work. My goal is to have completely immersed myself in the BABOK world in different ways in order to retain the information in various ways. My ultimate objective is that the BABOK will become second nature to not only my brain, but the way I work…..not the result of a memorization and regurgitation process. In that, I will have achieved the short-term goal of being able to pass the exam and the long-term goal of instilling this material in my professional life.

I am completely drowning in BABOK and hope this effort pays off.

Wednesday, July 8, 2009

Article Two: Diary of a CBAP® Seeker: Being Honest: CBAP® and Having the Skills

Click here for Article One

Dear Diary:
“This new CBAP® Certification may be my ticket to a more rewarding career. If I can just pass the test, I’ll have those letters at the end of my name and it may give me the edge in the resume selection/search process. I think I can pass the test with enough preparation, but can I walk the walk while I talk the talk? I also need to know if this effort is worth it in the end and what my goal is, in order to determine if the payoff in the end is suitable.

Once I started to study for the CBAP® test by reviewing the BABOK® 1.6, I was totally consumed by all the possibilities of knowledge attainment. Then I found out that there was a heavy-duty application process, and the feedback from my peers made it sound a daunting task. Several had stopped completing the application because it proved to be much more effort than they had to spend on the task. Several were psychologically paralyzed by the volume of information that they suddenly had to document. I also heard of the application being rejected because of incomplete information or no proper documentation of business analysis tasks. It made me wonder if all the effort was worth the trouble. Once I asked myself that question, the ability to think clearly and handle the obstacles was much easier.

Why would business analysts go through all this effort simply to get a few letters at the end of their names? After all, the exam in still in its infancy, and there is no proof that it is really leading to better money, better jobs or a better life. I realized that there are people like myself who don’t use letters, money, prestige, or bragging rights as their primary motivators. There are people that are simply interested in doing what they love to do the best way they can. They want to learn, experiment, think, prove, disprove, try, fail and succeed with fresh ideas and proven methods. They are passionate, and it’s that passion that drives them to want to obtain this new certification. It is a way to make them better. When I realized that these were my drivers as well, there was no longer a question about Return on Investment for expended effort.

The application process really isn’t as bad as I thought, though I am admittedly not done with it. However, documentation of my hours over the last ten years has proven to be much easier than expected, and it really made me realize that I had accomplished much in that time frame. Reflecting back on my life as an analyst over time has shown not only growth in knowledge, but a certain maturing of my thought process and self-discipline. Just in the years I’ve spent in my current job, I’ve made huge accomplishments.