Its been a long time since I have posted something here. Almost 8 months. The reason for inactivity is my laziness and a lot of action on personal and professional front.
But now I am back and have a lot to share, in past few months I had an opt. to work on various project and in different capabilities:
- Lead a team of Business Analyst across geographies to build an enterprise portal for a pharma major. I have a lots of learning to share.
- Handled a very politically charged project( I was drained out in 3 weeks!!) for a mobile company. We were buiding their support center application and I created the testing plan. I do have few learning to share... but the major learning is not to get involved .
Being Business Analyst
My Experiences as a Business analyst. As I strive towards excellence, I realize how close I am to Ignorance. A web log that contains milestones of my professional Journey.
Jul 28, 2010
Nov 29, 2009
Go by the Rules
| Reactions: |
I have been reading a lot about Business Rules lately mostly by following blog of practitioners. Though I have been documenting rules during the analysis in someway or the other but not in the way recommended or the way 'Business Rules' should be treated and written.The major learning has been separating Rules from Business Process/Use Cases. Often they got mixed up in the Business Process Model or are hidden in the use cases(I could have saved a lot of pain if I separated rules from the diagrams).
For folks who are getting into the profession I would recommend treating and learning Business Rules as par with Use Cases, Process Modelling or any other technique. For Starters I would suggest the following text on the internet:
1. The Business Rule Manifesto- Clearly specifies the importance of Business Rules and various principle of rule independence.
2. RuleSpeak- Is a set of guidelines for expressing rules in concise and business friendly fashion. This site also two very good documents which are freely available for Download, they are
Basic RuleSpeak Do's and Don't and RuleSpeak Sentence Form.
3. Introduction to Business Rules By Scott Ambler -Provides a template for detailing Business Rules.
4. 'KISS' Process Modelling Technique by Kathy Long - Kathy gives a beautiful example on Separating Business rules from Business Process.
5. Business Rules Hidden In Use Cases by Scott Sehlhorst -A very interesting article on separating rules from requirements and how the rules are commonly hidden in the use cases.
Let me know if you come accoss more such articles, I would love to add them to the list :)
For folks who are getting into the profession I would recommend treating and learning Business Rules as par with Use Cases, Process Modelling or any other technique. For Starters I would suggest the following text on the internet:
1. The Business Rule Manifesto- Clearly specifies the importance of Business Rules and various principle of rule independence.
2. RuleSpeak- Is a set of guidelines for expressing rules in concise and business friendly fashion. This site also two very good documents which are freely available for Download, they are
Basic RuleSpeak Do's and Don't and RuleSpeak Sentence Form.
3. Introduction to Business Rules By Scott Ambler -Provides a template for detailing Business Rules.
4. 'KISS' Process Modelling Technique by Kathy Long - Kathy gives a beautiful example on Separating Business rules from Business Process.
5. Business Rules Hidden In Use Cases by Scott Sehlhorst -A very interesting article on separating rules from requirements and how the rules are commonly hidden in the use cases.
Let me know if you come accoss more such articles, I would love to add them to the list :)
Oct 17, 2009
Why I Like Being a Business Analyst?
| Reactions: |
Reading the last page of the book which has been lying on the table besides the bed for months is most fulfilling. I recently completed reading Outliers by Malcolm Gladwell. In this book Gladwell explores the reason why some people are so accomplished, so extraordinarily and more successful than others. Gladwell argues that some people are successful not because just because they are really smart, but success is a function of culture and community and family and generation the person belongs.
The book is a very good read and highly recommended. As you read through the book few things stick with you for example the 10000 hour rule, the trouble with geniuses, the Chris Lagan Story and the facts about airplane crashes. But this one caught my attention the most, for a job to be satisfying, Gladwell says, it should have 3 qualities: Autonomy, Complexity and Connection between effort and reward. This is how he describes:
Those three things--autonomy, complexity, and a connection between effort and reward--are, most people agree, the three qualities that work has to have if it is to be satisfying.
Isn't this true? No matter how well you are paid you can never continue and be
satisfied with a job which is monotonous, non challenging under an autocratic(let’s say non-democratic) management. This I like best about Business Analysis and being a Business Analyst.
Autonomy : Throughout the project lifecycle, process and requirements management is a highly autonomous job. Not to sound boastful but I have realized that I am never under pressure from managers or clients during the lifecycle (off course I make sure not screw up things) nobody interferes during the process or questions your approach, in fact there is less or no interference from the delivery teams during this period. All that I have to make sure that all stakeholders are well communicate and there expectation well mapped. It is indeed an autonomous task.
Complexity: Well do I need to explain this point? We analyze the complex Business processes, liaison between various Business Units, work hard with the IT teams to make sure that the solution is made right, negotiate requirements, help PMs in estimations...and what not and as Jeff Martin wrote in his post We help the companies change .. Isn't it complex?
Connection between effort and reward: Organizations have realized that experienced BAs are their most valuable resources. Their ability to communicate, facilitate and analyze makes them indispensable. Today companies need people who understand both business and technology well and BAs get amble exposure to both ...and yes they are one of the best paid professionals currently in market.
I like my job. I am working with for an IT outsourcing company and have experienced this in my projects and with the pressure on optimization and cost I feel the BAs still enjoy more freedom then other roles in a project. Personally the most satisfying experience is the day when my role gets over, the requirement documents are signed off after a good review with stakeholders, when business user shows confidence in you because finally someone from IT understands their process, pains and needs, or when the sprint gets over and the stakeholders are satisfied after sprint review. Or simple things like when the developers are confident about the requirement they are to write code for and the QA folks are clear about the testing scenarios or the PM is sure about the scope, effort and estimate. These things indeed make my job very satisfying and finally I am able to enjoy the inflight entertainment system on my flight back home.
Labels:
Business Analysis,
Malcolm Gladwell,
Outliers
Sep 27, 2009
Business Analysis in COTS Environment- Part 2
| Reactions: |
Use of commercial off the self product is gaining popularity, specially where the Business needs matches those of one or more commercial IT market place segments like ECM, Collaboration, Enterprise Search, SCM, HRM, CRM, Business Intelligence etc. These components offer a promise of rapid delivery to end users, few organization can afford resources and time to replicate the market tested capabilities for these products.

