Software Processes

Download Report

Transcript Software Processes

Agile Process: Overview



Agile software engineering represents a
reasonable compromise to conventional
software engineering for certain classes of
software
Agile development processes can deliver
successful systems quickly
Agile development stresses continuous
communication and collaboration among
developers and customers
Manifesto for Agile Software Development

Better to value:
 Individuals and interactions over processes and
tools
 Working software over comprehensive
documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan

While the items on the right are still important
the items on the left are more valuable under
this philosophy
What is “Agility”?
Rapid and adaptive response to change
 Effective communication among all
stakeholders
 Drawing the customer onto the team
 Organizing a team so that it is in control of
the work performed
Yielding …
 Rapid, incremental delivery of software

Agile Teams

are responsive to changes during project
development

recognize that project plans must be flexible

eliminates the separation between customers
and developers
Agility



encourages team structures that make
communication among developers and
customers easier
emphasizes importance of rapid delivery of
operational software and de-emphasizes
importance of intermediate work products
can be applied to any software process as
long as the project team is allowed to
streamline tasks and conduct planning in way
that eliminate non-essential work products
An Agile Process





Is driven by customer descriptions of what is
required (scenarios)
Recognizes that plans are short-lived
Develops software iteratively with a heavy
emphasis on implementation
Delivers multiple ‘software increments’
Adapts as changes occur
Human Factors

Traits that need to exist in members of agile
development teams:
 Competence
 Common focus
 Collaboration
 Decision-making ability
 Fuzzy-problem solving ability
 Mutual trust and respect
 Self-organization
Agile Process Models







Extreme Programming (XP)
Adaptive Software Development (ASD)
Dynamic Systems Development Method
(DSDM)
Scrum
Crystal
Feature Driven Development (FDD)
Agile Modeling (AM)