0% found this document useful (0 votes)
31 views

Agile

The document discusses Agile methodology, which evolved from the limitations of the Waterfall model. It describes the Agile Manifesto and its values and principles, as well as popular Agile frameworks like Scrum, eXtreme Programming, Kanban, Lean, and Crystal.

Uploaded by

KUMARAN
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Agile

The document discusses Agile methodology, which evolved from the limitations of the Waterfall model. It describes the Agile Manifesto and its values and principles, as well as popular Agile frameworks like Scrum, eXtreme Programming, Kanban, Lean, and Crystal.

Uploaded by

KUMARAN
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Agile

Before Agile:
Before Agile came into the picture, we had the Waterfall model of
software development. The waterfall model can be defined as a sequential
process in the development of a system or software that follows a top-down
approach. This model was a straight forward and linear model. The waterfall
model had various phases such as Requirements Gathering, Software Design,
Implementation, Testing, Deployment, and Maintenance.

This model however suffered a few drawbacks such as follows:

 This model was too time-consuming. Unless you complete a particular


stage, you cannot proceed to the further stages.
 This model was suitable only for projects where requirements are stable.
 The working software is delivered only after completion of the final stage
of the model.
 It is very difficult to go back to the previous stages and make some
changes that you had not thought about in the initial phase.

Due to the above-mentioned drawbacks of the Waterfall model, the leaders from
the different development methodologies decided to meet to find a way forward
through these problems. These leaders agreed upon a lightweight development
method and they were also able to give wordings for the same in the form of a
manifesto. It was called ” The Manifesto for Agile Software Development”.
This manifesto contains 4 Values and 12
principles.

What is Agile methodology?

Now let us try to understand What exactly is Agile. Agile Software


development is an approach under which requirements and solutions evolve
through the collaborative effort of self-organizing and cross-functional teams
and their customer(s)/end user(s). It advocates adaptive planning, evolutionary
development, early delivery, and continual improvement, and it encourages
rapid and flexible response to change.

Agile software development allows the team to work together more efficiently
and effectively to develop complex projects. It consists of practices that exercise
iterative and incremental techniques that are easily adopted and display great
results.

DevOps Certification Training Course

Explore Curriculum

The 4 values of the Agile Manifesto are as follows:

 Individuals and Interactions over processes and tools


 Working Software over comprehensive documentation
 Customer Collaboration over contract negotiation
 Responding to Change over following a plan

The 12 principles that are mentioned in the Agile Manifesto are as follows:
1. Customer satisfaction by early and continuous delivery of valuable
software.
2. Welcome changing requirements, even in late development.
3. Deliver working software frequently (weeks rather than months)
4. Close, daily cooperation between business people and developers
5. Projects are built around motivated individuals, who should be trusted
6. A face-to-face conversation is the best form of communication (co-
location)
7. Working software is the primary measure of progress
8. Sustainable development, able to maintain a constant pace
9. Continuous attention to technical excellence and good design
10.Simplicity—the art of maximizing the amount of work not done—is
essential
11.Best architectures, requirements, and designs emerge from self-
organizing teams
12.Regularly, the team reflects on how to become more effective and adjusts
accordingly

Advantages of Agile methodology

The various advantages offered by AGILE methodology are as follows:

 In AGILE, the delivery of the software is persistent.


 After every Sprint, working feature(s) is/are delivered to the customer.
This increases the level of satisfaction in them.
 Customers can have a look at the developed features and check if they
meet their expectations.
 If the customers have any feedback or they want any changes in the
features, then it can be accommodated in the current or maybe the next
release of the product.
 Changes can be made even in the later stages of the development of the
product.
 In AGILE, the business people and the developers of the product interact
daily.
 A significant amount of attention is paid to the design of the product.

How to implement Agile methodology?

The AGILE methodology can be implemented with the help of various


frameworks such as Scrum, Kanban, eXtreme Programming(XP), Lean, Crystal,
Adaptive Project Framework(APF), Feature Driven Development(FDD),
Dynamic Systems Development Method(DSDM), Agile Unified Process(AUP)
and so on.
Various AGILE frameworks

In this topic, we will discuss the top 5 AGILE frameworks.

Scrum

Scrum is a framework within which people can address complex adaptive


problems, while productively and creatively delivering products of the highest
possible value. It is a simple framework for effective team collaboration on
complex products. It is the most popular and widely followed Agile
methodology.

The Scrum framework addresses two critical pain points of software


development. First is the speed of software development and the second is client
requirements which keep on changing. In this approach, the software
development project is executed in phases and each phase known as a Sprint.
Also, small teams of 5-6 members are created, who collectively work towards
the desired results.

The Scrum methodology allows active client participation at each stage so that
any required changes are addressed immediately and acted on. This ensures that
the project is delivered within time and meets the client demands effectively.

