project requriement management vs agile software development

19
REQUIREMENT ENGINEERING IN AGILE SOFTWARE DEVELOPMENT Presenting by KVN Pavan Kumar [email protected] 9849385640

Upload: bizpresenter

Post on 07-Dec-2014

143 views

Category:

Technology


1 download

DESCRIPTION

This is presenting about Project Requirement Management Vs Agile Software Development for a BA and other supportive team.

TRANSCRIPT

Page 1: Project Requriement Management Vs  Agile software development

REQUIREMENT ENGINEERING IN AGILE SOFTWARE DEVELOPMENT

Presenting by KVN Pavan Kumar

[email protected]

9849385640

Page 2: Project Requriement Management Vs  Agile software development

ABSTRACT Finding out, analyzing, documenting, and checking

requirements are important activities in all development approaches, including agile development.

This presentation discusses problems concerned with Current Problem Agile Manifesto Agile Guidelines & Principles Agile Approach Agile Methods Requirement Engineering SCRUM SCRUM Implementation in RE XP XP Implementation in RE Wrap up Final touch

Page 3: Project Requriement Management Vs  Agile software development

PROBLEM How (user) requirements can be captured and

specified in the context of agile software development approaches.

The traceability problem in agile software development, since the current traceability between agile software artifacts is ill defined. In particular, we discuss how to solve the traceability

problem by extracting some important information from software artifacts to identify a traceability links between them, we also discuss how these links can be used to improve the decisions making process and help developers during the refactoring process.

Finally, this presentation presenting with a set of guidelines for agile requirements engineering.

Page 4: Project Requriement Management Vs  Agile software development

AGILE APPROACH The agile approach is creating a stir in the software

development community. Agile methods are reactions to traditional ways of

developing software and acknowledge the “need for an alternative to documentation driven, heavyweight software development processes”.

In the implementation of traditional methods, work begins with the elicitation and documentation of a “complete” set of requirements, followed by architectural and high-level design, development, and inspection.

The industry and technology move too fast, requirements “change at rates that swamp traditional methods” and customers have become increasingly unable to definitively state their needs up front while, at the same time, expecting more from their software.

Page 5: Project Requriement Management Vs  Agile software development

AGILE MANIFESTO

The Agile Manifesto states valuing “ individuals and interaction over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to changes over following a plan”

Page 6: Project Requriement Management Vs  Agile software development

GUIDELINES FOR AGILE REQUIREMENT ENGINEERING

1. Working software is delivered frequently (weeks rather than months).

2. Working software is the principal measure of progress.

3. Customer satisfaction by rapid, continuous delivery of useful software.

4. Even late changes in requirements are welcomed.

5. Close daily cooperation between business people and developers.

6. Face-to-face conversation is the best form of communication.

7. Projects are built around motivated individuals, who should be trusted.

8. Continuous attention to technical excellence and good design.

9. Simplicity.

10. Self-organizing teams.

11. Regular adaptation to changing circumstances.

Customer Involvement Agile Project Contracts Frequent Releases Requirement Elicitation

Language Non Functional Requirements Smaller agile teams are

Flexible Evolutionary Requirements Requirement Splitting Requirement Traceability

Agile Principles Agile Guidelines for RE

Page 7: Project Requriement Management Vs  Agile software development

AGILE METHODS

Page 8: Project Requriement Management Vs  Agile software development

AGILE METHODS

Feature-Driven Development (FDD) It consists of a minimalist, five-step

process that focuses on building and design phases each defined with entry and exit criteria, building a features list, and then planning-by feature followed by iterative design-by-feature and build by- feature Steps.

In the first phase, the overall domain model is developed by domain experts and developers.

The overall model consists of class diagrams with classes, relationships, methods, and attributes.

The methods express functionality and are the base for building a feature list.

A feature in FDD is a client-valued function.

The feature lists is prioritized by the team.

The feature list is reviewed by domain members .

FDD proposes a weekly 30-minute meeting in which the status of the features is discussed and a report about the meeting is written.

ADM FDD

Agile Driven Modeling (ADM)

It gives the developers a guideline of how to build models - using an agile philosophy as its backbone- that resolve design problems and support documentation purposes but not ’over-build’ these models.

The aim is to keep the amount of models and documentation as low as possible.

The RE techniques are not explicitly referred in AM but some of the AM practices support some RE techniques like brainstorming.

Page 9: Project Requriement Management Vs  Agile software development

DYNAMIC SYSTEMS DEVELOPMENT METHOD

Dynamic Systems Development Method (DSDM) was developed in the U.K. in the

mid-1990s. It is an outgrowth of, and

extension to, Rapid Application Development (RAD) practices.

