Agile Methodologies Crystal-Software Development Methodologies- Lecture 12 Slides-Computer Engineering, Slides of Software Development Methodologies

Agile Methodologies Crystal, Crystal, Project Categories, Complexity, Family Members, The Crystal Family, Common Traits, Flexibility, Crystal Clear, Chartering, Cyclic Delivery, Raman Ramsin, Lecture Slides, Software Development Methodologies, Department of Computer Engineering, Sharif University of Technology, Iran.

Typology: Slides

2011/2012

Uploaded on 02/20/2012

hester
hester 🇮🇷

4.5

(13)

84 documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Development
Methodologies
Lecturer: Raman Ramsin
Lecture 12
Agile Methodologies: Crystal
Department of Computer Engineering 1Sharif University of Technology
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download Agile Methodologies Crystal-Software Development Methodologies- Lecture 12 Slides-Computer Engineering and more Slides Software Development Methodologies in PDF only on Docsity!

Software Development Methodologies Lecturer:

Raman Ramsin

Lecture 12 Agile Methodologies: Crystal

1

Sharif University of Technology

Software Development Methodologies – Lecture 12

CrystalCrystal^ „

Introduced by Cockburn as a family of methodologies in 1998.N

b^

f th

f^

il^

d fi

d i

d 2004

„^

N

ew members of the family were defined in 2001 and 2004.

„^

Based on the belief that different projects call for different

„^

Based on the belief that different projects call for differentmethodologiesFl

ibilit

dd

d th

h^

ti^

i^

d^

i i

f

„^

Fl

exibility addressed through continuous review and revision of

the development process

2

Sharif University of Technology

Software Development Methodologies – Lecture 12 Crystal Methodologies: Complexity

y^

g

p

y

C^

t l

th d l

i^

t h

h^

i^

i^

ti

„^

Crystal methodologies put heavy emphasis on communication amongpeople involved in the project:^

Projects

with

a^

larger

size

require

heavier

(more

complex)

j^

g^

q^

