Вы находитесь на странице: 1из 37

BUSINESS ANALYSIS

CONTENTS
DEFINITION A BUSINESS ANALYSTS WORKDAY RESPONSIBILITIES OF AN ANALYST LEVELS OF BUSINESS ANALYSIS DELIVERABLES TYPES OF ANALYSIS SDLC PHASES SDLC MODELS REQUIREMENTS GATHERING TECHNIQUES DOCUMENTATION FORMATS UML DIAGRAMS DATA ANALYZING TOOLS RUP CMM Q-GATE JAD SESSIONS GAP ANALYSIS SOFTWARE TESTING TECHNIQUES QTP

DEFINITION
Business Analysis is a process of identifying business needs and determining solutions to business problems. Business Analyst (BA) is the one who analyses the existing design and proposes a new design or ways to modify the existing design. A BA does not have a pre-defined or a fixed role. The role of a BA is not only restricted in the IT sector but, they also work in various sectors such as finance, banking, insurance, telecom, utilities, etc. A BA has a key role at the inception of any project. A BA can be termed as a Mediator between the technical and the business end of stakeholders.

A BUSINESS ANALYSTS WORKDAY


Scheduling clients: You will need to spend a lot of time talking to the business and IT operations teams. Also, you will need to frequently schedule projects for different clients. Observation: An analyst spends majority of his time observing the day to day operations of the various departments.He will spend a lot of time each day observing the requirements of the organization, business process flow, the various systems available to the staff and how these are being used to optimize the workings of a department. Additionally, he may also have to spend a significant amount of time studying the client procedures and policies. Review and Analysis: The data procured through observation, meetings and discussions is then compiled and analyzed. Also, the analyst will have to review previous reports that help to understand the issues afflicting the day to day operations of the company. The analysis phase will finally lead to the solution phase wherein the analyst will be expected to provide solutions to streamline the business process. Preparing Reports: Once the problems have been analyzed and solutions have been devised, an analyst has to put it all down in black and white, in the form of a report. Business analysts will have to provide detailed reports on the various solutions proposed by him and how each of these help to solve a specific problem. Financial estimates will also be part of such reports. Client meetings: Business analysts will also need to spend a considerable amount of time interacting with the internal or external clients.

BUSINESS ANALYST

RESPONSIBILITIES OF AN ANALYST
Scope the entire system. Problem identification & solution formulation. Interpret the business needs. Market Analysis Risk Analysis. Strategy Development. Cost control. Data collection. Spell out the project details and requirements. Put development team in touch with the right people. Translate technical issues. Test & Validation of the software. Represent Project Stakeholders throughout the project. Needs to control change throughout the project so that it does not impact the delivery date,cost and working hours of developers. Needs to create a win-win situation for the client as well as the company.

BUSINESS ANALYSIS

LEVELS/TIERS OF BUSINESS ANALYSIS


A. STRATEGIC PLANNING: Understanding the vision, mission and values of the organization. Mechanisms: Situation-Target-proposal : Evaluate the current situation and how it came about.Define the goals or objectives.Map a possible route to the goals/objectives. Draw-See-Think-Plan: Ideal image or the desired end state-Todays situation?Gap from ideal and why?-Specific actions to be taken to bridge the gap-Resources required to execute the activities. SWOT Analysis: Identify the Strength-Weakness-Opportunity-Threat.

LEVELS/TIERS OF BUSINESS ANALYSIS


Scenario Planning: Used to make flexible long-term plans.

PEST Analysis: Political factors which include tax policy,labour law,trade restrictions,tariff. Economical factors like economic growth,exchange rates,inflation rates. Social factors like population growth,age distribution,career attitudes. Technological factors.

LEVELS/TIERS OF BUSINESS ANALYSIS


B. BUSINESS MODEL ANALYSIS: Describes the rationale of how an organization creates, delivers and captures values. Mechanisms: Bricks & Clicks Model: Known as the Offline & Online method. Eg: A chain of stores allows an user to order any product online but lets them pickup the order from the local stores. Cutting Out the MiddleMan Model: Removal of intermediaries such as the distributors, wholesalers, retailers, brokers or agents.Instead deal with the customers directly via the internet. Direct Sales Model: Marketing and selling the product away from a fixed retail location, usually door-to-door or at workplaces.

LEVELS/TIERS OF BUSINESS ANALYSIS


Fee In, Free Out Model: Charge the first client fee for the service,while offer the same free of charge to the subsequent clients. Franchising: Using another firms successful business model,usually to avoid investment and liabilities.Its observed that a Franchisee has a greater incentive than a direct employee,as he has a direct stake in the business. Freemium Business Model: Offers basic web services, basic downloadeable digital products for free,while charging a premium for the advanced or special features.

LEVELS/TIERS OF BUSINESS ANALYSIS


C. PROCESS DEFINITION & DESIGN: Provide new facilities or modify existing ones Documentation

D. TECHNICAL/SYSTEM ANALYSIS: Identify the software needs and develop software accordingly.

DELIVERABLES
Business Requirements Project initiation document.

Functional Requirements.
Stakeholder requirements. Non Functional Requirements. Implementation Requirements. Report Specifications Defines purpose of project, justification,etc. Traceability Matrix Records requirements through each stage of requirements gathering process.Takes into account the changes during the life of the project.At the end, it should show each function built into the system, source and reason that any stated requirement may not have been delivered.

TYPES OF ANALYSIS
Architectural Analysis: Used to model the hardware and the software architecture of the system. Business Process Analysis: It is a collection of related activities that produce a specific product for a particular customer. It consists of Management, Operational (Purchasing,Manufacturing,Advertising,Marketing and Sales) and Supporting (Accounting, Recruitment, Call center and Technical support) processes. Object Oriented Analysis: It models the system as a group of interacting objects,and is characterised by its Class,State and Behaviour. Structured Analysis: Method for analyzing and converting business requirements into specifications,and ultimately computer programs,hardware configurations and related manual procedures.

SDLC PHASES
Inorder to prevent Schedule Slippage,Cost Overrun,and Inferior quality of software, Software Development Life Cycle (SDLC) was introduced.It.has the following 6 phases: Feasibility analysis: Includes analysis of project requirements in terms of input data and desired output data,processing required to transform,cost benefit analysis and schedule of the project.At the end of this phase,a feasibility report for the entire project is created.

Requirement Analysis and Specification: Includes gathering,analyzing,validating and specifying requirements.At the end of this phase,the Software Requirement Specification(SRS) document is created,which acts as a formal written agreement between the development team and the customer.
Design: Includes translation of the requirements specified in the SRS into a logical structure that can be implemented in a programming language.

SDLC PHASES
Coding: Implements the design specified,into executable programming language code.

Testing: This process starts with a test plan that recognises test related activities,such as test case generation,testing criteria and resource allocation for testing.The code is tested and mapped against the design document.The output of this phase is a test report that contains errors detected in the software.

Maintenance: Includes implementation of changes that the software might undergo over a period of time,or implementation of new requirements after the software is deployed at the customer location.Also includes handling the residual errors that may exist even after the testing phase.

SDLC PHASES

SDLC MODELS
I. WATERFALL MODEL: Describes the software development process in a linear sequential flow,which means that any new phase begins only if the previous phase is complete.It does not define the process to go back to the previous phase to handle changes in the requirement assumes that the requirements are stable and frozen across the project plan.It consists of the Conception,Initiation,Analysis,Design,construction,integration & Testing and Implementation & Maintenanace phases.

II.

PROTOTYPE MODEL: A prototype is a sample implementation of the system that shows limited and main functional capabilities of the proposed system.It helps the customer determine how the features will function in the final software.The customer then provides suggestions and improvements on the prototype,which is then implemented by the development team and resent to the customer for evaluation.This process continues until the customer and the development team understand the exact requirements.When the final prototype is developed,the requirements are considered to be frozen. However it may give clients the false impression that a few minor changes to the prototype will give them the required system,and it may also compromise on the overall quality of the software in the rush to develop the prototype.

SDLC MODELS
III. SPIRAL MODEL: It includes the iterative nature of the prototype approach and the linear nature of the Waterfall approach.This model is ideal for developing software that are released in various versions.This Model includes six phases, viz, Customer communication Planning Risk analysis Engineering Construction and release Customer evaluation. WIN-WIN SPIRAL MODEL: This is an extension of the spiral approach.The only difference is that at the time of identifying the requirements,the development team and the customer hold discussions and negotiate on the requirements that need to be included in the current iteration of the software.It is called win-win because it is a winning situation for the development team and also for the customer.This approach is generally used when we have time-bound releases.

a. b. c. d. e. f. IV.

SDLC MODELS
V. INCREMENTAL MODEL: In this,the software requirements are broken down into various functional units.These functional units contain a group of similar tasks.A project activity list is craeted to prioritize the functional units with various activities to be performed in each functional unit.Each functional unit is implemented in an increment and the final product is achieved after all the functional units are implemented in the development process.Each increment includes three phases - Design,Implementation and Analysis.However,the limitation of this approach is that it is applicable only to large applications.

REQUIREMENTS GATHERING TECHNIQUES