The first two phases of DSDM are the

Feasibility study and The Business study.

During these above two phases the base requirements are elicited.

Further requirements are elicited during the development process.

DSDM does not insist on certain techniques.

Thus, any RE technique can be used during the development process.

DSDM’s nine principles include Active user involvement, Frequent delivery, Team decision making, Integrated testing

throughout the project life cycle,

Reversible changes in development.

DSDM Principles of DSDM

Page 10: Project Requriement Management Vs  Agile software development

REQUIREMENT ENGINEERING

Page 11: Project Requriement Management Vs  Agile software development

SCRUM

Scrum is an empirical approach based on flexibility, adaptability and productivity.

The Scrum leaves open for the developers to choose the specific software development techniques, methods, and practices for the implementation process.

Scrum provides a project management framework that focuses development into 30-day Sprint cycles in which a specified set of Backlog features are delivered.

The core practice in Scrum is the use of daily 15-minute team meetings for coordination and integration.

Scrum has been in use for nearly ten years and has been used to successfully deliver a wide range of products

Page 12: Project Requriement Management Vs  Agile software development

REQUIREMENT ENGINEERING IMPLEMENTATION IN SCRUM

SNO Requirement Engineering Activity

SCRUM Implementation

1 Elicitation •Product Owner formulates the Product Backlog.•Any stakeholders can participate in the

Product Backlog.

2 Analysis •Backlog Refinement Meeting.•Product Owner prioritizes the Product Backlog.•Product Owner analyzes the feasibility of requirements.

3 Documentation •Face 2 Face Communication

4 Requirement Validation •Review Meetings

5 Management •Sprint Planning Meeting.•Items in Product Backlog for tracking.•Change requirements are added/deleted to/from Product Backlog.

Page 13: Project Requriement Management Vs  Agile software development

EXTREME PROGRAMMING ( XP)

Extreme Programming (XP) is based on values of Simplicity, Communication, Feedback, and Courage.

XP aims at enabling successful software development despite vague or constantly changing software requirements.

The XP relies on the way the individual practices are collected and lined up to function with each other.

Overview Good Practices of XP

Page 14: Project Requriement Management Vs  Agile software development

REQUIREMENT ENGINEERING IMPLEMENTATION IN XP

SNO Requirement Engineering Activity

XP Implementation

1 Elicitation •Requirements elicited as stories.•Customers write user stores.

2 Analysis •Not a separate phase.•Analyze while developing.•Customer prioritizes the user stories.

3 Documentation •User stories & acceptance tests as requirements documents.•Software products as persistence information.•Face-to-face communication.

4 Requirement Validation •Test Driven Development (TDD).•Run acceptance tests.•Frequent feedback.

5 Management •Short planning iteration.•User stories for tracking.•Refactor as needed.

Page 15: Project Requriement Management Vs  Agile software development

PROCESS OF REQUIREMENT TRACEABILITY FROM THE CODE

Page 16: Project Requriement Management Vs  Agile software development

WRAP UP The secret of the success of agile RE is

customer collaboration, good agile developers, and experienced project managers.

Recommendations to solve the Requirement Documentation on problem in agile projects, To make agile methodology suitable for handling

projects with critical (Functional and non functional) requirements,

To allow agile teams involved in large software projects to work in parallel with frequent communications between them

The traceability problem in TDD environment to re-establish traceability after refactoring and to use traceability to improve refactoring.

Page 17: Project Requriement Management Vs  Agile software development

AGILE DEVELOPMENT ADOPTION

Page 18: Project Requriement Management Vs  Agile software development

FINAL TOUCH

This presentation is reflecting about How Requirement engineering can use in Agile software development

I am the KVN Pavan Kumar having 15 years total experience and out of this 8 years in dedicated IT BA experience and 7 Years in Domain Experience.

IT Domains worked during my past professional IT BA experience is ecommerce & Retail, Social Media gaming, E-learning, Entertainment, Health care, Mobile apps, Secondary research,

Worked on Agile methods during my Professional IT BA experience is Involved in Product centric as well as Client centric Project from

scratch to implementation. Having good exposure as Social Media analyst role.

Page 19: Project Requriement Management Vs  Agile software development

Prepared By : KVN Pavan KumarSr.Business Analyst

Contact: 9849385640Email : [email protected]

Google Talk : [email protected] : pavan.fico

LinkedIn: in.linkedin.com/pub/pavan-kumar-kvn/3/a49/95b/

I am ready to work as full time consultant or on Contract base Consultant those who are looking for any of the core roles as presented below :

•Pre-Sale Consultant•Requirement Analyst•PMO Coordinator•Social Media Analyst•Subject Matter expert•Enterprise Product Business analyst