You are on page 1of 6

International Conference on Current Trends & Challenges

in Management, Engineering, Computer Application & Technology-2012

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL


(VALUES, PRINCIPLES AND CHARACTERISTICS)

Mrs. Gunjan Behl Mr. Nripesh Kumar Nrip


Assistant Professor, BVU Institute of Assistant Professor, BVU Institute of
management, Kolhapur. management, Kolhapur.
E – Mail – mailtogunjan@yahoo.co.in E – Mail – nripesh.nrip1985@gmail.com

-------------------------------------------------------------------------------------------------------------------------------

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL

.
International Conference on Current Trends & Challenges
in Management, Engineering, Computer Application & Technology-2012

ABSTRACT which meets the changing needs of its


stakeholders.
Agile is an iterative and incremental approach
Agile development emphasizes working
to software development which is performed in a
software as the primary measure of progress.
highly collaborative manner with "just enough"
This, combined with the preference for face-to-
ceremony that produces high quality software
face communication, produces less written
which meets the changing needs of its
documentation than other methods. The agile
stakeholders.
method encourages stakeholders to prioritize
This paper deals with the values and principles "wants" with other iteration outcomes, based
and characteristics of Agile software exclusively on business value perceived at the
development methodology. It also focuses on beginning of the iteration (also known as value-
comparison of Agile Software methodology with driven).
other traditional methodologies of software
Agile Modeling (AM) is a practice-based
development.
methodology for effective modeling and
documentation of software-based systems.  
KEYWORDS Simply put, Agile Modeling (AM) is a collection
of values, principles, and practices for modeling
Agile Modeling, Iterative and Incremental,
software that can be applied on a software
Agile Manifesto, Communication, Humility,
development project in an effective and light-
Collaboration, Process adaptability.
weight manner. 
INTRODUCTION AM is based on a collection of principles, such
as the importance of assuming simplicity when
Agile software development is a group of you are modeling and embracing change as you
software development methodologies based on are working because requirements will change
iterative and incremental development, where over time.  You should recognize that
requirements and solutions evolve through incremental change of your system over time
collaboration between self-organizing, cross- enables agility and that you should strive to
functional teams. It promotes adaptive planning, obtain rapid feedback on your work to ensure
evolutionary development and delivery, a time- that it accurately reflects the needs of your
boxed iterative approach, and encourages rapid project stakeholders.  You should model with a
and flexible response to change. It is a purpose, if you don't know why you are working
on something or you don't know what the
conceptual framework that promotes foreseen
audience of the model/document actually
interactions throughout the development cycle.
requires then you shouldn't be working on it.
Agile is an iterative and incremental Furthermore, you need multiple models in your
(evolutionary) approach to software intellectual toolkit to be effective.  A critical
development which is performed in a highly concept is that models are not necessarily
collaborative manner with "just enough" documents, a realization that enables you travel
ceremony that produces high quality software light by discarding most of your models once

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL

.
International Conference on Current Trends & Challenges
in Management, Engineering, Computer Application & Technology-2012

they have fulfilled their purpose.  Agile direction by either discarding or


modelers believe that content is more important refactoring your work when some of
than representation, that there are many ways your decisions prove inadequate.
you can model the same concept yet still get it
right. To be an effective modeler you need to  Humility. The best developers have
recognize that open and honest communication the humility to recognize that they
don't know everything, that their
is often the best policy to follow to ensure
fellow developers, their customers, and
effective teamwork.  Finally, a focus on quality
in fact all project stakeholders also
work is important because nobody likes to
have their own areas of expertise and
produce sloppy work and that local adaptation of have value to add to a project.  An
AM to meet the exact needs of your effective approach is to assume that
environment is important. everyone involved with your project
has equal value and therefore should
AGILE MODELING VALUES be treated with respect.  Huet Landry
suggests the concept of "Other
Following are the five values of Agile Esteem", instead of "Self Esteem",
Modeling where you treat the opinions of others
as if they have more value than yours. 
 Communication.  Models promote With this approach your first reaction
communication between your team to another's idea will be most positive.
and your project stakeholders as well
as between developers on your team.
 Simplicity. It’s important that
developers understand that models are
critical for simplifying both software
and the software process—it’s much AGILE MODELING PRINCIPLES
easier to explore an idea, and improve
upon it as your understanding The main motive of Agile model is”
increases, by drawing a diagram or two Customer satisfaction by rapid delivery of
instead of writing tens or even useful software” Following are some
hundreds of lines of code. “principles underlie the Agile Manifesto,
 Feedback. Kent Beck says it best in
Extreme Programming Explained:  Welcome changing requirements,
“Optimism is an occupational hazard even late in development
of programming, feedback is the  Working software is delivered
treatment.” By communicating your frequently (weeks rather than months)
ideas through diagrams, you quickly  Working software is the principal
gain feedback, enabling you to act on measure of progress
that advice.
 Sustainable development, able to
 Courage. Courage is important maintain a constant pace
because you need to make important
decisions and be able to change

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL

.
International Conference on Current Trends & Challenges
in Management, Engineering, Computer Application & Technology-2012

 Close, daily co-operation between have an available release (with minimal


business people and developers bugs) at the end of each iteration Multiple
iterations might be required to release a
 Face-to-face conversation is the best product or new features.
form of communication (co-location)
Teamwork
 Projects are built around motivated
Team composition in an agile project is
individuals, who should be trusted
usually cross-functional and self-organizing,
 Continuous attention to technical without consideration for any existing
