Agile is meant to be Time boxed and also has an iterative approach to any software delivery which builds software incrementally from the start of the project, by trying to deliver it incrementally instead of all at once near the end.
It has a working fashion by breaking the projects down into little bits of user functionality called user stories and also prioritizing them just by delivering them in short week cycles called iterations.
Agile does the same thing as other SDLC models do when they face too much to do and not have enough time. For instance
-We make a list: Sitting down with our customers we make a list of features that they would like to see in their software. We call this a user story.
-We size up the things: Using the Agile estimation techniques we size up the stories relative to each other coming up with a guess as to how we should think each user story will take.
– We get priorities
There seems to be more to do than time allows. So we ask the customer to prioritize their lists so we get the most important stuff done first and also save the least important last.
-When we start executing
We start delivering some value. We always should start from the top. Work our own way to the bottom. Building, iterating and getting feedback from the customer as we go.
-We update the plan as it goes
As we and our customer start delivering, one of the two things will happen like
- We are going fast enough. All is good.
- A lot of tasks are to be executed in less time.
- Agile is a silver bullet- It can fail just as on the Agile project as we can using any other traditional method. We’ll fail faster using Agile but it’s not a silver bullet or might be an excuse to stop thinking.
- Agile is anti-documentation- A more accurate way to express it is agile doesn’t do any documentation for documentation’s sake.
Documentation gets treated like any other deliverable on agile projects. The estimation, sizing and prioritizing has to be done like any other user story.
when agile pushes back on the documentation which is a means of communication. Agile mainly prefers face-to-face communication over relying on the written word.
- Agile is anti-planning- Actually, a lot of planning goes on agile projects. Like we have got our
- Daily planning with the 10-minute daily stand-ups.
- There is bi-weekly planning with the iteration/sprint planning meetings.
- We have release planning where teams decide what to ship every three to four months.
If anything is anti-static planning it is not fair to say that agile is anti-planning. Agilist expects their plans to change and also use tools like burndown charts to track and make the changes visible.
As the development will be separated from the smaller sections all over a development life cycle teams will tighten their focus on achieving some goals within a limited time frame rather than handling the whole project of all the products in one. Sprint retrospective allows teams to understand where previous sprints have gone wrong and what they can do to improve the upcoming ones.
One more benefit is adapting and also flexibility. Here the product teams bring products to customers sooner and incorporate feedback into future releases. Agile principles will motivate teams to tighten control over their projects. Team members are clear about their tasks in each sprint. There is a greater emphasis on collaboration and communication and hence reducing the danger of mistakes or oversights. ROI is achieved faster than traditional models by Adopting agile principles in product development. Using the automated software streamlines processes and also cuts down the time that is wasted on any avoidable manual tasks.
- What is AGILE? Explain
- How is Agile useful?