For a Business Analyst, working in a COTS environment is different from a typical custom solution development projects primarily because the components are preexisting and are not designed to meet specific business needs. For BA it becomes important not only to know what the business needs are but to also understand the functionality of the COTS product how it is likely to change over the period of time. This understanding is vital as it help in doing a 'to-be' mapping of the business process and define more useful business and system requirements.
So how are these COTS products different? What are the key characteristics of these products and as Business Analyst what should I must know about COTS system in general? The SEI has identified following attributes of the COTS products and components:
- The marketplace, not one system’s needs, drives COTS component development and evolution.
- COTS components and the marketplace undergo frequent, almost continuous change.
- Frequency and context of COTS component releases are determined at the discretion of the vendor.
- COTS components are built based on unique architectural assumptions and are not constructed using a universal or consistent architectural paradigm.
- There is at best limited visibility into COTS component internals and behavior.
- COTS component assumptions about end-user processes may not match those of a specific organization.
- "Vendor” is not a new name for subcontractor. Different relationships are required to have insight and to influence component changes.
- COTS components often have unsuspected dependencies on other COTS components.
References: EPIC: An Overview [ A must read]
Coming up:
- BA in a familiar COTS environment i.e. when you know the product.
- BA in unfamiliar COTS environement i.e. when you have no idea about the product's capabilities.
Labels:
Business Analysis,
COTS,
Requirement Gathering
Sep 19, 2009
Business Analysis in COTS Environment- Part 1
| Reactions: |
Summarizing the Process: 1. Ideally, the business process re-engineering(BPR) should happen and the business should be made aware of what the COTS tool can offer and changes that may be required in their current way of doing the business.
2. Ideally, the Business Analyst should be fully aware of the capabilities and functionalities of the COTS tool and help business identify the functionalities that the tool can offer.
3. Ideally, Agile methodologies should be adopted to built COTS based system to enable system development adapt as per business needs.
4. Ideally, the OOB features should be implemented with phased and with incremental releases.
5. Ideally 80-20 principle should be followed. 80% features coming OOB and 20% through custom development.
But system development is rarely Ideal. Often a COTS tools are chosen because some smart sales guy managed to influence the CIO or the manager in charge and now it has become a company standard. As a BA you were not involved early in the process and have little experience with the COTS tool and the dead line is too aggressive, now what do we do. We will get to that later. But there are some things to keep in mind:
1. There will always be a mismatch in business needs and what COTS can offer. It is good to know both.
2. There will be a constant negotiation between development teams and the business on what should be done OOB and how much custom code should be written, facilitate these discussions.
3. Ultimately both will have to mid somewhere in middle, a little between of custom code, a little bit of requirement changes and a lots of OOB.
... Stay tuned for more.
Labels:
Business Analysis,
COTS,
Requirement Gathering
Jun 30, 2009
Use Case Template
| Reactions: |
It's not too difficult to create a use case template as there are plenty available on the web and best practices to create an use case are well documented. Still I struggle to create one when it is needed. Utilizing the break between sprints in my current assignment, I have created a template which is consolidation of learning from various projects. The template is available in the downloads section or it can be downloaded by clicking here. Hope it would be useful.
Labels:
Downloads,
Use Case Template,
Use Cases
Jun 10, 2009
Gathering Implicit Requirements
| Reactions: |
How do we define Implicit Requirements? While attempting to write this blog post I was thinking of defining 'Implicit Requirements' upfront before I proceed elaborating my thought process.Here is the best that I could come up with:
Implicit Requirements are inexplicit requirements that are not directly expressed or captured but are essential to meet System's goal. They are something that are assumed to be "there".
I can sight an example from my current assignment where not capturing implicit requirement had a major impact on our project.
Explicit requirement 1: A Publisher should be able to create an Article, send it for approval and finally publish the Article on the portal.
Explicit Requirement 2 : A Portal user should be able to search Articles published on the Portal.
After the sprint ended we realised that the System was developed to cater to both the requirements, So the publisher could create and publish an Article and the end user could search the Articles using the search functionality. But the search result displayed articles which were published, under approval and in draft state.
Call it a bug or badly defined requirements..whatever... but there was indeed an inexplicit requirement which said: The Articles in draft state and under approval should not be displayed in search result.
This was one example. There can be many more such cases especially related to User Experience (UX) which are mostly implicit. So how do we insure that they are captured at the right time?

