This article gives you brief introduction about Agile Project Management.
What is Agile?
The ability to create and respond to change in order to succeed in an uncertain environment.
Agile means able to move quickly and easily.
What is Agile Software Development?
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.
In software application development, Agile is a methodology that anticipates the need for flexibility and applies a level of pragmatism into the delivery of the finished product.
Agile has replaced Waterfall as the development methodology of choice in most companies
History of Agile
In the late 1990’s, several methodologies began to gain increasing public attention, each having a different combination of old and new ideas.
These methodologies emphasized close collaboration between the development team and business stakeholders; frequent delivery of business value, tight, self-organizing teams; and smart ways to craft, confirm, and deliver code.
The term "Agile" was applied to this collection of methodologies
How does it work
1. Make a list - Sitting down with your customer you make a list of features they would like to see in their software. We call these things user stories and they become the To Do list for your project.
2. Size things up - Then, using Agile estimation techniques, you size your stories relatively to each other, coming up with a guess as to how long you think each user story will take.
3. Set some priorities - Like most lists, there always seems to be more to do than time allows. So you ask your customer to prioritize their list so you get the most important stuff done first, and save the least important for last.
4. Start execution - Then you start delivering some value. You start at the top. Work your way to the bottom. Building, iterating, and getting feedback from your customer as you go.
5. Update plan as you go - Then, as you and your customer starting delivering, one of two things is going to happen. You'll discover:
a. You’re going fast enough. All is good. Or,
b. You have too much to do and not enough time.
At this point you have two choices. You can either a) do less and cut scope (recommended). Or you can b) push out the date and ask for more money.
1. Analysis, design, coding, and testing are continuous activities.
You are never done analysis, design, coding and testing on an Agile project. So long as there are features to build, and the means to deliver them, these activities continue for the duration of the project.
2. Development is iterative
Iterative development means starting with something really simple, and adding to it incrementally over time.
3. Planning is adaptive
When reality disagrees with their plans, Agilists find it easier to change their plans than reality. They call this adaptive planning.