INTERVIEW STAKEHOLDERS: This is done to obtain the requirements of the new software system.Direct questions are asked to identify how the new software system will fulfill the requirements of the stakeholder.Stakeholders should be probed to define the conflicting requirements in detail.It should involve a context free discussion.The input gathered from the interview is to be documented in an Universally accepted language,such as English and also Recorded if possible. CONDUCTING BRAINSTORMING SESSIONS: It helps the stakeholders to identify new features and resolve ambiguities in the requirements,if any.It involves Idea generation and Idea reduction.All the stakeholders must be encouraged for participation.They should be allowed to criticize as well as appreciate additional ideas.Multiple ideas should be generated in a short span of time. PREPARING QUESTIONNAIRES/CONDUCTING SURVEYS: Generally the questions can be about the expected software behaviour,the time required to complete the project,or the required output of a particular process.Normally the questionnaire round is conducted before interviewing the customer,so that the customer is pepared well in advance for the interview.

REQUIREMENTS GATHERING TECHNIQUES


OBSERVE THE EXISTING PROCESS: This technique requires the analyst to visit the customer site to understand how the existing process works and to identify the people involved in a process.The analyst needs to identify the flow of information from one department to another.This helps the analyst to identify how to integrate the existing software with he proposed sodtware. APPOINT A DOMAIN EXPERT: Consulting a domain expert who has expertise about the technicalities of the existing process will help to develop a robust software solution. STORYBOARDING: This technique involves the task of designing a series of user interfaces on paper before developing the actual system.It enables to obtain customer feedback on how the system should work.The various types of storyboarding techniques are Passive(Sketches,pictures,screen Shots,presentations or sample application outputs), Active(Animations,Recorded Computer Script) and Interactive (Simulations or prototypes).

DOCUMENTATION FORMATS
Textual In the form of Word Document, Excel sheet or a PPT Presentation. Traceability Matrix In the form of a table,that correlates any two documents which require many-to-many relationship. Bar Graphs/Pie Charts/Flow charts. Data Flow Diagrams/Process Flow diagrams/Instrumentation diagrams. UML Diagrams - Unified Modelling Language(UML) is a standard language for creating blueprints that depict the structure and design of the software system.Rational Rose,jude,AgroUML,Visio and Poseidon are some of the UML tools.There are 13 UML diagrams to represent the structure and design of a system.

UML DIAGRAMS
1. USE CASE DIAGRAMS: It depicts the various operations that a system performs.It consists of a Use Case,Actors,and their relationships.Use cases are the sequences of actions that form a single unit of work for an actor.An actor represents a user who is external to the system and interacts with the system. CLASS DIAGRAMS: It represents a set of classes,interfaces and their relationships.A class is represented in a rectangular box with three compartments.The first compartments shows the class name,second shows the attributes and third shows the methods associated with the class. OBJECT DIAGRAMS: It represents instance of a class diagram.It is represented by a rectangular box with two comaprtments.The first compartment shows the Object Name and the class name,and the second shows the attributes of the objects.

2.

3.

UML DIAGRAMS
4. COMMUNICATION DIAGRAMS: Represents interaction between objects in the form of messages.Also known as Collaboration diagrams. SEQUENCE DIAGRAMS: Represents interaction between objects in the form of messages,ordered in a sequence by time.

5.

6.

STATE MACHINE DIAGRAMS: It shows how a class reacts when an event occurs.Also known as State Chart diagram.
ACTIVITY DIAGRAMS: It depicts the flow of control from one activity to another.

7.

UML DIAGRAMS
8. PACKAGE DIAGRAMS: All the inter related classes and interfaces of the system when grouped together form a package.Package diagrams help in representing the various packages of a software system and the dependencies between them.

9.

COMPONENT DIAGRAMS: Packages or individual entities are combined to form components.These components are then depicted through Component diagrams.

10.

DEPLOYMENT DIAGRAMS: Depicts the physical placement of components in nodes over a network.

UML DIAGRAMS
11. TIMING DIAGRAMS: Used to represent the changes in state and value of one or more objects over a period of time.They are of 2 types Concise Notation: A value lifeline is used to represent the changes in the value of objects over a period of time. Robust notation: A state lifeline is used to represent the cahnges in the state of objects over a period of time.

12.

COMPOSITE STRUCTURE DIAGRAM: Used to represent the internal structure and interaction points of a class,object or interface. It is made up of several elements such as parts,ports and interfaces.A Part is an element that represents a set of one or more instances owned by the containing classifier instance.A port is an interaction point between a classifier instance and its environment.A classifier can have multiple ports to show different interactions.A port can interact in both directions.The services provided and required by a classifier are represented as interfaces.A provided interface is represented as a ball on a stick and a required interface is represented as a socket on a stick.

UML DIAGRAMS
13. INTERACTION OVERVIEW DIAGRAMS: Represents the logical interaction between the interaction diagrams and the process flows in between the set of interaction diagrams.They consist of Interaction elements and Interaction occurrence elements.Interaction elements display an inline interaction diagram.Interaction occurrence elements are visually represented by a frame,with ref in the frames title space.