eXtreme Programming
XP is the most successful method of developing agile software because of its
focus on customer satisfaction. XP requires maximum customer interaction
to develop the software. It divides the entire software development life cycle
into several numbers of short development cycles. It welcomes and incorporates
changes or requirements from the customers at any phase of the development
life cycle.

Extreme programming starts with collecting user requirements. Depending upon


these requirements the whole development process is divided into several small
numbers of cycles. So the next phase is iteration planning i.e. deciding the no of
cycles, prioritizing the requirements and estimating the amount of effort
required to implement each cycle.

Now each iteration is developed using pair programming. During the


development phase, new user requirements may come and the iteration
plan should be adjusted according to that.

DevOps Training

DEVOPS CERTIFICATION TRAINING COURSE


DevOps Certification Training Course
Reviews
5(162218)

KUBERNETES CERTIFICATION TRAINING COURSE:


ADMINISTRATOR (CKA)
Kubernetes Certification Training Course: Administrator (CKA)
Reviews
5(12922)
AWS DEVOPS ENGINEER CERTIFICATION TRAINING COURSE
AWS DevOps Engineer Certification Training Course
Reviews
5(9130)

DOCKER CERTIFICATION TRAINING COURSE


Docker Certification Training Course
Reviews
5(7650)

JENKINS CERTIFICATION TRAINING COURSE


Jenkins Certification Training Course
Reviews
5(9214)

GIT CERTIFICATION TRAINING


Git Certification Training
Reviews
5(4830)

ANSIBLE CERTIFICATION TRAINING COURSE


Ansible Certification Training Course
Reviews
5(827)

Next
The next step is to test the latest developed version for bugs if detected; the
bugs will be removed in the next iteration. After every acceptance testing
project tracing should be done in which feedback is taken from the project that
how many jobs have already been done. XP has introduced many new things for
developers like pair programming, extensive code review, code refactoring, and
open workspace.

Kanban
An engineer from Toyota called Taiichi Ohno invented the Kanban framework.
Somewhere around the late 1940s, the representatives of Toyota company
observed how supermarkets restock their goods based on what has been picked
off the shelves. So Toyota came up with a system where actual consumption
drives the production plans.

One of the core ideas of Kanban is to refrain from producing a surplus. This is
achieved by making use of Kanban cards and a Kanban board. They are also
used to visualize the flow of resources throughout the production cycle. This
gives everyone maximum insight into the process. This also helps managers
address whatever the surplus or the shortage is in real time.

The Kanban system also introduces the notion of “pull” over “push,” meaning
that workers pull in work according to their capacity, as opposed to work being
fed to them on a conveyor belt or in the form of a to-do list.

Lean

This method of software development is based on the principle “Just in time


production”. The aim of Lean is to increase the speed of software development
and to reduce its cost. The seven steps to summarize Lean development are as
follows:

1. Delete unnecessary things (everything that does not bring effective


value to the customer’s project is deleted);
2. Quality development (creating quality in development requires
discipline and control of the number of residuals created);
3. Create Knowledge (the team is motivated to document the whole
infrastructure to later retain that value);
4. Differing commitments (this point encourages the team not to focus too
much on planning and anticipating ideas without having a prior and
complete understanding of the requirements of the business);
5. Fast delivery (deliver value to the customer as soon as possible);
6. Respecting the team(communicating and managing conflicts are two
essential points);
7. Optimize the whole (the development sequence has to be perfected
enough to be able to delete errors in the code, in order to create a flow of
true value).

Crystal

Crystal Methods are a family of software development methodologies. Alistair


Cockburn developed these methods from his study and interviews with teams.
The color-coded methods signify the risk to human life. For example, projects
that may involve risk to human life will use Crystal Sapphire while projects that
do not have such risks will use Crystal Clear.

Crystal focuses on six primary aspects: people, interaction, community,


communication, skills, and talents. Consider the process as secondary. There are
also seven common properties in Crystal that indicate a higher possibility of
success and they include frequent delivery, reflective improvement, osmotic
communication, and easy access to expert users.

The methods are very flexible and avoid rigid processes because of their
human-powered or people-centric focus. Alistair Cockburn is also one of the
original signatories of the Agile Manifesto.

Crystal Methods consider people as the most important, so processes should be


modeled to meet the requirements of the team. It is adaptive, without a set of
prescribed tools and techniques. It is also lightweight, without too much
documentation, management or reporting.

DevOps Certification Training Course

Weekday / Weekend BatchesSee Batch Details

The project environment and team size determine the weight of the
methodology. For example, Crystal Clear is for short-term projects by a team of
6 developers working out of a single workspace

Now that you have understood what AGILE is, check out this DevOps
training by Edureka, a trusted online learning company with a network of more
than 250,000 satisfied learners spread across the globe. The Edureka DevOps
Certification Training course helps learners to understand what is DevOps and
gain expertise in various DevOps processes and tools such as Puppet, Jenkins,
Nagios, Ansible, Chef, Saltstack and GIT for automating multiple steps in
SDLC.

 build, test and deployment of applications.

You might also like