Home > DeveloperSection > Articles > Agile and Agile Development Methodologies

Agile and Agile Development Methodologies

Services and Business Process Software Development 
0 Comment(s)
 721  View(s)
Rate this:

Agile and Agile Development Methodologies

What is Agile?


Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end. It works by breaking projects down into little bits of user functionality called user stories prioritizing them, and then continuously delivering them in short two week cycles called iterations.


How does agile work?


At its core, agile does the same thing we do when faced with to much to do and without enough time.


Step1: Make a List: Meet the customers and note down the list of features he like to see in his software. We call these things user stories and they become the TO DO list for your projects.


Step2: Size things up:  Use Agile estimation technique, we size our stories relatively to each other, coming up with a guess as to how long each story will take.


Step3: Set Priorities: Like most list, there always seems to be more to do than times allows. So we ask customers to prioritize their list so we get the most important stuff done first, and save the least important for the last. 


Step4: Start executing: Start delivering some value. We start at the top. Work our way to the bottom. Building, iterating, and getting feedback from the customer.


Step5: Update the Plan: As we start delivering one or two things is going to happen:


•        We are going fast enough. Everything’s going as planed or,

•        We have too much to do and not have enough time.


At this time we have two choices:


1.       Do less and cut scope (as recommended)

2.       Push out the date and ask for more money.


The Agile way:


The following features make agile different and unique from other development methodologies:


•Analysis, design, coding and testing on an Agile project are continuous activates.


•Development is iterative.ie. We starting with something very simple and add to it incrementally over time.


•Panning is adaptive i.e. when reality disagree with our plans. Agalists find it easier to change their plans than reality. We call it adaptive planning.


•Roles blur: i.e. when it’s done right, joining agile team is lot like working in a mid-size start-up. People pitch in and do whatever it takes to make the project successful-regardless of title or role. On an agile project, narrowly defined roles like analyst, programmer and tester don’t exist – at least not in traditional sense.


•Scope can vary: The issue in agile is “Lots of work in less time”. By fixing time, budget, quality and being flexing around scope. Agile team maintain integrity of their plans, work within their means and avoid the burn out.


•Requirements can change: Changes usually shunned on software projects because of its high coast later. But Agile believe that the cost of change can be relatively flat. Through a combination of modern software engineering practices, and open and honest planning, Agilsts accept and embrace change even later in the delivery process.


•Working software is the primary measure of success: The rate at which team turn their customer’s wishes into working software is how Agilists measure productivity. Project plans, test plans and analysis are all well and good but Agilists understand they themselves are of no value to the end customer.

Don't want to miss updates? Please click the below button!

Follow MindStick