DATA ANALYZING TOOLS


CaliberRM by Borland: It is a web based system that supports collaborative development. Ideascope by Orasi: Ideascope allows you to send surveys to stakeholders, capture their responses, rank and prioritize their ideas and turn them into requirements. iServer by Orbus Software: iServer is a repository for Microsoft Visio shapes and Microsoft Office documents. The repository allows objects to be reused, shared, and provides an audit trail of changes. It also provides version control. Rational Team Unifying Suite by IBM It supports requirements documentation and management, traceability to test cases, and issue tracking.

SmartDraw SmartDraw is a graphic diagramming tool that includes stencils for ANSI flowcharts, organizational charts, swim lane diagrams and, data flow diagrams.

RUP
Rational Unifying Process (RUP) is used to achieve standardization and improvement of existing processes. RUP has an Inception, Elaboration, Construction and Transition phase. RUP has engineering disciplines such as Business Modeling, Requirements, Analysis & Design, Implementation, Test , Deployment. It also has some supporting disciplines such as Configuration and Change Management, Project Management and Environment.

CMM
CAPABILITY MATURITY MODEL (CMM) is a way to develop and improve the process of an organisation.It is a structure of several components that describe the characteristics of a successful business. LEVEL I : Here the organisation processes are Ad-Hoc and mostly an organisation does not provide a stable environment.So the success of these organisations depend upon the people in the organisation and the competitiveness. LEVEL II : Here the software development success are repeatable.The process may not be repeatable for all projects in the organisations.Company may use some basic concepts.Some times when in stress,companies may use the existing or past success processes in present to overcome the problems. LEVEL III : Organisations have a set of standard processes for its success.The difference between Level II and Level III are scope of standards,process descriptions and also standards,procedures.At Level II, the standards and procedures may be quite different from project to project, whereas in Level III it would be the same IN most cases. LEVEL IV : Focuses on improving technologies and innovative trends in terms of modernisation and technology to meet the up to date industry standards.Quantitative process improvement objectives are established.The effect of deployed process improvements are measured and evaluated.

Q-Gate
Q-Gate or Quality Gate is a technique employed for quality assurance.Q-Gate when used in combination with project management helps to manage the balance between project cost,software cost,functionality and quality.It acts as aprocess end phase for a particular phase and acts as a Gate from where a project moves from one phase to another phase. Some of its benefits are as follows: Project StakeHolders share responsibilities with the Project Manager for the quality outcome of a product/project. It provides an easy assessment tool for the developers/testers to see the quality of product at each stage,so that they can deliver a quality product at each stage. Enhances project communications and thereby improve the quality of the project.

Tells what already happened and what should have been happening and communicates it to all the stakeholders.

JAD SESSIONS
It brings together business area people (users) and IT professionals in a highly focussed workshop. Participants typically include: Facilitators - who facilitate discussions, enforce rules. End Users Developers Tie Breakers - Senior Manager, who breaks end user ties. Observers Subject Matter Experts. Advantages: Shortening of Time. Improves quality of final product. Reduce likelihood of errors that are expensive to correct later on.

GAP ANALYSIS
The process of determining,documenting and approving the variance between business requirements and system capabilities. Process of determining and evaluating the variance or distance between two items properties being compared. The study of differences between two different systems or applications,often for the purpose of determining how to get from one state to a new state. A Gap is sometimes spoken of as the space between where we are and where we want to be. Gap analysis is undertaken as a means of bridging that space.

SOFTWARE TESTING TECHNIQUES


Unit Testing: It is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures are tested to determine if thy are fit for use. Integration Testing: It is a method in which individual software modules are combined and tested as a group.The purpose of this testing is to verify functional,performance and reliability requirements placed in the design. Black-Box Testing: This method tests the functionality of the application.

White-Box Testing: This method tests the internal structures or working of an application.

SOFTWARE TESTING TECHNIQUES


Regression Testing: This testing is done to uncover new software bugs or regressions in existing functional and non functional areas of the system after changes such as enhancements,or configuration changes made to them.The intent is to ensure that a change such as a bug fix did not introduce new faults.

User Acceptance Testing: This process is done to obtain confirmation that a system meets mutually agreed upon requirements. UAT is either done by making the software available for a free trial,typically over the Internet,or by using an in-house testing panel comprised of users who would be using the product in real-world applications.UAT is done in order to get feedback from users to make any final adjustments to the programming before releasing the product to the general public. It is also called as Beta testing, end user testing or application testing.

QTP
QuickTest Professional (QTP) is a graphical interface record playback automation tool , which works with any web, Java or Windows client applications.

It enables us to test standard web objects and ActiveX controls.

It also enables us to test Java applets and applications and multimedia objects on Applications as well as standard windows applications , Visual Basic 6 applications and .NET framework applications.