(^

p^

methodologies,

since

they

involve

more

people,

and

hence,

need

better coordination.

Projects with higher criticality call for a more rigorous approach, which

j^

g^

y^

g^

pp

might be accommodated by tuning a methodology used for a lesscritical project.

„^

Crystal methodologies are categorized according to the project size thatthey address.

„^

Each member of the Crystal family has been assigned a colour showing

„^

Each member of the Crystal family has been assigned a colour showingits relative complexity: the heavier the methodology, the darker thecolour assigned to it.

4

Sharif University of Technology

Software Development Methodologies – Lecture 12 Crystal Methodologies: Family Members

y^

g

y

„^

Crystal

methodologies

named

in

the

literature:

Clear

,

Yellow

,

„^

Crystal

methodologies

named

in

the

literature:

Clear,

Yellow,

Orange,

Red,

Maroon,

Blue,

and

Violet

(in

ascending

order

of

complexity). „^

Others can be added if a usage context arises. „^

Only those that have been practically used in real projects have „^

Only those that have been practically used in real projects havebeen defined:^

Crystal Orange

was introduced in 1998, targeting C40, D40 and E

projects.

Crystal Orange Web

was introduced in 2001, and is a variant of

Crystal Orange targeting ongoing web development projects.

y^

g^

g^

g^

g^

g^

p^

p^

j

Crystal Clear

was introduced in 2004, primarily targeted at C6 and

D6 projects.

5

Sharif University of Technology

Software Development Methodologies – Lecture 12 Crystal Methodologies: Common Traits

y^

g

„^

Adherence to the principles of agile development

p^

p^

g^

p

„^

Iterative-incremental process, with each increment (delivery cycle)lasting no more than four monthslasting no more than four months „^

No support for development of life-critical systems „^

No support for distributed teams „^

The people involved must be collocated (e.g. in the same building).Dependence

on

effective

communication

and

information

flow

„^

Dependence

on

effective

communication

and

information

flow

among team-members for successful enactment

7

Sharif University of Technology

Software Development Methodologies – Lecture 12 Crystal Methodologies: Flexibility

y^

g

y

„^

Every Crystal methodology:

y^

y^

gy

Enforces a development process framework.

Requires that a set of certain general process elements be used.

Requires that a set of certain general process elements be used.

Requires that certain work products be produced.

„^

But a large body of finer-grained detail is left to the developmentteam to decide; developers are even allowed to use techniquesborrowed from other methodologies.borrowed from other methodologies.^

The development team(s) selects a base methodology at the start ofthe project (in the form of a minimal set of working conventions).

Reflection Workshops are frequently held to monitor and tune theprocess.

8

Sharif University of Technology

Software Development Methodologies – Lecture 12

Crystal Clear: ProcessCrystal

Clear: Process

  1. Chartering: forming the development team, performing a preliminary

g^

g^

p^

, p

g^

p^

y

feasibility analysis, shaping and fine-tuning the developmentmethodology, and developing an initial plan. 2

C^

li^

D li

th

i^

d^

l^

t^

i^

i ti

f t

  1. Cyclic Delivery: the main development engine consisting of two or

more

Delivery Cycles. Each delivery cycle takes from one week to

three months, during which:

th

t^

d t

d^

fi^

th

l^

l

  1. the team updates and refines the release plan.2. implements a subset of the requirements through one or more

program-test-integrate iterations; the iteration(s) in a delivery cycleare themselves composed of

daily and

integration cycles

are themselves composed of

daily and

integration cycles.

  1. delivers the integrated product to real users.4. reviews the development methodology adopted and the project plans.
    1. Wrap-up: deployment into the user environment, and post-

deployment reviews and reflections are performed.

10

Sharif University of Technology

Software Development Methodologies – Lecture 12

Crystal Clear: ProcessCrystal

Clear: Process

Project

Project

Project^ Chartering

Wrap-up

Project

Delivery

Delivery

Cyclic Delivery

deliver

reflect

Delivery

Iteration

Iteration

recalibrate

Iteration

plan

reflect & celebrate

Day

Day

Day

Day

daily stand-up

Integration

Integration

Integration

Integration

Episode

Episode

Episode

build & test

11

Sharif University of Technology

[Cockburn 2004]

Software Development Methodologies – Lecture 12

Crystal Clear Process: Chartering

Activities 1

Crystal

Clear Process: Chartering

Activities 1

  1. Build the core of the team:
    1. An

Executive Sponsor: provides monetary and logistical support and essential direction to the team; may also act as domain expert.

  1. A

Lead Designer: also acts as project manager, coordinator, and technical expert and trainer. 3

An

Ambassador User

who acts as the expert on system usage

  1. An

Ambassador User, who acts as the expert on system usage.

  1. A number of

Systems Analysts,

Designer-Programmers,

Business

Experts,

Testers,

Text-Writers,

Coordinators, and others, as deemed

p^

,^
,^
,^
,^

necessary by the team.

2.^

Perform the

Exploratory 360°

3.^

Shape and fine-tune the methodology conventions

4.^

Build the initial project plan

13

Sharif University of Technology

Software Development Methodologies – Lecture 12

Crystal Clear Process: Chartering

Activities 2

Crystal

Clear Process: Chartering

Activities 2

1.^

Build the core of the team 2

Perform the

Exploratory 360

° : a preliminary feasibility study providing a

  1. Perform the

Exploratory

360°

:^ a

preliminary feasibility study providing a

high-level project-wide review of the key issues governing the developmenteffort:

expected business value of the system

high-level requirements (usually captured in use cases) 3

d^

i^

d l

domain models

technology alternatives 5

overall project plans and constraints

overall project plans and constraints

necessary resources 7

development methodology

development methodology

3.^

Shape and fine-tune the methodology conventions

14

Sharif University of Technology

4.^

Build the initial project plan

Software Development Methodologies – Lecture 12

Crystal Clear Process: Chartering

Activities 4

Crystal

Clear Process: Chartering

Activities 4

1.^

Build the core of the team 2

Perform the

Exploratory 360

°

2.^

Perform the

Exploratory

360

3.^

Shape and fine-tune the methodology conventions

  1. Build the initial project plan:

p^

j^

p

  1. typically includes a

Project Map showing the development tasks and

their dependencies, and a

Release Plan showing the projected

completion dates for delivery cycles and iterationscompletion dates for delivery cycles and iterations.

  1. Tasks are identified, prioritized and estimated using a technique

called

Blitz Planning, which is a close variant of XP’s card-based

l^

i^

h i

planning technique.

16

Sharif University of Technology

Software Development Methodologies – Lecture 12

Crystal Clear Process: Cyclic DeliveryCrystal

Clear Process: Cyclic Delivery

  1. Each delivery cycle involves the following four activities:
    1. Recalibrate the release plan: the requirements and the project plans

p^

q^

p^

j^

p

are reviewed and updated according to the experience gained in thedelivery cycles performed so far.

  1. Develop in iterations: one or more iterations are performed in every2. Develop in iterations: one or more iterations are performed in every

delivery cycle. Each iteration lasts from one week to three months.

  1. Deliver to real users: the integrated system is delivered to a small

number of users and feedback is used for improving the system andnumber of users and feedback is used for improving the system andrevising the plans and/or the requirements.

  1. Reflect on the delivery: through a workshop, the team reflect on the

lit

f th

d li

d^

d^

t^

th

d^

l^

t^

th d l

d

quality of the delivered product, the development methodology andthe plans.

17

Sharif University of Technology

Software Development Methodologies – Lecture 12

Crystal Clear Process: Wrap

-up

Crystal Clear Process: Wrap up^ 1.

Perform acceptance testing.

Prepare the final product and the user environment for finaldeployment.

Carry out system conversion.

Perform final reflection aimed at compiling and recording thelessons learned from the project, in order to use them in futureprojectsprojects.

19

Sharif University of Technology

Software Development Methodologies – Lecture 12 Crystal: Strengths and Weaknesses „

Strengths ^

Iterative-incremental processC^

ti^

i t

ti

Continuous integration

Iterative development engine governed by planning andreviewingreviewing

Flexible and configurable process

Methodologies used for a low criticality project can typically be

Methodologies used for a low-criticality project can typically betuned to fit a higher-criticality project, provided that the projectsize is not increased dramatically.

Active user involvement

20

Sharif University of Technology