1. Requirements planning
requirements are collected as much as possible in this phase (Rouse, 2009). The
system’s services, goals and constraints are established by consulting with the
system users. There are a lot of ways of collecting user requirements. Some of
these methods are use of questionnaires, interviews, active observations and
even conducting workshops. Active and passive observation methods are used in
this project in order to get user requirements.
2. User design phase
In this phase the requirement specifications collected
from the first phase are used to prepare the system and software design. System
design helps in specifying system and hardware requirements and defining
overall system architecture as well. The system design specifications are used
as input for the next phase of the Agile model.
This phase may involve several iterations. It has a
backlog in which adjustments and new requirements are added. The stakeholders
review the first initial functionality in order to identify any inadequacy and
incorporate changing requirements. Agile methodology therefore becomes more flexible
as compared to waterfall hence higher success rates.
In this phase the behavior of the whole system is
tested as defined by the scope of the project. Testing is based on risks,
requirement specifications, use cases, business process, or other higher-level
descriptions of system behavior, system resources and interactions with
operating systems. Testing also investigates functional and nun-functional
requirements of the system.
After the system has undergone testing and reaches
satisfactory operationally, it is released to the users.
The agile methodology is
based on adaptive software development methods. Tasks are sub-divided into
small bits to deliver given features for a release. This is opposed to the
waterfall methodology in which once
a step has been completed, developers can’t go back to a previous stage and
make changes. After each iteration, working software built is delivered in the
Iterative approach. Each iterative stage is incremental and the final build has
all the features the customer requires. This therefore makes customer
interaction the backbone of Agile methodology, as well as communication with
minimum documentation as typical features in the Agile fevelopment environment.
of Agile methodology
is a more realistic approach to software development.
requires minimum resources.
can rapidly be developed and demonstrated.
has minimal documentation and rules to be followed.
has the ability to adapt to changing environments.
teamwork and cross training and delivers early partial working solutions
are allowed flexibility
Advantages of Agile methodology
is not suitable for handling complex dependencies.
depend heavily on customer interaction and therefore if customer is not clear,
the team can be driven in the wrong direction.
is more risk of maintainability , sustainability and extensibility.