44
www.qbi.in QBI Institute SDLC+Agile Business Analysis

Sdlc + agile business analysis

Embed Size (px)

Citation preview

www.qbi.in

QBI Institute

SDLC+Agile Business Analysis

www.qbi.in

About The Speaker

• Vijay S Shukla• Director @ QBI Institute• BE IIT Roorkee 1994, Masters in Management IIT

Bombay 1997• Experience in Business Analysis, Client Site

Management, ERP Product Architecture, Software Product Management

• www.qbi.in, [email protected], +91-9810055734

www.qbi.in

Agenda

• What is Computer Software• Types of Computer Software• How Do We Develop Computer Software• SDLC (Software Development Life Cycle) – Typical Steps• SDLC Common Methodologies• Agile Methodology and Philosophy• Agile Business Analysis

www.qbi.in

What is Computer Software

www.qbi.in

Types of Computer Software

• System Software e.g. Compilers, Editors, significant hardware interface

• Real Time Software• Business Software e.g. ERP Systems• Engineering and Scientific Software – Computer Aided Design,

Simulators etc.• Embedded Software e.g. Key Pad control of Microwave oven• Personal Computer Software e.g. Desktop based office systems• Web Based Software• Artificial Intelligence Software – pattern recognition software ,

neural networks

www.qbi.in

How We Develop Softwaree.G Visual Studio 2010E.G Agile, RUP etc

Detailed Procedures, Docs etc

www.qbi.in

Software Development Life Cycle

• Analysis• Design• Development• Testing• Implementation• Operations & Support

www.qbi.in

Analysis

• Requirements are the key focus of Analysis Phase• Requirements Engineering and Management• Requirements Elicitation, Analysis, Documentation, Validation

and Communication is the key activity• This phase has a focus on Behavioral aspects of software

www.qbi.in

Design

• Like Requirements Design is to be Documented• Design Represents the Structural Aspect• Design has four components – Data Structure, Software

Architecture, Interface Representation & Algorithmic Detail

www.qbi.in

Development

• We develop according to design• Software starts taking up shape

www.qbi.in

TestingObjective & Intent (Myers 1979)• Testing is a process of executing a program with the intent of finding an error• A good test case is one that has a high probability of finding an as-yet

undiscovered error• A successful test is one that uncovers an as-yet-undiscovered error

Importance“ Software Testing is a critical element of software quality assurance and represents the ultimate review of specification, design and code generation.” Roger Pressman

Why at all software has defects• Bad Communication & Specification• Bad Design• Bad Coding

www.qbi.in

• Installation• Configuration• Demonstration• Training• Hand Holding• Parallel Run and Going Live• User Acceptance Testing• Work-Around• On Boarding

Implementation

www.qbi.in

Operations & Support

• Operations – Maintain Business Availability, Continuity and Ensure Service Level Agreements

• Support • Correction – Removal of Bugs or Defects• Adaptation Changing to external environmental changes e.g

making your software fit for use for smaller Hand Held Devices or tablets, Operating System Version Change

• Enhancement – Provide for new functionality also called as Perfective maintenance

• Prevention – Leads to Easy Correction, Adaptation and Enhancement

www.qbi.in

Greenfield DevelopmentPackage ImplementationData & Platform Migration Maintenance & SupportData-warehousing and Business IntelligenceThird Party Testing Projects

www.qbi.in

Software Development Methodologies / Models• Linear Sequential or Waterfall Model• Prototyping Model• Iterative Methodologies• Agile Methodologies

www.qbi.in

Linear Model

www.qbi.in

Waterfall Model is a Linear Model

Linear Models have come out of Manufacturing or Factory Environments

Limitations Inflexible Can not easily adjust to changesILL suited to world of quick change

www.qbi.in

Prototyping Model

www.qbi.in

Rational Unified Process• Inception – Corresponds to Feasibility Study, Scope Identification,

Business Requirements Identification, Budget , Technology Finalization etc

