Your Ad Here

Sunday, January 31, 2010

Introduction to Agile Method of Software Development


Agile methodology enables product development incrementally and in a lightweight manner. The process adapts to the changing business scenarios and equips team to collaborate in every task. Agile can be interpreted differently by the different pool of practitioners. For team, it provides opportunity to be flexible, cross-functional and self-organized. For managers, it is a set of best engineering practices that allow rapid delivery of high quality software. For stakeholders, it is business approach that aligns development with customer needs and company goals.

Agile is implemented with flavours such as Scrum, Extreme Programming (XP) and Agile Unified Process (AUP).

Scrum—Flavor of Agile

Scrum is one of the most famous and mature flavors of Agile methodology. It is a simple set of rules and practices that encompass transparency, adaptability and empirical process control in software development.

Scrum Flow

Product roadmap starts with a short user story, which acts as requirement for the development team. The story is then converted into tasks. Tasks are prioritized and performed in short intervals, called Sprint, of 2-4 weeks. It is not expected that the entire product would be ready in one sprint but would be delivered incrementally sprint after sprint. Each Sprint starts with iteration planning meeting to figure out the product backlogs. The team is collectively responsible to release a potentially shippable product at the end of the sprint.

Every day, team members participate in the stand-up meeting to keep a tab on progress and to figure out whether there is any bottleneck faced by any of the members.

At the end of each Sprint 2-4 hours Sprint review meeting is done. The meeting is attended by the Product Owner or any other interested stakeholders to evaluate tasks and status of potentially shippable product.

Scrum Roles

Onus of implementing iterative and incremental skeleton of Scrum is distributed among three different role players: the Product Owner, the Scrum Master and the Team.

Product Owner brings up the end users’ perspective, prioritizes tasks to be performed in sprints and ensures the success of the product. Scrum Master monitors the rules and practices of Scrum and implements them to meet organizational goal. The self-organized and cross-functional team is responsible for developing functionality and make every iteration successful.

Scrum Artifacts

Product Owner maintains a Product Backlog. It is requirements in the form of tasks. The Product Backlog is not expected to be complete, rather it keeps on evolving. Product Owner prioritizes tasks from this list for each sprint and strikes out completed tasks.

Completion of tasks is tracked in Burndown Chart. The chart depicts tasks yet to be completed with remaining time in a sprint. Please refer to the chart below for more clarity. The curve should meet the time axis at the end of sprint.

Agile believes in just enough documents to suffice the product development. It is upto the comfort level of the team, product owner and customer to come up with more/ less artifacts.

No comments:

Post a Comment