What is Agile model?

What is Agile model? It is not that difficult to understand Agile. Agile believes that each project should be handled uniquely, and existing development methods should be “moulded” to suit the project development process in the best manner possible. In Agile, each activity is time-boxed, and has to be completed within the time specially allotted for it. Agile processes should not extend the time limit under any circumstances. The project is not developed “as a whole”. Rather, it is broken down into its constituent parts – the product features and functionalities – and each part is developed independently. Development is carried out in product incremental cycles known as daily sprints. Each sprint should result into a successful “feature” release that is tested, bug free, and deployable. The productivity “churned” out at the end of the sprint is verified by the product owner and stakeholders. The daily sprints are repeated until all the constituent product features are developed. Once developed, all features are integrated to form a complete working product.
Incremental and iterative nature of Agile model
The Agile model is highly flexible. It provides an opportunity to “change” the direction even after the development process begins. It is possible to incorporate the changes at any time while the development activity is underway – even late in the product development cycle. This is possible through rapid development and delivery of “shippable” product features through the incremental sprint cycles.
The Agile model is incremental and iterative.
Why incremental?
The entire product is not manufactured at once. It is produced in bits
and pieces through the sprint cycles. Small “portions” of the product,
in the form of features and functionality, keep on being developed by
the team on a consistent basis. They “add” on to the product. Once all
the features are developed, they can be “summed” up by integrating them
to form a workable product. The product is built is small increments.
Why iterative?
The sprint development should be consistent and sustained. Sprint cycles have to keep on repeating
until sufficient sprints are carried out and sufficient product
features are developed. Since the sprint cycles have to be repetitive,
the Agile development process is iterative.
Agile process models
The Agile ‘umbrella” includes several frameworks and methodologies. The most popular Agile process models are Scrum, XP, Kanban, etc. Agile Scrum and XP are most commonly used for developing software projects.
Extreme Programming “XP”
Typically featuring very short and frequent product releases, the XP
development cycle is perhaps the “shortest” of all Agile process and
models. However, in Agile, catering to exceptions is a part and parcel
of the framework, and so the XP sprint cycle may extend beyond its
normal tenure of seven to ten days. XP also features paired programming
i.e. two or more developers collaborate and work together to develop the
user stories (product features). The team develops and writes the
product features. Emphasis is given to time estimation i.e. each feature
development has to be estimated and completed within its stipulated
time. The acceptance criterions or conditions required to mark the
development as “complete” are carefully stated and followed during the
development activity. Even though XP supports changes to the product
design since it falls within the Agile umbrella, it is generally
preferred for shorter software development projects where the product
design is not likely to undergo major “structural” changes.
Scrum
Scrum offers a way for small and large development teams to collaborate
and work together and develop the product. It is specially recommended
when the product design is likely to change over time. The framework is
specially designed to support all types of changes – big and small alike
– even late in the product development cycle. Development is achieved
through product incremental cycles – sprints – on a consistent and
sustained basis. The product is manufactured through product increments,
in bits and pieces. Each piece is designed and developed independently.
It is thoroughly tested and documented before it is “released”. The
development process is fundamentally based upon the feedback received
from other team members and the stakeholders. The product is designed
and built exactly as per the client’s vision. The client is closely
involved with the development team during the product development
process and confirms the productivity offered by the team.
Post Your Ad Here
Comments