Agile has become a very popular development methodology in the software industry over the last decade. One of the key drivers behind the popularity of agile is it’s ability to enable teams to react quickly to changes in technology and customer needs. Unlike waterfall, one of the key principles of agile is to be open to changes in customer needs and subsequent changes in requirements as outlined by the Principles behind the Agile Manifesto. In this article I’ll discuss one of the popular agile frameworks called Scrum.
Scrum is a framework based on the agile principles that enables teams to address complex adaptive problems while productively and creatively delivering products of the highest possible value1.
At the core of the scrum framework is the organization of the Scrum team. A scrum team must consists of a Product Owner, the Development Team and a Scrum Master.
The Scrum Team develops a potentially releasable product increment at the end of a Sprint which is a time-boxed Scrum Event. A Sprint must be one month or less and must consist of the Sprint Planning, Daily Scrums, the development work, the Sprint Review and the Sprint Retrospective.
Now that we have understood the core principles of Scrum framework we can discuss how the framework lends itself to a development landscape with fast changing technology and customer needs. Given that a Sprint can only last for a month or less allows the Scrum Team to be more reactive to changes in technology and customer needs. For example, let’s assume that the client approaches the Product Owner with a new feature request at the end of the Sprint. The client thinks this new feature will provide a competitive advantage to his/her business and wants this feature to be developed as soon as possible. In this scenario a self-organizing Scrum Team is well positioned to meet this client's request given that the Product Owner has prioritized the request at the top of the Product Backlog. Unlike waterfall this is a very common practice in Scrum as the team only plans for a Sprint which last one month or less. In a waterfall approach the team has to assess the new feature request against the entire project deliverables, budget and timeline which can often take significant time.
Consequently Scrum is advisable to teams that need to react quickly to client requests. A self-organizing Scrum team working within an agile framework is best equipped to deliver solutions to meet client's changing needs in an effective and timely manner.
Reference: