Overview of Agile Model/Methodology.
Hello Everyone,
Today we will discuss about Agile Model, Nowadays Agile model is very popular in IT industry as Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. We will discuss traditional SDLC model like waterfall, spiral etc in next blogs where we will focus mainly on SDLC phases as in today we will discuss about Agile Model only.
Agile Model is a combination of the Iterative and incremental model. This model focuses more on flexibility while developing a product rather than on the requirement. In Agile, a product is broken into small incremental builds. It is not developed as a complete product in one go. Each builds increments in terms of features. The next build is built on previous functionality. In agile iterations are termed as sprints. Each sprint lasts for 2-4 weeks. At the end of each sprint, the product owner/ Manager verify the product and after his approval, it is delivered to the customer/Clients. Waterfall models which used vastly was time consuming compared to agile methodology as in agile methodology Customer/Client feedback is taken for improvement and his suggestions and enhancement are worked on in the next sprint. Testing is done in each sprint to minimize the risk of any failures. The most popular and common examples are Scrum,, Feature Driven Development (FDD), Adaptive Software Development (ASD), Crystal, and Lean Software Development (LSD) and many more but team can select any two of them .
Different Models have their own Pros and Cons. Best model for any Project can be determined by the factors like Requirement (whether it is clear or unclear), System Complexity, Size of the Project, Cost, Skill limitation, etc.
Example, in case of an unclear requirement, Spiral and Agile models are best to be used as the required change can be accommodated easily at any stage.Waterfall model is a basic model and all the other SDLC models are based on that only.
Agile is based on the adaptive software development methods, whereas the traditional SDLC models like waterfall model is based on a predictive approach. Predictive teams in the traditional SDLC models usually work with detailed planning and have a complete forecast of the exact tasks and features to be delivered in the next few months or during the product life cycle.Predictive methods entirely depend on the requirement analysis and planning done in the beginning of cycle. Any changes to be incorporated go through a strict change control management and prioritization. Agile uses an adaptive approach where there is no detailed planning and there is clarity on future tasks only in respect of what features need to be developed. There is feature driven development and the team adapts to the changing product requirements dynamically. The product is tested very frequently, through the release iterations, minimizing the risk of any major failures in future.Customer Interaction is the backbone of this Agile Model, and open communication with minimum documentation are the typical features of Agile development environment. The agile teams work in close collaboration with each other.
The full Agile software development lifecycle includes the concept, inception, construction, release, production, and retirement phases.
Advantages of using Agile Model:
This Model allows more flexibility to adapt to the changes.
New feature can be added easily in Agile Model.
Client satisfaction as the feedback and suggestions are taken at every stage or each stage.
Disadvantages:
No proper documentation.
Agile Model needs experienced and highly skilled resources.
If a customer/Client is not clear about how exactly they want the product to be, then the project would fail.
Above are the overview of Agile model which is commonly used in IT organisation these days also Project Lead/Manager makes scrum sheet on weekly basis to track the status of Project so it’s easy for management to see the data and accordingly they provide the feedback to Customer’s Client .
If you are unaware about SDLC that is Software development Life it’s easy for you to understand as SDLC consist of below phases which I will going to cover in next blog with explanation.
Requirement Analysis
Software Designing
Software Development
Software Testing
MTPP(Move to Pre-Production)/UAT
MTP (Move to Production) / Live
Please go through this blog carefully as these days Agile model is commonly used in any organisation. In next blog as discussed above I will define SDLC phases and also differentiate with Traditional model with Agile Model. Please let me know if you have any doubts.
Thanks.
It is very useful for me. Thanks...
ReplyDeleteAzure Data Engineering Online Training
Azure Data Engineering Online Training