Ropardo Sowftware development company

Experience software development with ROPARDO S.R.L.

RSS Feed
RSS Feed
  • Home
  • About ROPARDO S.R.L
  • Our websites

Short introduction to Agile Methods

I have recently attended a lecture on Agile Methods at the University of Bolzano, Italy. Jutta Eckstein, an expert on Agile Software Development, held an interesting introductory course on Agile Software Process Management at the CASE Summer School (2009). Based on her lecture, I decided to make a short presentation about what Agile Methods means.

Agile Software Development encompasses a set of software development methods which include (among others) the following important characteristics: welcome changes and quickly adapt to them, focus on providing running software, provide value to the customer, collaboration, interaction. Software is developed in a creative manner, with human beings, for human beings.

Simply said, Agile process management is a four step process.

My presentation is merely short introduction to the agile world but, it provides a basic understanding on what Agile Software Development is all about and how this process is put into practice.

Agile Methods are not something new. They rely on:

  • lean development (the Toyota way)
  • patterns
  • eXtreme Programming and Scrum, which were published in the 90ies

We can say that Agile process management officially appeared in 2001, when the Agile Manifesto was created. The Agile Manifesto provides the Agile System of Values and the Agile Principles.

The Agile System of Values basically says that we should value:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

However, this doesn’t mean that, for example, Agile Methods do not consider software documentation important. It is considered important but, we first want to have a working software. This observation applies to each part of the system of values.

The Agile Manifesto also includes a set of twelve principles:

  1. Early and continuous delivery of valuable software
  2. Welcome changing requirements
  3. Deliver working software frequently
  4. Business people and developers work together
  5. Trust motivated individuals
  6. Face-to-face conversation
  7. Working software is the primary measure of progress
  8. Promote sustainable development
  9. Technical excellence and good design
  10. Simplicity is essential
  11. Self-organizing teams
  12. Team reflection and adjustment

I will not go into details regarding the principles but, I must mention an important aspect of agility: Agile Methods use time-boxed development. The work to be done is divided into iterations which normally take 2 weeks. Releases are made each 3 months. By dividing the work into small pieces, teams are capable to concentrate on results, to quickly adapt to changes, to better estimate their speed, etc.

Agile process management consists of four steps.

Agile process

Planing, developing, testing and adapting are the parts which create the Agile process. The key is to focus on delivering business value while prioritizing, planning and learning are ongoing activities.

While Agile Methods don’t really say anything particular about prioritization, we are though how we should perform planning. Each feature of the product should provide value to the customer (Product Owner) and it must be measurable. Estimation of features must not be done by time but rather by complexity, expressed relative to other features. Agile is also about collaboration and therefore, features are estimated collaboratively.

The software product is integrated continuously, either synchronously or asynchronously (automatically – nightly builds) . Each integration is accompanied by tests. We have two main categories of tests: unit tests (made by developers) and acceptance tests (made by customers). Actually, one of the agile practices is Test Driven Development.

Other well known agile practices are Pair Programming and Refactoring (read more details in my presentation).

In order to support communication, we can use daily Scums. This is a daily meeting, it is short and it allows team members to discuss their progress, their problems and what will they do next.

When a project is finished, the Agile Methods also say that we should do retrospective of the project. This helps the team members to learn from what they did, to improve themselves.

There are a lot of other things to mention about Agile Methods. As a good place to start, I would recommend Jutta Eckstein’s web page.

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Get Shareaholic
Tags: Agile Agile Methods Agile Process Management introduction

 Posted in: Ropardo Team
August 27, 2009 | Ciprian Radu | No Comments

Leave a Reply

 


  • « Previous post
  • Next post »
  • Recent Posts

    • Installing PyGraphviz on Windows
    • Convert python object to XML representation
    • Liferay Portlet Development
    • Norway Road Show 2011 private meeting invitation
    • Oracle OpenWorld 2011
  • Ropardo is Hiring

  • Subscribe

    • Add to Google Reader or Homepage Add to netvibes TopOfBlogs
  • Recent Comments

    • Rajkumar Pomaji on Bluetooth PC Remote Control
    • Stelian Morariu on GWT 2.1 – Uploading a file using the RPC mechanism
    • Sergio on GWT 2.1 – Uploading a file using the RPC mechanism
    • Artem on Liferay: Deployment will start in a few seconds… and how to realy start
    • rkd80 on GWT 2.1 – Uploading a file using the RPC mechanism
  • Archives

    • November 2011 (1)
    • September 2011 (4)
    • July 2011 (3)
    • June 2011 (2)
    • May 2011 (4)
    • April 2011 (4)
    • March 2011 (3)
    • February 2011 (2)
    • January 2011 (2)
    • December 2010 (1)
    • November 2010 (4)
    • October 2010 (4)
    • August 2010 (3)
    • July 2010 (3)
    • June 2010 (6)
    • May 2010 (8)
    • April 2010 (7)
    • March 2010 (9)
    • February 2010 (6)
    • January 2010 (5)
    • December 2009 (7)
    • November 2009 (9)
    • October 2009 (10)
    • September 2009 (14)
    • August 2009 (10)
    • July 2009 (1)
    • June 2009 (1)
    • May 2009 (1)
    • April 2009 (1)
    • March 2009 (1)
    • October 2008 (3)
    • October 2007 (3)
    • July 2007 (4)
    • June 2007 (1)
    • May 2007 (3)
  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
  • Categories

    • News (15)
    • Ropardo Team (8)
    • Ropardo Products (6)
      • File Tracking Client (4)
      • iManagement (2)
    • Software Development (83)
      • Microsoft.NET (22)
      • Java (40)
      • Oracle (8)
      • Power Builder (3)
      • Liferay (5)
      • Lotus Notes (9)
      • xWiki (4)
    • System Adminstration (13)
      • Linux (10)
      • Windows (3)
    • Programming (1)
    • Uncategorized (3)
    • Databases (10)
      • MSSQL (5)
      • PostgreeSQL (3)
    • Microsoft.NET (1)
    • Web Development (28)
      • ASP/ASPX (3)
      • Content Management Systems (1)
      • HTML/CSS (5)
      • Javascrip/AJAX (8)
      • PHP (7)
    • Oracle E Business Suite (6)
  • Tags

    .NET ajax blog C# certification client CMS control css database Debugging django Domino Eclipse extension file tracking filter fun gentoo google Hibernate how to html image iManagement import Java javascript jQuery liferay Linux Lotus Notes lotus script Oracle Oracle BI Publisher 11g PHP portal PostgreSQL powerbuilder Python SQL Telerik velocity xml Xwiki

© 2010 ROPARDO s.r.l..

Powered by WordPress. Styled by Ropardo