• Elaboration – Detailed Requirements Engineering and Management, Design

• Construction - Development• Transition – Testing, Implementation, Live Run

To Explore Further Visit• http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process

www.qbi.in

6 Best RUP Practices• Develop Iteratively• Manage Requirements• Use Components• Model Visually• Verify Quality• Control Changes

www.qbi.in

Agile Methodologies

I am Agile , What About You

www.qbi.in

Synonyms of “Agile” Nimble, Supple, Lithe, Sprightly, Alert, Responsive, Swift Active

Agile

www.qbi.in

Agile Vs Waterfall

www.qbi.in

Agile Philosophy

www.qbi.in

Agile Philosophy

www.qbi.in

Agile Methodology

www.qbi.in

Agile Business Analysis

• Irrespective of Software Development Methodology role of Business Analyst is critical to the project

• Agile methodology is characterized by frequent feedback loops• Agile focuses on close interpersonal project communication• Agile development is iterative development• Agile Methodologies: Scrum, Extreme Programming, Kanban,

Crystal, DSDM, Feature Driven Development and Adaptive Software Development

www.qbi.in

SCRUM

www.qbi.in

Scrum

• One of the Popular Agile / Iterative Development Processes

• Scrum Terminology / Vocabulary: • Sprint, Scrum Meetings or Ceremonies: Sprint

Planning, Daily Scrum, Sprint Reviews, Sprint Retrospectives, Product Backlog, Scrum Roles: Product Owner, Scrum Master, Team

• Product Backlog is the Requirements Catalog which has both functional and non functional requirements

www.qbi.in

Scrum

• Sprint Planning: Happens at the beginning of Sprint• Scrum Terminology / Vocabulary: • Sprint, Scrum Meetings or Ceremonies: Sprint

Planning, Daily Scrum, Sprint Reviews, Sprint Retrospectives, Product Backlog, Scrum Roles: Product Owner, Scrum Master, Team

• Product Backlog is the Requirements Catalog which has both functional and non functional requirements

• Sprint Planning: Happens at the start of Sprint, Product Backlog and Sprint Backlog are updated

www.qbi.in

Scrum

• Sprint Review: Happens with customer at the end of Sprint and involves a demonstration

• Sprint Retrospective: Happens at the End, the Sprint development team tries to learn from experience and moves ahead for the next Sprint

• Product Owner – Managing the backlog• Scrum Master – Managing the Process Removing

Obstacles• Team

www.qbi.in

SCRUM Development Process

www.qbi.in

www.qbi.in

Extreme Programming

• Extreme Programming is another popular agile methodology

• Extreme Programming Vocabulary: User Stories, Release Planning and Execution, Release Planning, Iteration Planning , Daily Planning, Roles: Customer, Developer, Tracker

• User Stories: Serve the purpose to identify, priortize requirements for an iteration,

• Release: Next Level of Product equipped with additional features and or removal of defects identified earlier

• Iteration: Several iterations make up a release

www.qbi.in

www.qbi.in

www.qbi.inStory Map

www.qbi.in

Extreme Programming Process

www.qbi.in

XP Roles

• Customer: Creates and Priortise User Stories• Developer: Communicates Directly with the Customer,

builds what is necessary• Tracker : Tracks the Project

www.qbi.in

BA Role in Extreme Programming

• BA Role in Extreme Programming is not explicitly defined• For large Projects, For Projects where customer is not

knowledgeable BA role becomes important• Tracker : Tracks the Project

www.qbi.in

BA Techniques in Extreme Programming

• User Stories – leads to identification of stakeholders and their requirements

• Story Mapping – relationship between users stories, something similar to workflows

• Story Decomposition – Features are explored in detail• Story Elaboration – Involves design and acceptance

criteria

www.qbi.in

Kano Analysis as Agile BA Technique

• Crux of Kano Analysis is Feature Implementation Vs Customer Satisfaction Grid

www.qbi.in

ANY QUERY!!YOUR TEXT HERE