excellence and good design corporate hierarchy or the corporate roles of
team members. Team members normally
 Simplicity take responsibility for tasks that deliver the
functionality iteration requires. They decide
 Self-organizing teams individually how to meet iteration’s
 Regular adaptation to changing requirements.
circumstances
Collaboration
AGILE MODELING CHARACTERISTICS Agile methods emphasize face-to-face
communication over written documents
There are many specific agile development when the team is all in the same location.
methods .Mostly used are – Most agile teams work in a single open
 promote development office (called a bullpen), which facilitates
 teamwork such communication. Team size is typically
 Collaboration small (5-9 people) to simplify team
 process adaptability communication and team collaboration.
throughout the life-cycle of the project Larger development efforts can be delivered
by multiple teams working toward a
Promote development common goal or on different parts of an
Agile methods break tasks into small effort. This might require a coordination of
increments with minimal planning and do priorities across teams. When a team works
not directly involve long-term planning. in different locations, they maintain daily
Iterations are short time frames (time boxes) contact through videoconferencing, voice, e-
that typically last from one to four weeks. mail, etc.
Each iteration involves a team working
through a full software development cycle,
including planning, requirements analysis, Process Adaptability
design, coding, unit testing, and acceptance No matter what development disciplines are
testing when a working product is required, each agile team will contain a
demonstrated to stakeholders. This customer representative. This person is
minimizes overall risk and allows the project appointed by stakeholders to act on their
to adapt to changes quickly. Stakeholders behalf and makes a personal commitment to
produce documentation as required. An being available for developers to answer
iteration might not add enough functionality mid-iteration problem-domain questions. At
to warrant a market release, but the goal is to the end of each iterations, stakeholders and

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL

.
International Conference on Current Trends & Challenges
in Management, Engineering, Computer Application & Technology-2012

the customer representative review progress always high quality code that is expanded
and re-evaluate priorities with a view to into the final product.
optimizing the return on investment (ROI)
and ensuring alignment with customer needs
and company goals. The requirements gathering at the start of
the project is meant to be just barely enough
COMPARISION to get going (to take the next step) and are
meant the be fleshed out just shortly before
AGILE VERSUS SPIRAL MODEL they get actually implemented. Changes are
The Spiral Model is an example of iterative to the requirements are welcomed.
development. A typical iteration will be
Also, there is much more to Agile than just
somewhere between 6 months and 2 years
doing iterative development
and will include all aspects of the lifecycle -
requirements analysis, risk analysis, - a focus on faces to face conversation
planning, design and architecture, and then a instead of written communication,
release of either a prototype (which is either
evolved or thrown away, depending on the - a focus on bringing business people and
specific methods chosen by the project technical together in their day-to-day work.
team) or working software. These steps are
repeated until the project is either ended or - a focus in collaboratively maximizing
finished. value instead of defining and then fulfilling
a contract.
Agile development, on the other hand,
includes a number of different AGILE VERSUS WATERFALL MODEL
methodologies with specific guidance as to
The Waterfall Model is a classically linear
the steps to take to produce a software
and sequential approach to software design
project, such as Extreme Programming,
and systems development, each waterfall
Scrum, and Crystal Clear. The commonality
stage is assigned to a separate team to ensure
between all of the agile methods is that they
greater project and deadline control,
are iterative and incremental. The iterations
important for on-time project delivery.  A
in the agile methods are typically shorter - 2
linear approach means a stage by stage
to 4 weeks in most cases, and each iteration
approach for product building. However, in
ends with a working software product.
case of changing the software is not only a
However, unlike the spiral model, the
practical impossibility, but means one has to
software produced isn't a prototype - it is
go right back to the beginning and start

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL

.
International Conference on Current Trends & Challenges
in Management, Engineering, Computer Application & Technology-2012

developing new code, all over again.  That’s 1. Agile Unified Process ; Wikipedia, the
Waterfall for you!  Now, as for minimal risk free encyclopedia;
http://en.wikipedia.org/wiki/File:AgileUni
Agile, it is a low over-head method that fiedProcessTimeline20060704.png
emphasizes values and principles rather than 2. Agile Modeling (AM) Principles;
processes.  Working in cycles i.e. a week, a http://www.agilemodeling.com/principles.
htm#Supplementary
month, etc., project priorities are re-
evaluated and at the end of each cycle. 3. Agile software development;
http://en.wikipedia.org/wiki/Agile_softwar
To synopsize the difference between the e_development
two, one can say the classic waterfall
method stands for predictability, while agile 4. Agile versus Spiral;
methodology spells adaptability.  Agile http://agilemenifesto.org
methods are good at reducing overheads,
such as, rationale, justification, 5. An Introduction to Agile Modeling;
documentation and meetings, keeping them http://www.agilemodeling.com/practices.h
as low as is possible.  And, that is why Agile tm
methods benefit small teams with constantly
changing requirements, rather more than
larger projects.

CONCLUSION
Agile software development is a group of
software development methodologies based on
iterative and incremental development. It
promotes adaptive planning, evolutionary
development and delivery, a time-boxed
iterative approach, and encourages rapid and
flexible response to change. Comparatively
Agile methods are good at reducing
overheads, such as, rationale, justification,
documentation and meetings, keeping them
as low as is possible.  And, that is why agile
methods benefit small teams with constantly
changing requirements, rather more than
larger projects.

REFERENCES

A STUDY OF AGILE SOFTWARE DEVELOPMENT MODEL

You might also like