Pages

Tuesday, 29 November 2016

Agile and Scrum

Agile development is an iterative and flexible process. Rather than specifying all the requirements of a project up-front and adhering to them throughout the development process (as happens in waterfall development), the requirements are listed as items in a product backlog. Specifiying software in this flexible and responsive way is better for customers and better for users.

The product backlog is prioritised by the 'product owner' (a role that represents the business users of the product to be developed). They can change the priority of an item in the backlog at any time.

Each item in the product backlog represents a block of work to be done, which should ultimately result in 'shippable product', otherwise known as a feature that users can use. Items in the product backlog are called 'user stories', which can be an epic (an overarching dewcription of some functionality), a spike (a time-boxed investigation), a bug (broken functionality that needs fixing), or a feature (a piece of functionality that delivers business value).

The development team commits to doing a number of user stories in a set time period which is known as a sprint. While the team is on the sprint, they should not be distracted by other work, and one of the roles of the scrum master is to protect the team from such distractions.

The Agile Manifesto

The Agile manifesto was written by a group of developers who wanted to create better software using better methodology. It prioritises the following: