In Agile methodology, the team discuss the features with the product owner/Business that are of value. Then work on those features during an iteration to deliver a verifiable/release outcome. The feature worked in earlier iteration can also be enhanced during the next iteration based on the product owner/business user feedback in addition to the new features the team pulls into the iteration
The above is a catch-up from earlier chapter, now let us elaborate more on that, in an essence we are practicing agile now in explaining what agile is, by demonstrating the progressive elaboration technique & quick/incremental delivery of value to customer. Ok let me explain. Let us pretend you are my business user and value to be delivered is “explain agile”.
In the methodologies section, I have explained what agile methodology is quickly so i can deliver what agile means to you in that iteration, in this iteration now I am going to enhance the description which technically is called progressive elaboration which is you build on top of what you have built earlier but with more details and granularity.
Agile focuses on quick & incremental delivery to product owners/business users, constant inspection of the deliverables, constant adaptation, provide visibility into the projects . So how is it done in agile?
In Agile projects, the customer outlines the features that are expected out of the project, team work with customer to prioritize them based on factors like competitive advantage, risk, value etc. The team sets an iteration which is essentially a time period let us say 2 weeks for now. Then they work on estimating the features using a standard unit which can be hours, story points etc, Then the team assess the capacity in hand and try to pull in the features that meet their capacity by negotiating with the customer. Once the planning is done, the team work on the features set for the iteration, during the iteration the team posts the information on their progress at publicly available places so it is visible to the team, stakeholders and customers. The team meets with customer at end of the iteration to review the outcome of an iteration to get acceptance or comments that can be addressed in next or subsequent iteration. If the customer mandates the changes in next iteration, the plan for next iteration is modified by removing a feature and adding the feedback/change to the next iteration so the agile plans are adaptive.