0% found this document useful (0 votes)
5 views11 pages

Unit2 Lect10

Uploaded by

Abhinav T
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views11 pages

Unit2 Lect10

Uploaded by

Abhinav T
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Agile

Software
Development
Unit 2 – Lecture 10
What is Agile / Agility???
 Agile software engineering combines a
philosophy and a set of development
guidelines.

 The philosophy encourages customer


satisfaction and early incremental delivery
of software ; small, highly motivated
project teams; informal methods; minimal
software engineering work products; and
overall development simplicity.
 The development guidelines stress
delivery over analysis and design, and
active and continuous communication
between developers and customers.

 Software engineers and other project


stakeholders(managers, customers, end-
users)work together on an agile team – a
team that is self organizing and in control
of its own destiny.

 An agile team encourages communication


and collaboration among all who serve on
it.
 Agile software engineering represents a
reasonable alternative to conventional
software engineering for certain classes of
software and certain types of software
projects.

 It has been established to deliver successful


systems quickly.

 The basic framework activities of Agile


development are - customer
communication, planning, modeling,
construction, delivery and evaluation.
Agility
 Agility describes the modern software
process.

 An agile team is a lively team able to


appropriately respond to changes.

 Changes are – change in the software being


built, changes to the team members,
changes because of new technology,
changes of all kinds that may have impact
on the product they build.
 It empathizes rapid delivery of
operational software and de-
emphasizes the importance of
intermediate work products; it adopts
the customer as part of the
development team and works to
eliminate the “us and them” attitude
that continues to pass through many
software projects; it recognizes that
planning in an uncertain world has its
limits and that a project plan must be
flexible.
 An agile team recognizes that software is
developed by individuals working in teams
and that the skills of these people, their
ability to collaborate is at the core for the
success of the project.

 Agility can be applied to any software


process.
What is an Agile Process?
 Any agile software process is
characterized in a manner that
addresses three key assumptions about
the majority of software projects.

1. It is difficult to predict in advance which


software requirements will persist and
which will change as a project proceeds.
2. For many types of software, design and
construction are interleaved. i.e. both
activities should be performed in tandem
so that design models are proven as they
are created. It is difficult to predict how
much design is necessary before
construction is used to prove the design.

3. Analysis, design, construction, and


testing are not as predictable (from
planning point of view)as we might like.
Process Models under Agile
Development
 Adaptive software development
 Agile modeling
 Agile unified process
 Disciplined agile delivery
 Dynamic systems development
method (DSDM)
 Extreme programming (XP)
 Feature-driven development
 Lean software development
 Lean startup
 Kanban
 Rapid application
development (RAD)
 Scrum
 Scrumban
 Scaled Agile Framework - SAFe

You might also like