SBP Blog

A look into Agile development - Part 1

Jul 09, 2012 by AlexI

Agile software developmentBy now you've sure heard about the Agile software development methodology, or even used this methodology in your work, so you know how intricate things can be. In order to shed some light onto this matter, I've gathered below the most important notions that a programmer / tester needs to know about Agile development.

So let's begin! first there was the manifesto! Agile software development is a set of software development methods that are derived from the Agile manifesto, a set of principles focused on a lightweight software development. The manifesto reads:

"We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to 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

That is, while there is value in the items on the right, we value the items on the left more."

The Agile manifesto was first published following a software developers' meeting, in February 2001. Some of the authors of the manifesto formed the Agile Alliance, a non-profit organization that promotes Agile development principles.

But how does Agile development work? Agile development avoids long term planning by breaking tasks into small increments. Each iteration has its own software development cycle: planning, requirements analysis, design, coding, unit testing and acceptance testing, after which a full working piece of software is shown to the investors. This allows the teams to easily adapt to changes, this being one of the principles of Agile (Responding to change over following a plan).

On one hand, Agile development advocates practices such as: Test Driven Development (TDD) and Behavior Driven Development (BDD), where tests and scenarios are written before the actual code, and are used to create a suite of automated tests that verify if the written code meets the standards imposed for that application.

On the other hand, Agile testing involves all members of the agile team, but it's the testers' job to provide specific expertise and ensure that the quality and business value requested by the customer is successfully delivered at frequent intervals. Testers from an Agile team create examples of desired behavior and collaborate with  developers to turn them into automated test suites that guide coding.

But what do others have to say?
Read more about Waterfall and SCRUM development technologies in A look into Agile development - Part 2.


Pay Per Click Management Services commented on 8/4/2012 5:20:01 AM

Yes, I have heard about Agile but have not used it. After reading your post, I think that I should use it. Anyways thanks for sharing this information.

outsourced software testing commented on 8/14/2012 9:18:21 AM

Yes, agile development methodology is indeed of help. A big reason behind this is that the total work is broken down into several small components. For outsourced software testing in particular, agile development provides much help. There's always a pressure but due to project deadline.

Your Comment: