www.qbi.in QBI Institute SDLC+Agile Business Analysis
Jul 26, 2015
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
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
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
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
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
Synonyms of “Agile” Nimble, Supple, Lithe, Sprightly, Alert, Responsive, Swift Active
Agile
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
• 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
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
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