by lm F
Among various methodologies used in systems development, agile development is favored for its rapid and flexible response to change. Especially in an increasingly competitive world where changes can occur in a quick and frequent pace, agile development methodologies are becoming more desirable (Nishijima, 2013). One agile methodology that I would like to share is called Scrum.
Scrum is an agile software development process that takes on an iterative and incremental approach. It is one of the most popular frameworks in agile development well known for its flexibility and efficiency in delivering a high quality product in the least amount of time possible (Bhardwoj, 2013). Scrum consists of small project teams that develop sprints, focuses on early functionality to the user, and requires short delivery cycles.
The Scrum team consists of three major roles: Scrum Master, Product Owner, and Development Team. The Scrum Master acts as the team’s coach who focuses on helping the team attain its highest level of achievement. This individual makes sure the project progresses smoothly and removes any obstacles that arise during the process. The Scrum Master is also in charge of conducting daily meetings known as the Daily Scrum.
The Product owner is the voice of the stakeholders and business. They make sure that they understand what the user wants and guides the development team to deliver value to the business. The Product owner creates the product backlog where requirements are specified and user stories are prioritized (Nishijima, 2013).
The development team consists of usually three to nine members. These individuals are the ones who actually build and test the system. They are responsible for delivering potential shippable product increments at the end of each sprint. The development team is self-organizing with cross-functional skills in analysis, design, implementation, testing, etc. (Bhardwoj, 2013).
The Scrum process begins with the product backlog which is filled up with project requirements, sometimes known as user stories. These requirements are prioritized based on what the customer wants the system to do. The requests are put into the sprint backlog where the team must allocate time for each task and commit to delivering them. Several requirements get categorized together into time boxed units called sprints that last from 2-4 weeks (Nishijima, 2013). In order for the team to push toward completion of each sprint, the Scrum Master leads daily scrum meetings. The Daily Scrum is set for 15 minutes each day which allows the team to stay focused and on-topic. At the end of each sprint, a deliverable is required. Before the team can work on the next sprint, a sprint review must be conducted to demonstrate the software and allow feedback from the customer. The sprint review is when requirements can alter due to the customer’s change in requests. The team then works to make adjustments to improve the system so it would better fit the customer’s need. The process of delivering sprints continues until either all of the items from the back log are accomplished, until the team reaches a deadline, or until a depleted budget ends the project (Uhlig, 2008).
Pros & Cons
Early functionality of the user’s needs is what drives Scrum’s development. It brings satisfaction toward customers because the customer can see functionality early on in the process and can keep track of the project’s progress (Uhlig, 2008). A small development team in Scrum is a benefit because it allows members to easily communicate with each other about project goals. For example, instead of a group of 50 developers, it is much easier to communicate with a Scrum team of 10 members. Lastly, requirements flexibility allows for the project to change. This is an advantage because the change in requirements allows the team to really meet the customer’s needs as the project advances.
Today Scrum has become one of the leading agile methodologies used by companies around the globe (Morampudi, 2013). However, although many companies have had success with Scrum, this process does not work for all organizations. For example, Scrum does not work well with complex projects or large-scale organizations. Another drawback is that it is very difficult to manage something that is not well defined (Uhlig, 2008). With requirements that can change frequently, it is difficult to keep the project on task and on budget. A lot of time can be consumed in sprint reviews or the redesign phase which leads to less time being spent in developing the actual product.
Scrum, or agile development in general, is related to Systems Analysis and Design because it is one methodology of systems development. Chapter 1 in our textbook includes systems development methodologies that include three categories: structured designs, rapid application development (RAD), and agile development. Agile development includes different methodologies including Scrum, so I thought it was appropriate to explain this process. Scrum has been known to be implemented in lots of businesses and have been a success. Although there are a lot of reasons behind Scrum’s success and popularity, it also has its drawbacks of not fitting with all organizations. Therefore, it is very important for companies to select the most appropriate development methodology that will fit well for their organization and project.
-Bhardwoj, M. (2013, Dec. 15) A Beginners Guide to Scrum. CodeProject Retrieved Feb.1, 2014.
-Morampudi, N., Raj G. (2013, March) Evaluating Strengths and Weaknesses of Agile Scrum
Framework using Knowledge Management, International Journal of Computer Applications Retrieved Feb. 1, 2014.
-Nishijima, R., Santos, J. (2013, May-June) The Challenge Of Implementing Scrum Agile Methodology In A Traditional Development Environment, International Journal of Computers & Technology Retrieved Feb. 1, 2014.
-Uhlig, D. Advantages and Disadvantages of the Scrum Project Management Methodology, HoustonChronicle Retrieved Feb.2, 2014.