Agile Methodology

62

Click here to load reader

Transcript of Agile Methodology

Page 1: Agile Methodology

Agile Methodology ISE Seminar

Page 2: Agile Methodology

• A Short history of Software development processes

• Defining and Analyzing the Problem ...

• Agile Manifesto

• The Agile Values

• The Agile Principles

• Scrum

Agenda

Page 3: Agile Methodology

Software Project Development

Software development processesA [really] short history of

Page 4: Agile Methodology

Software Project Development

traditional approach to software development

REQUIREMENTS

DESIGN

DEVELOPMENT

TESTING

MAINTENANCE

Waterfall Development is another name for the more

Waterfall Development

Page 5: Agile Methodology

Waterfall Development

You complete one phase (e.g. design) before moving

on to the next phase (e.g. development)

You rarely aim to re-visit a ‘phase’ once it’s completed. That means, you better get whatever

you’re doing right the first time!

Page 6: Agile Methodology

• Is there any problem ?

Software Project Development

Page 7: Agile Methodology

Waterfall Development

This approach is highly risky, costly and

generally less efficient

You don’t realize any value until the end of the project

You leave the testing until the end

You don’t seek approval from the stakeholders until late in the day

But…REQUIREMENTS

DESIGN

DEVELOPMENT

TESTING

MAINTENANCE

Takes too long

Changes

Skipped

Page 8: Agile Methodology

Software Project Development

Page 9: Agile Methodology

Software Project Development

Page 10: Agile Methodology

Software Project Development

Page 11: Agile Methodology

Software Project Development

Page 12: Agile Methodology

Software Project Development

Page 13: Agile Methodology

Software Project Development

AGILERapid

Cooperative

Quality-driven

Not a process, it's a philosophy or set of values

Iterative

Adaptable

Page 14: Agile Methodology

XP

Scrum

Lean

Crystal

Adaptive

FDD

DSDM

Pragmatic

RUP (120+)

XP (13)

Scrum (9)

Kanban (3)

Do Whatever!! (0)

More Prescriptive

More Adaptive

RUP has over 30 roles, over 20 activities, and over 70 artifacts

AGILE

Software Project Development

Page 15: Agile Methodology

Software Project Development

Page 16: Agile Methodology

Software Project Development

Page 17: Agile Methodology

Software Project Development

Page 18: Agile Methodology

Software Project Development

the most important factors that you need to consider are the people and how they work together

A fool with a tool is still a fool.

Page 19: Agile Methodology

Software Project Development

Page 20: Agile Methodology

Software Project Development

Never forget that the primary goal of software development is to create software, not documents !

Otherwise it would be called documentation development wouldn’t it?

When you ask a user whether they would want ??

A fifty page document describing what you intend to build ?

orThe actual software itself, what do you think

they’ll pick?

Page 21: Agile Methodology

Software Project Development

Page 22: Agile Methodology

Software Project Development

Remember!!Only your customer can tell you what they want

Page 23: Agile Methodology

Software Project Development

Page 24: Agile Methodology

Software Project Development

Remember!!

Nothing ever goes entirely on plan

but instead of sticking with something that isn't working

It's much more effective to make adjustments as your situation changes

Page 25: Agile Methodology

Software Project Development

Following the values isn't always easy

But when you build them is your team's processes

You will definitely get a better software project

Page 26: Agile Methodology

Software Project Development

Hmm..

So , Is that It ?

Page 27: Agile Methodology

Software Project Development

Sure No !!

Page 28: Agile Methodology

Software Project Development

The four core values are illuminated by

12 principles of Agile software development.

Page 29: Agile Methodology

Software Project Development

“ Our highest priority is tosatisfy the customer through early and continuous delivery of valuable software. ”

Principle

#1

Page 30: Agile Methodology

Software Project Development

“ Welcome changing requirements, even late in development.Agile processes harness changefor the customer's competitive advantage.”

Principle

#2

Page 31: Agile Methodology

Software Project Development

“ Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale. ”

Principle

#3

Page 32: Agile Methodology

Software Project Development

“ Business people and developers must work together daily throughout the project. “

Principle

#4

Page 33: Agile Methodology

Software Project Development

“ Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. “

