User:Muffingg/Agile Report

= Introduction to Agile =

In today’s fast-paced world, companies often need to change from traditional to newer, more innovative methods across all business aspects in order to succeed. An example of this is adapting to the agile development methodology. This allows for software developers to rapidly deliver and customise quality products.

The agile methodology is widely used in software development as it allows organisations to respond to unpredictable changes that may occur throughout the project. This report will briefly introduce the SCRUM management framework – a commonly used agile method for software development – and outline its key benefits and drawbacks. This will follow with a conclusion about the analysis and a recommendation to the IT manager on whether or not the company should adapt to the agile approach. [Agile Methodology, 2014]

= SCRUM =

What is SCRUM
Scrum is a management framework for incremental product development using one or more cross functional, self-organising teams of about seven people. It provides a structure of roles, meetings, rules and artefacts. Teams are responsible for creating and adapting their processes within this framework. Scrum uses fixed-length iterations, known as sprints, which last typically 30 days. Scrum teams attempt to build a fully tested, shippable product increment at each iteration. [James, 2011]

SCRUM Roles
The Scrum framework has 3 roles in total: Product Owner, Scrum Master, and Team Member. The Product Owner is responsible for having and keeping the vision of the product and conveying this to the scrum team. They must also represent the customer’s interests through prioritisation and requirements. Meanwhile, the Scrum Master facilitates the scrum process and helps resolve impediments. Ultimately the team members are responsible for determining how it will accomplish the work to be completed in each sprint. [Burchmore, 2013]

SCRUM Process
A Scrum model consists of a series of sprints, which typically lasts a fixed length of maximum 30 days. Each sprint completes an iteration and involves requirements definition, product design, coding, and testing. The outcome of each sprint is usually a shippable product.

Figure 1 visually outlines the general Scrum framework. This methodology promotes regular meetings at the start of each sprint. Here team members are allocated specific items creating a sprint backlog. This is a list of tasks that need to be completed during the sprints. During a sprint, there are daily Scrum meetings that need to be attended by all team members, the scrum master, and the product owner. Meetings generally last 10-15 minutes and the scrum master asks three questions to each member:


 * 1) What did you do yesterday?
 * 2) What will you do today?
 * 3) Are there any impediments in your way? [Cohan, 2014]

Following these questions, the team members responsible for the work create a Sprint Backlog comprising of Product Backlog items that can realistically be completed within a 30-day period.

The key benefit of the Scrum methodology over the traditional waterfall development is the ability to develop a subset of high-value features first, incorporating feedback from customers or development personnel sooner. At the end of each sprint, a part of the product is fully completed. [See Figure 2]

= Benefits and Drawbacks =

= Conclusion and Recommendation =

Having outlined and analysed the benefits and drawbacks of Scrum – an agile development method – it is evident that the benefits clearly outweigh the drawbacks [Table 1]. The key benefit is the ability to quickly respond to both market and customer changes, making Scrum the perfect tool for Software Development.

Since feedback on products is brought up in Scrum meetings on a daily basis, the agile approach virtually eliminates the risk of total failure during projects. The end product has a much higher chance to meet the customer demands due to them being directly involved in the project with more interaction at the development stages. The end effect will be increased productivity, profit, and above all customer satisfaction. For all these reasons an agile approach (such as Scrum) has the edge over a traditional method (such as the waterfall method) in today’s market and. Therefore, it is highly recommended that the company adopts Scrum into various aspect of the software development lifecycle.