You are on page 1of 3

Lecture Notes of SE –1: Chapter-4, An Agile View of Process

Chapter – 4

An Agile View of Process


Agile:

‘Agile’ can be simply defined as ‘lively’.

What is Agile software development?

In terms of software engineering, an agile software


process can be defined as ‘a process able to
appropriately respond to changes’.

Agile methods were developed to overcome the actual


weakness (in many situations, we no longer able to
define requirements fully before the project begins) in
conventional software engineering. So the software
engineer must be agile enough to responds to changes.

Agile is an interactive and incremental (evolutionary)


approach to software development to produce high
quality software in a cost effective and timely manner.

Instructor: Dr. M. Yousuf Khan Ch 4 # 1 SE by Pressman 6th edit


Lecture Notes of SE –1: Chapter-4, An Agile View of Process

Some characteristics are:

- Agile methods are not applicable to all


projects, people and situations.

- It is also not ever changing.

- It represents a reasonable alternative to


conventional software engineering for certain
classes of software.

- It delivers successful system quickly (pp-104).

Some basic principles for agility are: (pp-105)

 Satisfy the customer through early and continuous


delivery of valuable software with welcoming the
changing requirements even in late developments.

 Deliver working software frequently from a couple


of weeks to a couple of months. Try to keep this
time scale shorter. Remember that working
software is the primary measure of progress.

 Effective method of conveying information to and


within a development team is face to face. The
customer, developer and user must maintain a
constant pace indefinitely.

Instructor: Dr. M. Yousuf Khan Ch 4 # 2 SE by Pressman 6th edit


Lecture Notes of SE –1: Chapter-4, An Agile View of Process

An agile software process addresses three key


assumptions about a software project.

1. Prediction: How to predict which SW


requirement will persist, which will change and
how customer priorities will change as project
proceeds.

2. Design & construction are interleaved: How


much design is necessary before construction,
which will prove the design.

3. Analysis, design, construction and testing: are


not predictable from planning point of view.

The above three assumptions focuses that an agile


software process must be adaptable incrementally.

For an incremental adaptivity, customer’s feed back is


very important for an operational prototype model.

There are many proposed agile process models each


containing a set of ‘ideas’, which separates it from the
conventional software engineering.

Examples of agile process models are: Extreme


Programming (XP), Adaptive Software Development
(ASD), and Dynamic System Development Method
(DSDM) etc. These models will be discussed in an
advanced level of software engineering course.

Instructor: Dr. M. Yousuf Khan Ch 4 # 3 SE by Pressman 6th edit

You might also like