15
AGILE SOFTWARE AGILE SOFTWARE DEVELOPMENT DEVELOPMENT PROCESSES PROCESSES Cheruku Smitha Cheruku Smitha

AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

Embed Size (px)

Citation preview

Page 1: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

AGILE SOFTWARE AGILE SOFTWARE DEVELOPMENT DEVELOPMENT

PROCESSESPROCESSES

Cheruku SmithaCheruku Smitha

Page 2: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

ABSTRACTABSTRACT

Agile process focus on code rather than Agile process focus on code rather than documentation .documentation .

RUP and CRYSTAL are two software RUP and CRYSTAL are two software development processes.development processes.

Agile processes are adaptable not rigid.Agile processes are adaptable not rigid.

Page 3: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

INTRODUCTIONINTRODUCTION

Agile Software Development is an Agile Software Development is an emerging philosophy producing new emerging philosophy producing new processes which effectively address the processes which effectively address the two prevailing Questions of cost and time.two prevailing Questions of cost and time.

The new processes focus more on people The new processes focus more on people interactions and early development of interactions and early development of code than on documentation and planningcode than on documentation and planning

Page 4: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

AGILE PROCESS PHILOSOPHYAGILE PROCESS PHILOSOPHY

The basic ideas of philosophy are introduced The basic ideas of philosophy are introduced through four basic values.through four basic values.

1.1. Individuals and interactions over processes Individuals and interactions over processes and toolsand tools

2.2. Working software over comprehensive Working software over comprehensive documentationdocumentation

3.3. Customer collaboration over contract Customer collaboration over contract negotiationnegotiation

4.4. Responding to change over following a planResponding to change over following a plan

Page 5: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

CRYSTALCRYSTAL

Crystal is a family of processes each Crystal is a family of processes each applied to different kinds of projects.applied to different kinds of projects.

Crystal approach includes principles for Crystal approach includes principles for tailoring the methodologies to fit the tailoring the methodologies to fit the varying circumstances of different projects.varying circumstances of different projects.

Page 6: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

Selecting a Crystal process requires that Selecting a Crystal process requires that a project be matched to one of four a project be matched to one of four criticality levelscriticality levels

1.1. ComfortComfort

2.2. Discretionary moneyDiscretionary money

3.3. Essential moneyEssential money

4.4. Life Life

Page 7: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

Each of these processes shares common Each of these processes shares common policy standards.policy standards.

Incremental deliveryIncremental delivery Progress tracking by milestones based on Progress tracking by milestones based on

software deliveries and major decisions software deliveries and major decisions rather than written documents.rather than written documents.

Direct user involvementDirect user involvement Automated regression testing of Automated regression testing of

functionalityfunctionality

Page 8: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

Two user viewings per releaseTwo user viewings per release

Workshops for product and methodology Workshops for product and methodology tuning at the beginning and in the middle tuning at the beginning and in the middle of each in crementof each in crement

Page 9: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

Crystal Clear and Crystal Orange are the Crystal Clear and Crystal Orange are the two family members that have been two family members that have been constructed and used.constructed and used.

Crystal Clear is designed for very small Crystal Clear is designed for very small projects comprising upto six developers.projects comprising upto six developers.

Crystal Orange is designed for medium Crystal Orange is designed for medium sized projectssized projects

Page 10: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

Rational Unified Process(RUP)Rational Unified Process(RUP)

The Rational Unified Process is a generic The Rational Unified Process is a generic process frame work that uses a specific process frame work that uses a specific methodology to accomplish the tasks methodology to accomplish the tasks associated with it.associated with it.

The RUP uses the Unified Modeling The RUP uses the Unified Modeling Language developing use cases for the Language developing use cases for the software system designsoftware system design

Page 11: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

The RUP embodies many proven software The RUP embodies many proven software development practices. Six of them aredevelopment practices. Six of them are

Iterative developmentIterative development Model visuallyModel visually Manage requirementsManage requirements Control changesControl changes Continuously verify qualityContinuously verify quality Use component based architecturesUse component based architectures

Page 12: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

RUP PHASESRUP PHASES

There are four phases in RUPThere are four phases in RUP Inception phaseInception phase Elaboration phaseElaboration phase Construction phaseConstruction phase Transition phaseTransition phase

Page 13: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

In the inception phase the life cycle In the inception phase the life cycle objectives of the project are stated so that objectives of the project are stated so that the needs of every stake holder are the needs of every stake holder are considered.considered.

The elaboration phase is where the The elaboration phase is where the foundation of the software architecture is foundation of the software architecture is laidlaid

Page 14: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

In the construction phase all remaining In the construction phase all remaining components and application features are components and application features are developed and integrated into the product developed and integrated into the product and testedand tested

The transition phase is entered when the The transition phase is entered when the software product is mature enough to be software product is mature enough to be released to the user communityreleased to the user community

Page 15: AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha

ConclusionConclusion

While not a panacea agile processes can While not a panacea agile processes can help an organization to better compete in a help an organization to better compete in a volatile and rapidly changing market by volatile and rapidly changing market by helping to deliver high quality software at a helping to deliver high quality software at a competitive price and in a timely manner competitive price and in a timely manner to a market moving at blinding speedto a market moving at blinding speed