Agile Software Development Methodology

27
Presented by Prageeth Sandakalum Faculty of Information Technology, University of Moratuwa. [email protected] Agile Software Development Methodologies

description

 

Transcript of Agile Software Development Methodology

Page 1: Agile Software Development Methodology

Presented by

Prageeth SandakalumFaculty of Information Technology,

University of Moratuwa.

[email protected]

Agile Software

Development

Methodologies

Page 2: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

The Agenda...

1. What is SDLC ?

2. The heavyweight approaches

3. Why Agile ?

4. The Agile Approach

5. The Principles of Agile

6. Agile for different Organizations

7. Agile Project Development Issues

Requirement Analysis, Project Management, Effort

Estimation & Software Pricing

6. Applications of Agile

7. Extreme Programming, Scrum and Crystal Methods

8. Agile Compared…

9. Advantages and Limitations

10. Let’s get back to what we studied

Page 3: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

It’s all about birth and death

What is SLDC ?

What are the approaches to developing software Systems?

Process-Oriented Approach

Data-Oriented Approach

People Driven Approach ??

Is there one best way?

What is the difference between techniques, methodologies & tools?

What does the popular term “SDLC” actually mean?

Page 4: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

The ever loving “Waterfall”

Heavyweight Approaches

Page 5: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Features

Waterfall Continued….

Easy to follow.

Can be used for any sized project

Every stage will be done at a specific time

Documentation is produced at every stage

Testing is done at every stage.

Page 6: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Advantages

Waterfall Continued….

Early visibility of potential problems.

Requirements won't be changed.

Easy to learn with the documentation

Need only to follow the design

Ideal for Critical Systems

Page 7: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Disadvantages

Waterfall Continued….

Change of requirements is costly

Lack of flexibility

Comparatively more time required

A black box to the customer

Not applicable to RAD type projects

Page 8: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

An Example Scenario

Waterfall Continued….

Oh Give me a

Home !

Page 9: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

This is what I wanted

Waterfall Continued….

Page 10: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

What makes a method Agile?

Incremental (small releases, rapid cycles)

Cooperative (between developers and customers)

Straightforward (method is easy to learn and modify

Adaptive (embrace changes, even last moment)

When we use Agile?

Requirements (uncertain or volatile)

Developers (responsible and motivated)

Customer (is involved and understands)

Introduction to Agile Methods

Why Agile ?

Page 11: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

The Agile Approach...

The Agile Manifesto

Individuals and interactions

over processes and tools

Working software over

comprehensive documentation

Customer collaboration over

contract negotiation

Responding to changes over

following a plan

Page 12: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Page 13: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

The Building Blocks...

The Principles of Agile

Rapid, continuous delivery

Frequent delivery

Working software

Accommodation

Close, daily cooperation

Motivated, skilled people

Self-organizing teams

Page 14: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Adopting Agile...

Agile for different Organizations

The Start-Ups

Organizations with a history

Other Factors

The Project Size

Customers’ view point

Page 15: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

How Agile works...

Agile Project Development

Agile Way of Requirement Analysis

User Scenarios for requirement gathering

“A user adds a new budget to the system to start financial planning.”

Does the user have to be logged in?

What are the values stored in the budget?

Who is responsible for the budget?

Page 16: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

User Scenarios Continued…

Characteristics of a User Scenario

User Scenarios Should be… Independent

Negotiable

Valuable

Estimable

Brief

Testable

As a [type or role of user]I want to [perform some task]

So that I can [reach some goal]

Page 17: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

How Agile works...

Effort Estimation

Estimating Work Effort

Expert opinion

Disaggregation

Analogy

Estimating Work Effort in Agile way

Effort-Accuracy relationships

Planning Poker

Ideal Days calculation

Page 18: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Agile Applications

The different Agile Approaches

Extreme Programming

SCRUM

Crystal Family

Dynamic System Development Method (DSDM)

In-House Development

Feature Driven Development (FDD)

Internet-Speed Development (ISD)

Pragmatic Programming

XBreed

Test Driven Development (TDD)

AND MANY MORE METHODS

Page 19: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Agile Applications Continued….

Extreme Programming

Extreme Programming Based on 12 practises

Page 20: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

XP Continued…

The 12 Practices

The Planning Process

Small Releases

Metaphor

Simple Design

Testing

Refactoring

Pair Programming

Collective Ownership

Continuous Integration

40-hour Week

On-site Customer

Coding Standard

Page 21: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Agile Applications Continued...

SCRUM Process

What is the Product Backlog ?

What is a Sprint ?

Sprint Review

Sprint Retrospective

Incorporate into the product backlog

Print release

Page 22: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Agile Applications Continued...

Crystal Methods

Introduced by Alistair Cockburn

Values of Crystal Methods

People and Communication Centric

High Tolerance

Types of Methods

Crystal Clear

Crystal Orange

Page 23: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Agile Vs Heavyweight

Page 24: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

Is Agile Perfect ?

Advantages and Limitations

Shortened software development cycle time

High stability in the work load

High flexibility in changing the plans.

Can achieve higher quality in the software

The developers focus only on implementation

Advantages

Customer Collaboration

Lack of Documentation

Larger teams

Lack of support in Critical Systems

Limitations

Page 25: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

A final word...

The Summary

It is a building block which you can create different

applications on top of it.

Agile has advantagesas well as limitations. It’s up to the

developers to decide on applicability

After all it’s an excellent approach for the competitive

software industry.

Page 26: Agile Software Development Methodology

Presented ByHarry Mills / PRESENTATIONPRO

A sign of Gratitude...

Thank you for your suppport.

Mr. Sanath A. Fernando, CEO, Ridgecrest Financial, for his

comments and reviews.

Mr. Yohan Welikala, Managing Director, Codegen

International, for his encouragement and reviews.

Page 27: Agile Software Development Methodology

Thank You

? ? ?