There are many approaches to software development. One agile approach is called Scrum which is a framework of software development. The method can be used for software development or application development. With increased dependency on technology, a demand for faster and dependable systems arose across all industries in the economy. In 1986, two individuals Hirotaka and Nonaka approached such a system and called is rugby or holistic approach. As the name describes, the system performs whole processes through one cross functional team which operates across overlapping phases just like the game of rugby.
In the game, Scrum refers to a way of starting a game after infractions occur during the march. In the 1090's, several companies adapted similar development methods that saw the corporations grow. Sutherland and Schwaber presented a paper about the Scrum methodology and its ability to transform a business into a success, over subsequent years; the two have joined forces and promoted the best business practices known collectively as scrum.
The characteristics of Scrum can be evaluated by the set of methods and defined roles describing the method. Some of the major roles of Scrum can be divided into three. The first role is the role of the master scrum. The role of the master Scrum is to ensure that all the processes are followed. The master Scrum also ensures that the development team is protected from disruption during the development of an application. The second role is the product owner. This is the group that represents the stakeholders in the development process. They include business and the investors contributing to the success of the software. The last role is that of the software developers. The development team is self organizing, and they undertake the entire cross functional duties in the team. They analyze, design, test and implement the software after its completion.
The basic unit of development of a Scrum is a sprint. The duration of a sprint is seven days to thirty days. The sprints can be limited to equal lengths in a Scrum a feature that can be referred to as timeboxed. Before each sprint, a planning meeting has to be held. The aim of the meeting is to identify the tasks of the goals to be achieved laid out. A retrospective meeting follows each sprint. The aim of a retrospective meeting is to ensure that the goals of the next sprint are identified and the progress of the previous sprint identified.
Every sprint is marked by a completed percentage of the final product. The features of a product are contained in a systematic list of prioritized requirements called the backlog. The backlog determines the features that go into a sprint. A decision which is made during the planning meeting and in the planning meetings, the product owner interacts with the development team enumerating the features of the product that are of high priority. The features listed on the backlog are evaluated by the development team who then decide what portion of the work the team can complete within the next sprint (Hunt 117).
This information is recorded in the sprint backlog and no one can alter the information on the backlog. The developers are thus restricted to complete a given percentage of the work within a given time frame thus time boxed. In the event that the activities assigned to a sprint are not completed in the given time, they are recorded in the backlog. In case the product is competed in time, the software development shows the owner how to use the software.
Scrum facilitates the communication of all the members of a team during a project and ensures that the organization is self organizing and reliable. The principle behind Scrum is realizing that problems can arise during the project or client's can change posing a challenge to the development team. With scrum, the development team can deliver quickly and respond to challenges and emerging requirements in a timely manner. Different companies use different tools to implement scrum. Some companies use universal tools such as spread sheets to maintain the product backlogs. Some open source software is dedicated to product management using Scrum process while some organizations maintain their records as hard copies while implementing scrum.
There are three core roles and many ancillary roles of the Scrum team. These roles are some times referred to as the pig and chicken roles respectively. The core roles refer to the processes that are dedicated to producing the product in the project. The first core role is by the Scrum master who facilitates the scrum. The Scrum master is responsible for ensuring that the obstacles that may affect the Scrum goals are dealt with in time to ensure that the sprint goals are achieved. The Scrum master is rule enforcer but not the team leader. His role is to ensure that the team is not distracted from obtaining its objective.
The role of the development team is to ensure that at the end of every sprint the team has completed a sustainable percentage of the overall product. The development team is comprised of 3-9 members whose role is the development of a product. The development team does virtually all the work in the development process; the team should be self organizing and should interact with management to ensure that the objectives of the project are achieved. The last role is the project owner who represents the needs of the client in the business. The product owner defines the needs of the customer to the project leader to ensure that the product specifications meet the needs of the customer.
Ancillary are those roles that are taken into account even when they have no formal or frequent involvement in the project. The stakeholders may interfere with the project during the sprint reviews. The management of the project may influence the environment in which the developers work. Scrum has been particularly useful in projects where the management team can not adequately plan ahead for the business. The process can be summarized as an empirical control process where feedback loops is used as the main technique of the management team.
Daily Scrum meeting is where the team players meet on a daily basis to discus the progress of the project. The meeting start on time and the speakers are allocated fixed talk time. The team members answer three core question regarding the project progress and challenges. Backlog grooming is where the project members meet to discuss the existing backlog. Scrum of scrums takes place every day after the daily scrum, during this meeting the agenda of the Scrum is discussed and more questions posed to team members (Schwaber 167).
Sprint planning meetings take place at the start of the sprint cycle to discuss the plan for each sprint. At the end of every sprint, the team holds a sprint review and sprint retrospective meeting. Sprint review meetings are held regularly to discus complete and incomplete work. This meeting has a four hour limit where incomplete work can be demonstrated. During this meeting, the completed work can also be demonstrated to the product owners. The last type of meeting is sprint retrospective where members reflect on past sprints. This meeting has a three hour limit whose aim is to make continuous improvement to the process (Larman 119).
This is maintained as the backlog of the product. The backlog of the product can be defined as a requirement list maintained for a product. The product requirements are provided by the product owner who specifies his needs. The backlog contains a list of deliverables in the order of importance to the client. The value of the backlog item and effort by the development are determined by the product owner and development team…