2.
AGILE METHODOLOGY 2
ABSTRACT
The software development area is complex. It is not about computer and programmers, it
is way more than that. Software developer teams work weeks, months and years to reach goals in
common and they want to make it a painless road. It is a desire to have a healthy workplace and
the way to achieve it is by changing what is wrong, it looks simple.
Methodologies were created since the steps were being followed. A project is done and let’s start
the new one. Where do we start? Looking for past experiences may be good but is not always the
solution. Each project has specific needs and requirements that should be covered, otherwise the
client will not be happy.
The Agile Alliance decided to wrap all of what is good in different methodologies,
Extreme Programming, Scrum, Crystal, etc. and make it the bottom line for Agile followers.
Agile is now seen as a philosophy and this study will look into the factors and reasons for this
new denomination.
Keywords: agile, agiledevelopment, softwaredevelopment, projectmanagement
3.
AGILE METHODOLOGY 3
The Problem
The need of a software development methodology always existed. As the softwares
increased in size and complexity, project managers and software developers tried to figure out a
standard to determine the best way to develop a software. Today we know that there is no single
recipe that would solve all of the problems with different softwares. They are different. Different
softwares, different people and different needs. The environment in a software development
place can be changed in many ways and by numerous factors.
The Waterfall or “traditional” method was used for years and it is still used in lots of
software houses. It is not right or wrong but it is the choice of a few project managers. A couple
years ago, if we ask ourselves about the most used software methodology, the first answer would
be definitely no other than Waterfall. Some other SDM(Software Development Methodology)
like Spiral use the Waterfall model as a base and changed or added steps on the process trying to
make it better. Spiral was originated with previous background in Waterfall method used in big
government softwares. Some enhancements were made on the original methodology and Spiral
was created (Boehm, 2008).
The problem is that neither Waterfall or Spiral is not really suitable between its stages.
This SDM has a structured composition and sometimes it may prejudice the software
development lifecycle. If any requirement was misunderstood in the primary stages and it was
not designed the way it should be, the programming stage will be prejudiced and finally the
client will not get what he wants, causing a delay and an unproductive process.
4.
AGILE METHODOLOGY 4
It is also unclear for the clients if their needs are fully covered at the primary level of
development using Waterfall. The word “rework” is often used when requirements were not
completely enveloped (Hughey, 2009).
The New Movement
With the lack of communication and the urge of an iterative method, experts knew they
needed something more informationbased, a method that would emphasize the needs of the
client as something essential not only in the beginning but at every step of the process. This
would be something that they would agree and that would be the base ground for the SDMs
around the world of software development. In the Spring of 2001, a group of consultants and
experienced professionals of information technology agreed in what they called “The Agile
Manifesto”.
They called themselves the “Agile Alliance”, users and evangelists of different
methodologies but their will was only one: spread the Agile methodology with the appropriate
principles. Explaining the Agile Alliance history, Highsmith (2001) states, “At the core, I believe
Agile Methodologists are really about "mushy" stuff, about delivering good products to
customers by operating in an environment that does more than talk about "people as our most
important asset" but actually "acts" as if people were the most important, and lose the word
"asset".
The manifesto covers twelve principles that would be the steps and “rules” for
organizations that want to improve their process through Agile Methodologies. No matter if it is
5.
AGILE METHODOLOGY 5
Extreme Programming or Scrum, the principles would be followed focusing communication and
quality.
First Steps
The first steps are always hard to give. Introducing a new methodology only because it is
doing good in your neighbor is not the way to go. Agile would not solve all of your problems
because it is not the universal painkiller for projects.
There is also the problem of breaking typical rules and inserting something new. There will
always be the manager against this or the one who will make the question “What about our
schedule?”. According to Cockburn (1995), “Given a choice of going out on a limb to try
something new that might work or doing something that is known to be faulty, but is a generally
accepted and conservative way of doing business, people often prefer to fail using the
conservative method”. Situations where your co worker don’t want to get out of his chair is not
difficult to find and this is the scenario that would change the game.
Shore and Warden (2008) prefer to use the word “philosophy” instead of using
methodology, which is an interpretation of the Agile Manifesto seeing Agile as a “way of
thinking about software development”. This is the way that the successful project managers and
developers followed to implement the methodology the right way. It is necessary to change
people’s way of thinking about software development because changing the focus is the first step
to achieve the final goal.
6.
AGILE METHODOLOGY 6
Agile Philosophy
Nowadays, Agile is really well spread. The popularity, the different processes, the
adaptability between the practices and the regular updates and interactions are some reasons that
led Agile to a huge acceptance across developers worldwide.
The last survey made by VersionOne (2014) shows that the mass of developers is doing
systems following the Agile guideline and there is more than 80 percent of developers seeking
Agile methodologies. Furthermore, 48 percent of developers interviewed are using Agile with
five or more teams, showing that the size of the team is definitely not a problem.
It is popular
The major companies are doing it. IBM, HP, Boeing Defense, Space & Security (BDS)
which are some traditional companies unleashed their power with Agile philosophy (Frye, 2012).
Not to mention the “cool kids” like Google and Facebook whose methodologies inspired startups
all over the world. Entrepreneurs and developers born in the crib of this companies are writing
books and giving lectures about the new stuff.
Do It Your Own Way
Some others are totally converted with Extreme Programming (XP), some others with
Scrum or Kanban but the majority acquired its practices trying each one. After mastering XP you
might discover that your team is not comfortable with pair programming and it is not working
out. You do not need and you should not keep doing that. If the Sprints at every three weeks are
too far for your project, change it! As long as you keep the principles, you are right doing this.
7.
AGILE METHODOLOGY 7
Communication and Interactivity
All of the Agile methodologies were built prioritizing communication. Before, the
problems were various and in different stages of the development. Clients were not satisfied
because they wanted something different, developers working two, three times to solve a
problem that was not even stated in the requirements of the system. With the communication
provided by Agile, these problems are mitigated.
Conclusion
Agile is a word that carries a powerful meaning by itself and there is no difference in
software development. Back in 2001, when the Agile Alliance decided to come up with the
principles, they were trying to state what they had in common in their thoughts and ideas. With
their experience in the market and having in mind that some were XP user, Scrum advocates or
the Crystal creators they reached a point where the software development community sees as a
base for any company implementation.
Training is important. There is a relevant result for those who offered training compared
with those who don’t but following a specific model is not significant for Agile processes. There
is no perfect formula of using a methodology and this is what makes it incredible. Management
involvement is another factor that definitely changes the success of an Agile implementation
(Livermore, 2008). The fast progress of Agile philosophy is directly connected with the steps
that drove those who started the movement with the real implementation made by each company:
follow their specific “rules” and suite the Agile methodologies as they want. Software developers
have now a new way of thinking. Changing people’s mind was the first step to make Agile.