What Are Agile Methodologies?

April 23, 2011 | Author: PM Hut | Filed under: Agile Project Management

What Are Agile Methodologies?
By Todd Burton

To get this article rolling, the first step was to examine what has to be done to launch a lean startup. One of my colleagues noted that “lean startups are all about using project methodologies (agile) to increase agility & flexibility and to fully utilize open-source platforms to lower costs” [Jeong, 2011]. With the goal of launching a startup using offshore development, the question remained how do we develop a lean startup, yet with offshore (not opensource) development teams?

A logical beginning for me was to examine what exactly is an agile methodology? Understanding this will allow clarification and direction moving forward. This piece will outline common agile methodologies and their potential for launching a lean startup.

Defining Methodologies

According to Baltzan, Phillips, Lynch & Blakey (2010), a methodology is a set of standards, processes, tools, techniques, policies and tasks that individuals apply to management and technical challenges. This definition coincides with other literature in this field, yet may also include rules or guidelines that direct development in projects [Avison & Fitzgerald, 2003].

Methodologies are constantly evolving. Up until the early 1970’s, no guidelines or methodologies for software development existed. In the early 1980’s, the system development life-cycle (SDLC) was introduced as the solution to software developers nightmares. However, lack of consistency and rigidity led to a new wave of methodologies in the 1990’s, such as structured, object-oriented, prototyping and data [Avison & Fitzgerald, 2003].

Agile Methodologies Today

Today, methodologies are adapting to the environment in which they are utilized. In the fast paced business world of today, agile is one of these adaptations. Agile methodologies were developed on a simple premise; the smaller the project, the greater the success rate. It introduced iterative development, where projects became a small series of intertwined deliverables. An agile methodology relies on frequent and recurrent delivery of software components that satisfy customer requirements while using minimal resources [Baltzan et al, 2010]. Sounds easy right?

In order to better understand agile, I examined popular agile methodologies in today’s marketplace. This following section will outline the following methodologies; SCRUM, XP, RUP & RAD.

  • SCRUM

    SCRUM utilizes small teams to deliver increments of software using “sprints”. These sprints may last for 14-30 days, during which all parties strive to achieve a specific goal. Each day begins with a kick-off meeting to assure quality control. Martin Kearns, from IT firm Renewtek states “SCRUM enables developers to prioritize work based on actual business value…which then leads to regular returns on investment and improved communication channels to management and product owners” [Baltzan et al, 2010].

  • XP

    XP (eXtreme Programming) utilizes small project phases that act as tollgates for a developer to proceed (i.e. phase X must be completed before phase Y). Its central focus is on the facilitation of planning, designing, coding and testing, and integrating these throughout each small project. XP stresses customer satisfaction and empowers project staff to change requirements instantly to accommodate customer demand. As XP relies on many parts making up a whole, successful teamwork is inherent in this methodology [Baltzan et al, 2010].

  • RUP

    RUP (rational unified process) is a framework that breaks software development into four gates; inception, elaboration, construction and transition. Each gate has a list of deliverables that must be accepted by stakeholders before advancing to the next stage. Its focus is quickly adding or removing large chunks of reusable software to solve common problems [Baltzan et al, 2010].

  • RAD

    Rapid Application Development, or RAD, is a methodology based on broad user involvement in prototype development to hasten the software development process. It utilizes iteration to collect changing business requirements while proactively involving software users in analysis, design and development. This methodology is often known for prototypes turning into final solutions [Baltzan et al, 2010].

Agile Methodology Values & Principles

For agile to work it must be two things; simple and quick. The agile manifesto (see table 1 below) outlines values for successful agile methodology use. Moreover, the agile manifesto relies on twelve principles that agile developers should adhere to (outlined in table 2 below).

The Agile Manifesto Values
Individuals & Interactions over processes and tools
Working Software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to Change over following a plan

Table 1: The Agile Manifesto Values (Developed from data in www.agilemanifesto.org)

The Agile Manifesto Principles
1 Satisfy the customer through early & continuous delivery of valuable software
2 Welcome changing requirements, even late in development
3 Deliver working software frequently (a few weeks, not a few months)
4 Business and developers must work together
5 Build projects around motivated individuals
6 Face-to-face meetings are the most effective way to convey information
7 Working software is the primary measure of progress
8 Agile processes promote sustainable development (i.e. maintain a constant pace)
9 Continual attention to technical excellence and good design enhances agility
10 Simplicity is essential
11 The best architectures, requirements and designs emerge from self-organizing teams
12 Let the team reflect on how to do better at regular intervals and adjust behavior accordingly

Table 2: The Agile Manifesto Principles (Developed from data in www.agilemanifesto.org/principles.html)

The Value of Agile

In 2007, a survey of 584 software development projects ranked the success of projects according to methodology used. These results are outlined in table 3.

Methodology Success Rate
Agile 71.5%
Traditional 62.8%
Offshored 42.7%

Table 3: Methodologies and their respective success rates (Developed from data in Baltzan Et al, 2010)

With a higher success rate, what makes agile project methodologies so successful and what lessons can be learned from their successes? How can these methodologies be executed?? Baltzan et al (2010) state the following five factors must be utilized in successful agile software development projects:

  • Slash the budget; focus on essentials only
  • If it doesn’t work, kill it; if it doesn’t meet expectations, get rid of it
  • Keep requirements to a minimum; does it really need all of that?
  • Test & deliver frequently; As often as once and week and no less than once a month
  • Assign non-IT executives to software projects; align business and IT

This raises an interesting conundrum. How can we apply the success of agile technology, whilst using an offshore development team?

Closing Thoughts

Agile development can reap value for projects. Yet, can agile standards be used when you are on a different continent to your teammates? This is the question I seek to uncover.

Todd Burton completed his Master’s Degree in Information Systems at Melbourne University. His research studied the role environmental sustainability plays in the development, design, use and disposal of information systems, and how current academic and practitioner models can be ratified to incorporate sustainable elements.

Todd received his undergraduate degree in Communication and Marketing at Appalachian State University in NC, USA, and has combined experience in power management design, consultation and configuration, as well as transportation and logistics management.

Todd is a Director at Ovata Consulting, an emerging professional services firm. He specializes in business process redesign, project management and how to use technology to achieve strategic direction. He also devotes time to bush management and regeneration in Melbourne, Australia, where he currently resides.

You can read more from Todd on his blog.

Share this article:
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • blogmarks
  • LinkedIn
  • Reddit
  • StumbleUpon
  • TwitThis
  • Yahoo! Buzz

No comments yet.

feel free to leave a comment

Comment Guidelines: Basic XHTML is allowed (a href, strong, em, code). All line breaks and paragraphs are automatically generated. Off-topic or inappropriate comments will be edited or deleted. Email addresses will never be published. Keep it PG-13 people!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

All fields marked with " * " are required.

Project Management Categories