1. Using Prototypes/Wireframes: Visual representations always work, while text/documentations can be interpreted in various ways a visual representation of an User Scenario helps you nail many unsaid requirements. Using wireframes for creating screen flows or HTML prototypes is one the best way to capture UX requirement. There is no way that an use case can define how a screen will look or how the screen flow will work and what option should be available to user while creating an Article.
2. Early feedback from the end user: Let the users see, touch, feel and use the system as it is developed. Involve and engage them very early in the development cycle , this will help in getting early feedback from the user and they will be excited about the product. Believe me surprising them with a system at the end is not a good idea.
3. Observing similar product/system available in the market: How is the competition doing? What features do they have in the system? What similar products have to offer? It is always good to know what they have so that you can build better systems.
4. Simply leveraging your experience as Business Analyst: Use your experience, now that i have learned form my present mistake I pretty much sure that in future projects draft Articles would not appear in search results. This is how you become better Business Analyst :)
May 31, 2009
Concise Requirements and More
| Reactions: |
I have been following a very interesting discussion of LinkedIn on whether restricting Requirements to 140 Characters is a Good Idea? See this Link; you might have to join the IIBA group to follow this discussion.
The discussion was started by Adam Feldman and what seems to be inspired by Twitter rapidly got attention of many Business Analyst professionals. It is interesting to see how the opinions changed (mine changed at least). If we don't see requirements in terms of models for capturing them like Use Cases and User Stories we can actually put together very good and concise requirement in less than 140 characters.
From my experience I have learned that we often tend to get verbose while documenting requirement which often leaves a lot of room for manipulations and interpretations. The Idea should be to keep them as simple and as concise as possible… why? Well because like any other thing in this world the best requirements are on which are simple and easy to understand and a good Business Analyst should always try to make requirements simplest not simpler(Isn't this what Einstein said!!).So if the use case is getting to lengthy with many alternated paths and extension, try to break it into simple ones. If the user story is taking more than few lines to write it has should be broken down into multiple stories.
I came across a very interesting article by Jeff Martin on defining the Business Analyst role, in his article he points out how to handle "So, What do you?" situations. It has happened many times when people ask me "So, What do you do?" and still being proud and confident about my profile I never had a perfect answer. Quoting Martin this is how the response should be:
And this is what we exactly do, by bridging the gap between business and technology!
Labels:
Business Analysis
Apr 26, 2009
Business Analysis: It is more than Requirment Gathering
| Reactions: |
Business Analysts are still involved more during the initial phases of the project, this is indeed changing with acceptance of Agile Methodologies. But still the role primarily involves creating Business requirements, Functional detailing, documentation and creating various artifacts related to project requirements. So the focus they often keep is on 'What' has to be done, which is very good and should be maintained while they perform there roles. But the additional value comes when the involvement and understanding of ‘How’ and ‘Why’ increases.
A Business Analyst should be clear about what has to be done… functionally off course. This is what we achieve when we create User Stories/Use Cases.
A Business Analyst must be clear why the functionality is critical for business needs. This will help in defining the
business objective and will complete the business requirement; it also helps in prioritizing requirements.
A Business Analyst must be able to understand how the requirements can/cannot be met by the underlying technology, the BA should be able to convey and negotiate with business the impact of technology on the requirements. The days of fresh development are long gone, now business systems are created around tools/products already available in the market and its often desired to full fill maximum requirement with 'Out-of-the Box' available features.
- Understanding of the how technology behaves will help in connecting closely with architects, designer and developers.
- You will be able to participate better in design and architecture brainstorming and interfacing with quality folks.
- This will be help in understanding the system as it is developed and you will be confident while providing demos, walkthroughs and during UAT.
- While the high level business requirements will broadly remain unchanged but when the requirements are broken into functionalities they are impacted by limitation of the technology, understanding how technology serves requirements and what additional it can provide helps the Business Analyst during negotiation on what can be done with business stake holders.
Labels:
Business Analysis
Mar 25, 2009
Use Cases and User Stories- When to use what?
| Reactions: |
I currently working in a very complex SCRUM project, a huge business problem is divided among multiple teams and with Scrum masters and Business Analyst involved at various levels. In such complex environment Practicing Agile is tough but one that comes really handy is writing both use cases and User stories.
User Stories - I feel are excellent ways to capture high level Business requirements. They may be enough when team are collocated and you actually have all stakeholders working from same location and interaction is not limited.
But the situation when you have multiple teams working and offshore teams working in varied time zones it makes sense to further detail out requirements using Use Cases. The mapping can be one to many-
So when the user story details out 'As an {User} I should be able to perform {task} so that is {Business objective} is achieved', the use case for the same user stories will take the requirement to next level :
- [Description of Use Case] ->From User Story
- [Actors] - >form User Story
- [Pre Condition] - >Not Covered in User Story
- [Post Condition]-> Not Covered in User Story
- [Basic and Alternate Flow] -> Not Covered in User Story
- [Assumptions] ->Not Covered in User Story
- [Exception]->Not Covered in User Story
- [Implementation Notes]-> try writing this section where the discussion from Architect and dependencies from other teams /system can be noted down
This helps a lot in saving a lot of communication time across team both at Onsite and Offshore. It also serves as a solid artifact to create unit leve test cases and where the combination of user stories can be used to create higher level integeration test cases.
The point I am trying to make is that Use Case and Use Stories are not mutually exclusive, they go pretty much hand in hand.
Labels:
Use Cases,
User Stories
Subscribe to:
Posts (Atom)