Professional Documents
Culture Documents
Contents:
1. Who is business analyst? What are the job
responsibilities of Project Analyst?
2. What is business analysis?
3. Do's and Donts of BA?
4. Skills Required for BA?
5. What is SDLC and How BA is involve in each
Phase?
6. UML Diagrams?
7. Tools used by BA?
Good BAs are good communicators, problem-solvers, and think critically. They can create
requirements specifications, analyze requirements, create visual models, facilitate elicitation
sessions, and use the necessary business analyst tools.
This is the foundationBut then you must do a little more.
A good business analyst doesnt rely on sign-offs and hundred-page documents. They use
analysis techniques to drill into details and ask relevant questions. They get, not just sign-off,
during the verification and validation process. And they get into the appropriate details to ensure
true clarity emerges.
They set clear expectations as a way to build trust, consistently follow through on their
commitments, and dont make promises they cant keep.
They honor confidentiality agreements, never talk behind anyones back, and are
generally seen as above office gossip.
Good business analysts are both professional and good to work with.
They get stakeholders involved at the right times and in the right ways and keep
everything moving.
And more than all of this, good business analysts have a strong eye for scope. While it can be fun
to figure out what we might pack if everything but the kitchen sink fits into the car, good
business analysts realize that implementation constraints nearly always get in the way of
achieving the full vision the first time out. And so they keep a close eye on value and feasibility
and guide their stakeholders toward a set of requirements that can actually get implemented.
What Important Business Analyst Skills are required for new BA?
What follows is the list of the most critical business analysis skills for new business analysts to
bring to the table organized into the categories of core skills, business analysis skills, soft
skills, and skills that can be required for specific types of BA jobs.
Core Skills
Typically if business analysis is a good career choice, youll be able to tick off these skills (or be
extremely excited to go to work right away on improving these skills just because they sound
interesting).
Communication Skills
Business analysts must be good communicators. This means they can facilitate working
meetings, ask good questions, listen to the answers (really listen), and absorb whats being
said. In todays world, communication does not always happen face-to-face. The ability to be a
strong communicator in a virtual setting (via conference calls or web meetings) is equally
important.
Problem-Solving Skills
No project is without problems. In fact, the entire project is a solution to a problem. At the
highest level, BAs facilitate a shared understanding of the problem, the possible solutions, and
determine the scope of the project. Youll also find BAs in the midst of facilitating teams to solve
technical challenges, especially when they involve negotiation between multiple business or
technical stakeholders.
Critical Thinking Skills
Business analysts are responsible for evaluating multiple options before helping a team settle on
a solution. While discovering the problem to be solved, business analysts must listen to
stakeholder needs but also critically consider those needs and ask probing questions until the real
need is surfaced and understood. This is what makes critical thinking and evaluation skills
important for new business analyst.
While communication, problem-solving, and critical thinking skills are core to being a good BA,
they are not all thats required. Lets look at the skills specific to the business analysis profession
next.
Business Analysis Skills
The following skills are specific to the business analyst role, but even as a new business analyst
or someone looking to enter the profession, youll see its possible you have related transferable
experience (and therefore skills) doing similar work under a different title.
(By the way, this is something I can help you do a deep dive into. a virtual, self-study course
that walks you through the 8-step business analysis process.)
In this skill area, we see many cases where professionals have related experience in analyzing
problems using different techniques. Your experience is transferable and can be expanded by
applying some of the BA techniques in your current work.
Visual Modeling
A close sister to many analysis techniques is the ability to create visual models, such as workflow diagrams or wireframe prototypes. For any given analyst role, there could be specific
models you need to create. As a general skill set, its important to be able to capture information
visually whether in a formal model or a napkin drawing.
Facilitation and Elicitation Skills
BAs facilitate specific kinds of meetings. The most common kinds of elicitation sessions a BA
facilitates are interviews and observations. In some more advanced roles, the meetings are called
JAD sessions or requirements workshops.
Most new BAs have experience running very similar meetings or facilitating discussions that can
is transferable into elicitation experience.
Business Analysis Tools
As a new business analyst, the ability to use basic office tools such as Word, Excel, and
PowerPoint should be sufficient to get you into the profession.
Other technical skills include the ability to use modeling tools, such as Visio or Enterprise
Architect, requirements management tools, such as DOORS or Caliber, or project and defect
management tools (there are really too many to list these days). Its unlikely youll find these to
be required skills for a large number of positions and they will be skills you learn on-the-job.
And as important as it is to have specific business analyst skills, no list of BA skills would be
complete without the soft skills required to be successful as a BA. Lets discuss those next.
Key Soft Skills for Business Analysts
Like the core skills, you might find that you already have many of these skills in your repertoire.
However, these skills are listed separately because they may not be intrinsic to the roles youve
had in the past. You may need to actively seek out improving in these areas as you move into
your first business analyst role.
Relationship-Building Skills
First and foremost on the list of soft skills is the ability to forge strong relationships, often
called stakeholder relationships. A stakeholder is simply anyone who has something to contribute
to your project and often youll work with many stakeholders from both the business and the
technical teams.
This skill involves building trust and often means stepping into a leadership role on a project
team to bridge gaps.
Self-Managing
While BAs are not project managers, the most successful BAs manage the business analysis
effort. This means that the BA is proactive and dependency-aware. It also means they manage
themselves to commitments and deadlines; a skill set which can involve influence, delegation,
and issue management.
A Thick Skin
BAs receive a barrage of feedback on their documentation and proposed solutions. To succeed
as a business analyst you need to be able to separate feedback on your documents and ideas from
feedback on you personally.
A Paradoxical Relationship with Ambiguity
Deep down, business analysts despise ambiguity. Ambiguities in requirements specifications lead
to unexpected defects. Ambiguities in conversation lead to unnecessary conflict. At every stage
of a project, youll find a BA clarifying and working out ambiguities.
Elicitation Technics?
Answer
Matchs
Figure out where the
ambiguity or Problem Is
Putative Questions:
Asks about a situation in a way that tests your model of the domain
REQUIREMENT ELICITATION
Collecting the information and the requirements using various techniques like
System Development Life Cycle is the process of developing, implementing, and retiring
information systems through a multistep process from initiation, analysis, design,
implementation, and maintenance to disposal. It helps in establishing a system project plan,
because it gives an overall list of processes and sub-processes required for developing a system,
which means that it is a combination of various activities. In the System Analysis
and Design terminology, the system development life cycle also means software development
life cycle.
that whether the development is as per the requirement or not. The BA reviews the development
from time to time with managers.
d. Verification: Once the QA process is completed by the related team, the final Business User
Acceptance is performed by the BA so as to make sure that everything looks fine.
e. Maintenance: BA here actually does the requirement management and prepares for the next
phase or changing requirements.
Various System Development Life Cycle models are:
1. Waterfall Software Development Life Cycle Model
2. Prototyping Software Development Life Cycle Model
3. Iterative Enhancement Model
4. The Spiral Model
5. Object Oriented Methodology
6. V- Model Methodology
7. Joint application development (JAD)
8. Rapid application development (RAD)
Waterfall Model:
The Waterfall Model is a popular version of the Systems Development life cycle model for
Software Engineering. It is a linear sequential model. Waterfall development has different goals
for each phase of development. Once a phase of development is completed, the development
proceeds to the next phase and there is no backtracking. The basic steps involved in this model
are:
are called "units". Later on these units are integrated to form the complete software
package.
4. Testing
In this stage, both individual components and the integrated whole are methodologically
verified to ensure that they are error free and fully meets the requirements defined in the
first step "Analysis/Requirement Gathering". Three types of testing is done: unit testing
of single code modules, system testing of integrated products and acceptance testing
formally done by or on behalf of the customer. If defects are found then they are logged
and feedback is provided to the implementation team for correction.
5. Implementation
This step includes the actual construction of the product as per the design specification
developed in the previous steps. In this step, programmers, interface designers and other
specialists are involved using tools such as compilers, debuggers, interpreters and media
editors. The output of this step is one or more product components, built according to a
pre-defined coding standard and debugged, tested and integrated to satisfy the system
architecture requirements.
6. Maintenance
This step occurs after installation and involves making modifications to the system or an
individual component to alter attributes or improve performance. These modifications
arise either due to change requests initiated by the customer, or defects uncovered during
live use of the system. Every change made to the product during the maintenance cycle is
recorded and a new product release is performed to enable the customer to gain the
benefit of the update.
Advantages
The Waterfall Model is the oldest and most widely used model in the field of software
development. There are certain advantages of this model that makes it, one of the most widely
used models as yet. Some of them are:
Fixed requirements.
Disadvantages
With so many advantages at hand, the Waterfall Model has some disadvantages. Here are a few:
For long duration projects, requirements may change, therefore there is a potential
reduction of the acceptability of the product.
In Iterative model, iterative process starts with a simple implementation of a small set of the
software requirements and iteratively enhances the evolving versions until the complete system
is implemented and ready to be deployed.
An iterative life cycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which is
then reviewed in order to identify further requirements. This process is then repeated, producing
a new version of the software at the end of each iteration of the model.
A new technology is being used and is being learnt by the development team while
working on the project.
Resources with needed skill set are not available and are planned to be used on contract
basis for specific iterations.
There are some high risk features and goals which may change in the future.
Agile Model:
Agile SDLC model is a combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of working software product.
Agile Methods break the product into small incremental builds. These builds are provided in
iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves
cross functional teams working simultaneously on various areas like planning, requirements
analysis, design, coding, unit testing, and acceptance testing.
At the end of the iteration a working product is displayed to the customer and important
stakeholders.
What is Agile?
Agile model believes that every project needs to be handled differently and the existing methods
need to be tailored to best suit the project requirements. In agile the tasks are divided to time
boxes (small time frames) to deliver specific features for a release.
Iterative approach is taken and working software build is delivered after each iteration. Each
build is incremental in terms of features; the final build holds all the features required by the
customer.
Here is a graphical illustration of the Agile Model:
Agile thought process had started early in the software development and started becoming
popular with time due to its flexibility and adaptability.
The most popular agile methods include Rational Unified Process (1994), Scrum (1995), Crystal
Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven
Development, and Dynamic Systems Development Method (DSDM) (1995). These are now
collectively referred to as agile methodologies, after the Agile Manifesto was published in 2001.
Following are the Agile Manifesto principles
UML Diagrams:
We prepare UML diagrams to understand a system in better and simple way. A single diagram is
not enough to cover all aspects of the system. So UML defines various kinds of diagrams to
cover most of the aspects of a system.
There are two broad categories of diagrams and then are again divided into sub-categories:
Structural Diagrams
Behavioral Diagrams
Actors
Use case diagrams are drawn to capture the functional requirements of a system. So after
identifying the above items we have to follow the following guidelines to draw an efficient use
case diagram.
The name of a use case is very important. So the name should be chosen in such a way so
that it can identify the functionalities performed.
Do not try to include all types of relationships. Because the main purpose of the diagram
is to identify requirements.
The following is a sample use case diagram representing the order management system. So if we
look into the diagram then we will find three use cases (Order, Special-order and Normal Order)
and one actor which is customer.
The Special-order and Normal Order use cases are extended from Order use case. So they have
extends relationship. Another important point is to identify the system boundary which is shown
in the picture. The actor Customer lies outside the system as it is an external user of the system.
also describes the pre-condition, post condition, exceptions. And these extra elements are used to
make test cases when performing the testing.
Although the use cases are not a good candidate for forward and reverse engineering but still
they are used in a slight different way to make forward and reverse engineering. And the same is
true for reverse engineering. Still use case diagram is used differently to make it a candidate for
reverse engineering.
In forward engineering use case diagrams are used to make test cases and in reverse engineering
use cases are used to prepare the requirement details from the existing application.
So the following are the places where use case diagrams are used:
Reverse engineering.
Forward engineering.
Activity Diagram:
Activity diagram describes the flow of control in a system. So it consists of activities and links.
The flow can be sequential, concurrent or branched.
Activities are nothing but the functions of a system. Numbers of activity diagrams are prepared
to capture the entire flow in a system.
Activity diagrams are used to visualize the flow of controls in a system. This is prepared to have
an idea of how the system will work when executed.
Note: Dynamic nature of a system is very difficult to capture. So UML has provided features to
capture the dynamics of a system from different angles. Sequence diagrams and collaboration
diagrams are isomorphic so they can be converted from one another without losing any
information. This is also true for state chart and activity diagram.
Overview:
Activity diagram is another important diagram in UML to describe dynamic aspects of the
system.
Activity diagram is basically a flow chart to represent the flow form one activity to another
activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be sequential,
branched or concurrent. Activity diagrams deals with all type of flow control by using different
elements like fork, join etc.
Purpose:
The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behavior of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.
Activity is a particular operation of the system. Activity diagrams are not only used for
visualizing dynamic nature of a system but they are also used to construct the executable system
by using forward and reverse engineering techniques. The only missing thing in activity diagram
is the message part.
It does not show any message flow from one activity to another. Activity diagram is some time
considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It shows
different flow like parallel, branched, concurrent and single.
So the purposes can be described as:
Activities
Association
Conditions
Constraints
Once the above mentioned parameters are identified we need to make a mental layout of the
entire flow. This mental layout is then transformed into an activity diagram.
The following is an example of an activity diagram for order management system. In the diagram
four activities are identified which are associated with conditions. One important point should be
clearly understood that an activity diagram cannot be exactly matched with the code. The activity
diagram is made to understand the flow of activities and mainly used by the business users.
The following diagram is drawn with the four main activities:
Confirm order
Dispatch order
After receiving the order request condition checks are performed to check if it is normal or
special order. After the type of order is identified dispatch activity is performed and that is
marked as the termination of the process.
swimlane diagram
A swimlane diagram (also sometime called a cross-functional diagram) documents the
steps or activities of a process flow or workflow. More specifically, a swimlane diagram
groups these activities into swimlanes which are horizontal or vertical columns that contain
all of the activities which fit into the category represented by that swimlane.
Swimlanes can represent many categories of information such as actors which perform
the activities (i.e., role or department), the stage of the process in which the activity takes
place, or whatever else the creator of the document feels should be emphasized and
communicated by the swimlane diagram. The term swimlane was adopted due to the visual
similarity between the horizontal rows of the diagram to that of the swimlanes found within a
swimming pool.
Here is a list of 10 most popular analytic tools used in the business world.
Commercial software
MS Excel: Almost every business user has access to MS Office suite and Excel. Excel is an
excellent reporting and dash boarding tool. For most business projects, even if you run the heavy
statistical analysis on different software but you will still end up using Excel for the reporting
and presentation of results.
While most people are aware of its excellent reporting and graphing abilities, excel can be a
powerful analytic tool in the hands of an experienced user. Latest versions of Excel can handle
tables with up to 1 million rows making it a powerful yet versatile tool.
SAS: SAS is the 5000 pound gorilla of the analytics world and claims to be the largest
independent vendor in the business intelligence market. It is the most commonly used software
in the Indian analytics market despite its monopolistic pricing. SAS software has wide ranging
capabilities from data management to advanced analytics.
SPSS Modeler (Clementine): SPSS Modeler is a data mining software tool by SPSS Inc., an
IBM company. It was originally named SPSS Clementine. This tool has an intuitive GUI and its
point-and-click modeling capabilities are very comprehensive.
Statistica: is a statistics and analytics software package developed by StatSoft. It provides data
analysis, data management, data mining, and data visualization procedures. Statistica supports a
wide variety of analytic techniques and is capable of meeting most needs of the business users.
The GUI is not the most user-friendly and it may take a little more time to learn than some tools
but it is a competitively priced product that is value for money.
Salford systems: provides a host of predictive analytics and data mining tools for businesses.
The company specializes in classification and regression tree algorithms. Its MARS algorithm
was originally developed by world-renowned Stanford statistician and physicist, Jerome
Friedman. The software is easy to use and learn.
KXEN: is one of the few companies that are driving automated analytics. Their products, largely
based on algorithms developed by the Russian mathematician Vladimir Vapnik, are easy to use,
fast and can work with large amounts of data. Some users may not like the fact that KXEN works
like a black box and in most cases, it is difficult to understand and explain the results.
Angoss: Like Salford systems, Angoss has developed its products around classification and
regression decision tree algorithms. The advantage of this is that the tools are easy to learn and
use, and the results easy to understand and explain. The GUI is very user friendly and a lot of
features have been added over the years to make this a powerful tool.
MATLAB: is statistical computing software developed by Math Works, MATLAB allows matrix
manipulations, plotting of functions and data, implementation of algorithms and creation of user
interfaces. There are many add-on toolboxes that extend MATLAB to specific areas of
functionality, such as statistics, finance, image processing, bioinformatics, etc. MATLAB is not
free software. However, there are clones like Octave and Scilab which are free and have similar
functionality.
Open Source Software
Weka: Weka (Waikato Environment for Knowledge Analysis) is a popular suite of machine
learning software, developed at the University of Waikato, New Zealand. Weka, along with R, is
amongst the most popular open source software used by the business community. The software is
written in the Java language and contains a GUI for interacting with data files and producing
visual results and graphs.