Principle

#5

Page 34: Agile Methodology

Software Project Development

“ The most efficient and effectivemethod of conveying information toand within a development team is face-to-face conversation.“

Principle

#6

Page 35: Agile Methodology

Software Project Development

“Working software is the primary measure of progress. “

Principle

#7

Page 36: Agile Methodology

Software Project Development

“ Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. “

Principle

#8

Page 37: Agile Methodology

Software Project Development

“ Continuous attention to technical excellence and good design enhances agility. “

Principle

#9

Page 38: Agile Methodology

Software Project Development

“ Simplicity – the art of maximizing the amount of work not done ,is essential. “

Principle

#10

Page 39: Agile Methodology

Software Project Development

“ The best architectures, requirements, and designs emerge from self-organizing teams. “

Principle

#11

Page 40: Agile Methodology

Software Project Development

“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.“

Principle

#12

Page 41: Agile Methodology

Scrum

Page 42: Agile Methodology

Scrum

• Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.

• It allows us to rapidly and repeatedly check actual working software (2 – 4 weeks).

• The business sets the priorities.

Page 43: Agile Methodology

Scrum characteristics

• Self organizing team to determine the best way to deliver the highest priorities features

• Product progresses in a series of month-long “sprints”

• Requirements are captured as items in a list “product backlog”

• Uses general rules to create an agile environment for delivering projects

Page 44: Agile Methodology

Scrum sprint

Page 45: Agile Methodology

Scrum sprint

• Scrum projects make progress in a series of “sprints”

• Typical duration is 2–4 weeks

• Product is designed, coded, and tested during the sprint

NO Changes During Sprint !

Page 46: Agile Methodology

Scrum breaking down

Page 47: Agile Methodology

Scrum artifacts

The scrum team uses artifacts to run scrum successfully

• Impediment backlog

• Product backlog

• Sprint backlog

• Burn down charts

Page 48: Agile Methodology

Scrum ceremonies

• Sprint planning

• Sprint review

• Sprint retrospective

• Daily scrum

Page 49: Agile Methodology

Scrum ceremonies

Sprint planning :

• Sprint planning meeting #1

• Sprint planning meeting #2

Page 50: Agile Methodology

Scrum ceremonies

Sprint planning meeting #1:

• Purpose

• Basics

• Ingredients

• Output

Page 51: Agile Methodology

Scrum ceremonies

Sprint planning meeting #2:

• Purpose

• Basics

• Ingredients

• Output

Page 52: Agile Methodology

Scrum ceremonies

Sprint review:

• Purpose

• Basics

• Ingredients

• Output

Page 53: Agile Methodology

Scrum ceremonies

Sprint retrospective:

• Purpose

• Basics

• Ingredients

• Output

Page 54: Agile Methodology

Scrum ceremonies

Daily scrum

• Purpose

• Basics

• Ingredients

• Output

Page 55: Agile Methodology

Scrum roles

• Scrum master

• Team

• Product owner

• Customer

• User

Page 56: Agile Methodology

Scrum roles

Scrum Master:

• Represents management to the project

• Responsible for enacting Scrum values and practices

• Removes impediments (obstacles)

• Ensure that the team is fully functional and productive

• Enable close cooperation across all roles and functions

• Shield the team from external interferences

Page 57: Agile Methodology

Scrum roles

Team:

• (5 - 9) people

• Cross functional (programmers – designers….)

• Full time

• Self organizing

Page 58: Agile Methodology

Scrum roles

Team tasks:

• Delivers the product and is responsible for its quality

• Creating product backlog

• Analyses the backlog for information

• Works with product owner for strategic alignment

Page 59: Agile Methodology

Scrum roles

Product owner:

• Define the features of the product

• Decide on release date and content

• Be responsible for the profitability of the product

• Prioritize features according to market value

• Adjust features and priority every iteration, as needed

• Accept or reject work results

Page 60: Agile Methodology

Scrum roles

Customer:

• Executive managers

• Requests the product from Scrum team

• Budget

Page 61: Agile Methodology

Scrum roles

User:

• Defines the product with his business knowledge

• Domain expert , end user , marketing department

Page 62: Agile Methodology

Thanks For Listening