Sunday, October 6, 2013

Agile: Various Methodologies for Software Development

There are various agile methodologies for software development. Most of them share the same philosophy, characteristics and practices. But, each one is different from an implementation point of view. Here are few claims of the main methodology which I find interesting.

Scrum - Here, Product Owner works closely with the team to figure out and slice the system functionality that forms the “Product Backlog”. Features, bug fixes, non-functional requirements and so on dwell in the Product Backlog. Each slice is a customer deliverable. Slices are prioritized as “potentially shippable increments” of software. Cross-functional teams estimate and sign-up to deliver a slice, which can be divided into tasks, in each sprint. The sprint length can be defined by the team. So, next sprint will have the next set of prioritized tasks and hence, it will continue.

Feature Driven Development - FDD is again a model-driven, short-iteration process. The features are small and useful. It follows eight practices for the feature delivery. Unlike other agile methodologies, FDD has short specific phases of work for each feature which include Domain Walkthrough, Design, Design review, Code, Code review and Promote to Build.

These were few processes of the main methodology, but, there are many more like Lean and Kanban, Extreme Programming, Crystal, and Dynamic Systems Development Method and so on. Usually, any team does not follow strict rules of agile development; there is always some amount of flexibility induced. This will help the team to perform effectively and have the deliverable ready even before the customer can know it.

Sources:

No comments:

Post a Comment