You are on page 1of 5

Everything Qu'you Wanted to Know About le modle Agile

Software development uses a planned and structured process to develop software products.
'Software Development' involves writing the code, which is used to develop a software. However,
often the process of software development includes steps like, developing the idea of the software,
designing the software through to the final stage of development, and then finally handing over the
tested software to the client. There are different models that are used to develop software. They
include, the waterfall model, spiral model, prototype model, incremental model, agile model, etc.
What is Agile Modelh
The term agile stands for 'moving quickly'. Agile development model is known for its quick
adaptability to the changing realities. It is a lightweight software development model, which was
developed in the 1990s'.
The delivery of the software is done at regular intervals, as opposed to months, which is the case
with the waterfall model. The measure of progress used in agile modeling, is the different working
models delivered to the client. Since the software gestion de projet gratuit is developed in small
batches, changes can easily be introduced into the product. There is a lot of emphasis laid on
technical excellence and good design of the software. The software development team has to adapt
regularly to the changing circumstances.
Agile Model Development Steps
Traditional modeling methods in software development projects have given way to the agile
practices, which are applied in a more flexible manner. It supplements the different agile
methodologies like extreme programming, agile unified process, and scrum models.
The first and the foremost step in the development process is the requirement definition. The
customer needs are communicated to the development team. This communication should be clear, so
that there is no ambiguity left while developing the software.
Once the needs are well understood, the team sets their expected outputs. After the software has
been developed, these expectations should match with the actual results.
As is the case with any project development, the next step in the agile model is planning. The
product owner, the team leader and the development team brainstorm over the expectations, and
the action plan for developing the software is designed.
Depending on the planning, the development process starts. This is termed as the first iteration. The
code is functionally tested, deployed and quality checks are done. After demonstration, if the results
do not match the expected ones, then the next iteration starts.
However, if the code is as per the expected results and it satisfies customer needs, then the unit
testing takes place and the software is released.
Agile Model Values
The model is based on four values, which are essential for making the development process function

smoothly, and give the desired end result. The four values are; communication, simplicity, courage,
and feedback.
There is always a gap between what the developer creates, and what is commercially viable. And
when we are referring to agile model, where slightest of changes are incorporated quickly, it is
necessary to bridge this gap at the earliest. The smallest of miscommunication can delay the entire
project for days. Thus, communicating the needs of the project properly to the whole team of
developers is very important. For this purpose, the model suggests the technique of pair
programming, where two programmers work in collaboration to create the software. The aspect of
unit testing can also prove to be fruitful, only when the feedback is communicated properly to the
developers.
The second value is simplicity. It is human nature to become overambitious when we work on an
important project. But the key to success, according to agile model, is to keep it simple. The reason
behind keeping the model simple is that the changes can be easily incorporated, without wasting a
lot of time. Complex models will consume a lot of time even when subjected to smallest of changes.
The third and the most important value is feedback. Without a proper feedback system, it is almost
impossible to know the drawbacks of the software that has been developed. As and when developers
receive feedback, they immediately try to make the necessary changes. These changes put forward a
sample picture of the new software model that will be developed.
The last value is courage. Courage, in this context, is the ability to respond to the feedback, in the
proper manner. The entire development team should work together to attain the targets, even if it
means rewriting the entire code or simply making minor changes. The members should trust each
other and also the customers, so that continuous improvements can be made in the project.
Agile Model Principles
Values and principles go hand in hand. The first principle on which the model is developed is to give
useful, effective, and timely feedback. If you run out of milk powder while making a cup of coffee, it
is important to give this feedback immediately, else it will hold no importance. Such a feedback will
ensure that timely action is taken, and such open points are resolved immediately.
The next important principle is the incremental change. It means that the team will continuously
make small changes as and when they come across any error. This will ensure that the developers do
not have a pile of changes that are to be addressed to, at the end of the project. Also, such changes
will keep on taking place, even after the project is completed.
The third principle is the encouragement of quality work. All the work that is being done in the
development process should be appreciated. Such an appreciation will keep the employees
motivated and thus, they will work enthusiastically to make the project a success.
The next principle is to maintain the simplicity. It is always helpful to keep the development process
simple, so as to accommodate all the changes that occur while the software is being developed. If
the system is complex, then it will take a lot of time to incorporate these changes. Thus, simplicity is
the way to go!
The last principle is to welcome change. While working on this model, it is very important to be open
to changes and suggestions. There can be a situation where the trade-off between changes and
suggestions takes place, however, it may still require to accommodate a few changes.

Even though, there are many principles for agile model, the only important aspect that all of them
focus on is the right approach that the developer needs to take while developing the project.
Advantages and Disadvantages
The most important advantage of this model is the ability to respond to the changing requirements
of the project. This ensures that the efforts of the development team are not wasted, which is often
the case with the other methodologies. The changes are integrated immediately, which saves trouble
later. There is no guesswork between the development team and the customer, as there is face-t-face communication and continuous inputs from the client. The culmination of this is that a high
quality software is delivered to the client in the shortest period of time, and leaves the customer
satisfied.
If the projects are comparative smaller, then using the agile model is certainly profitable. But, if it is
a large project, then it becomes difficult to judge the efforts and the time required for the project, in
the development life cycle. Since the requirements are ever-changing, there is hardly any emphasis,
which is laid on designing and documentation. Therefore, chances of the project going off the track
easily are much more. The added problem is if the customer representative is not sure, then the
chances of the project going off-track increases manifold. Only senior developers are in a better
position to take the decisions necessary for the agile type of development, which leaves hardly any
place for an inexperienced programmers.
Different Agile Methodologies
There are very well-known agile methodologies that are used during the software development
process. They are:
Agile Unified Process
Scrum
Extreme Programming
Kanban
GSD
Lean software development
Crystal clear
Crystal methods
Scrum Methodology
Scrum process focuses on delivering the highest business output, in the shortest period of time. The
inspection and verification of software takes place very frequently, in about every two weeks to one
month.
As the inspection and verification is done so frequently, the working of the software can be observed
and judged. Depending on its working, and upon verification of actual results with the expected

ones, the business unit can decide on continuing with the iteration or not. If the results are not
satisfactory enough, the business unit always has an option of going to the next iteration. In each
iteration, the product is developed, tested, and demonstrated.
The people involved in this process are; the product owner, scrum master, scrum team and client.
They play a very important role in the development process. The product owner is nothing but the
stakeholder who defines the features, content, and release date of the product. He is the one
responsible to write user stories (customer requirements), and then add them to the product
backlog. These user stories are documents that are written without any formal method or
administrative allegations.
Thus, the response given to user requirements is faster. The scrum master is responsible for
removing impediments, and is the one who represents the management in the project. He ensures
that the team adheres to scrum values and principles. The scrum team is a cross functional one with
designers, programmers, UI Designers, testers, etc. The team is involved from conception of the
project to the software release stage.
The main disadvantage of this model is the lack of formal documentation. The unavailability of
physical records, makes it difficult to keep a track of the changes made in each iteration.
Extreme Programming
Another agile software development methodology is 'Extreme programming'. This method focuses on
customer satisfaction, by incorporating frequent changes in the development process. The need to
respond to customer requirements is of utmost importance, even though the changes are made
much later in the life cycle.
Out of the 12 core practices of XP; pair programming, unit testing of the code, small releases, and
collective code ownership are the prominent ones. The XP method emphasizes on releasing even the
smallest feature set, at the earliest. Any changes in the features are later considered, and the code is
changed accordingly. All the codes are written by two programmers, and so, no single programmer
can claim authority for the same. Employees are always advised to maintain the 40-hour work week
schedule, without spending extra time on the project.
Agile Model in Software Testing
Agile model testing is carried out from the perspective of the end user. No emphasis is laid on the
rigid testing procedures, but the focus is rather on conducting the tests iteratively on the newly
developed software component. Regression tests are also carried out on the entire software, to
check if any new bugs were introduced into the software. In the agile testing model, the focus shifts
from 'testers as quality watchdog' to 'the entire team quality watchdog'.
As the name of the testing methodology suggests, testers have to adapt themselves to rapid
development cycles, and make the required changes to the test suite. In this software testing type,
the aim is to test from the perspective of the customer, as early as possible in the development
process. Because the testers are involved early on in the entire process of software development,
they give the necessary information, feedback and suggestions to the development team, rather than
giving them after the development has come to the final stages.
Agile model has given the software development process an effective and practice-based
methodology. Therefore, the principle 'maximize stakeholder value', can actually be put into

practice, leaving the customer satisfied and happy.

You might also like