Friday, January 29, 2021

Agile model In Software Engineering

Agile model


The Agile model which is a combination of iterative and incremental models means that it is made up of iterative and incremental models.

Process adaptability and customer satisfaction are considered in Agile model.

In earlier times iterative waterfall model was used to create software. But in today's time, developers have to face many problems. The biggest problem is that in the midst of software development, the customer asks to make changes in the software. It takes a lot of time and money to make these changes.

So to meet all these deficiencies, agile model was proposed in the 1990s.

The agile model was designed primarily to make changes between software development so that software projects can be completed quickly.

The agile model consists of the following steps: -

1) Requirement gathering
2) Requirement analysis
3) Design
4) Coding
5) Unit testing
6) Acceptance testing

In Agile model, the software product is divided into small incremental parts. In this, the smallest part is developed first and then bigger than that.
And each incremental part is developed on iteration.

Each iteration is kept small so that it can be easily managed. And it can be completed in two to three weeks. Only one iteration is planned, developed, and deployed at a time.

Principles of Agile model

Its principles are as follows :

1) To maintain contact with the customer during software development and to understand the requirement, there is a customer representative in the development team. When an iteration is completed, the stakeholders and customer representatives review it and evaluate the requirements again.

2) A working software demo is given to understand the customer's requirements. That is, it does not depend only on documentation.

3) The incremental versions of the software have to deliver to the customer representative after a few weeks.

4) In this model it is recommended that the size of the development team should be small (5 to 9 people) so that the team member who is there can communicate face to face.

5) The agile model focuses on the need to quickly complete any changes in the software.

6) In agile development, two programmers work together. One programmer does the coding, the other reviews that code. Both programmers keep changing their works, that is, sometimes someone does coding and sometimes a review.

Advantage of agile model

Its benefits are as follows :

1) In this, two programmers work together so that the coding is very good and there are very few mistakes in it.
2) In this, the software project is completed in a very short time.
3) In this, the customer representative has the idea of ​​every iteration so that he can easily change the requirement.
4) This is a very real approach to software development.
5) It focuses on teamwork.
6) There are very few rules in this and the documentation is also negligible.
7) It does not require planning.
8) It can be easily managed.
9) It provides flexibility to developers.

Disadvantage of Agile model

Its disadvantages are as follows :

1) It cannot handle complex dependencies.
2) There is confusion in development due to lack of formal documentation in it.
3) It is mostly dependent on the customer representative, if the customer representative gives any wrong information then the software can become wrong.
4) Only experienced programmers can take a decision in this. New programmers cannot take any decision.
5) At the beginning of software development, the amount of effort and time it takes to build the software is not known.

Agile SDLC models

Agile consists of the following models :

Scrum
Crystal Methodologies
DSDM
Feature Driven Development (FDD)
Lean Software Development
eXtreme Programming (XP)

No comments:

Post a Comment