ITSU 2006 Project Management
Assignment Research Report Guideline
A guide to referencing sources used in assignments
In software engineering parlance, SCRUM refers to an agile system development framework. It is mostly suited for developing software and information systems. Agile software development methodologies are mainly focused in iterative and incremental system development. Based on an initial set of requirement specifications, the system development process starts, then there are multiple iterations and in each iteration the system is built incrementally. Usually, agile approaches require small team of developers who take multiple roles. Sometime, agile approaches require lesser documentation compared to the traditional system development approaches like waterfall, iterative model and so on. Each iteration requires continuous end user involvement and review of the partial product. Based on the review, feedbacks, and the outcome of the testing process, the requirement specifications are updated for the next iteration (Rubin, 2012).
SCRUM is a subset of the agile system development frameworks followed in the industry. It is a lightweight framework and widely used. More precisely, SCRUM can be referred as a process framework where a defined set of practices are followed so that the process is consistent with the standards of the SCRUM framework (Popli & Chauhan, 2011). Like any other agile methodology, SCRUM also needs to adhere to the agile manifesto. In the SCRUM framework, there are multiple iterations or development cycles, known as sprints. SCRUM is said to be a lightweight framework as there is little overhead in the management tasks. So the project team can utilize most of the productivity on the actual system development tasks. Hence, it helps to meet the deadlines and stay within the budget (Rubin, 2012).
In the following sections of the report, details about the SCRUM framework have been discussed in details.
Unlike traditional software development methodologies, SCRUM does not require complete and detailed requirement specifications at the beginning of the project. Rather, it can start with an idea or concept of the product and set some definite goals, requirements for a sprint. When the sprint is completed, the partial product is reviewed and then the next set of the requirements are defined. Hence, the sprint planning meeting are important to decide the requirements to get the desired outcome. There is no entry criteria, exit criteria, validation criteria or task definitions for sprints (Rubin, 2012).
The project team is very important for SCRUM. Rather than a project manager, SCRUM projects have SCRUM masters who is responsible to co-ordinate the project. The teams are small. So, teams are cross-functional and self-organizing. No manager is present there to assign tasks to the members. Rather the tasks are recorded in a product backlog. The team members choose to carry out the tasks. If some issues arrives, the team members collaborate to find a solution and work on it. Every team member must participate in the project from conceptualization to the implementation of the product.
Two major roles in a SCRUM team are the SCRUM master and the PO or the Product Owner. SCRUM Master can be considered as a coach rather than a project manager. The SCRUM master is responsible to monitor whether the team members are following the SCRUM framework properly or not and ensuring whether they are meeting the rules at the highest level or not. On the other hand, a PO or Product Owner is responsible for coordinating among the team members, customers, end users and other key stakeholders. The other role is the SCRUM team. The team members may have different designations when they join the team. But all of them must fulfill the role of a SCRUM team member where the titles become insignificant. The team members may have to take different roles during the project.
A SCRUM project consists of multiple sprints. Each sprint is time-boxed for 14 days to 30 days. Team members follow product backlogs and sprint backlogs. The documents contains list of the tasks to be done in each sprint. It also helps to track the project progress. SCRUM requires daily sprint meetings to discuss about the project. Each sprint has a review session at the end of the sprint. PO needs to demonstrate the PSI to the other key stakeholders. SCRUM highly focuses on the synchronization of the project team members.
The artifacts are,
A product backlog consists of an ordered list. The ordered list contains product requirements. A SCRUM team follows the product requirements. Different product logs may have different formats like use cases, user stories etc. These requirements help to define non-functional requirements, various bug fixes. Product owner needs to prioritize the PBIs or the Product Backlog Items by considering the business value, risks, sizes, dependencies and the dates. The delivery of the product backlog depends on the sequence of the delivery. All stakeholders must be informed by the product owner about the delivery of the items and the order of the PBIs. A product backlog must contain the assessment of the business value, required development effort and so on. The estimations help to track the timeline of the project and the progress. The tracking may influence the sequence or ordering of the PBIs. It is the responsibility of the product owner to add business value to each item in the product backlog. The estimated complexity of each item is determined the project team and their contribution to the project.
The product owner advocates the roles assigned to him/her. The maximization of the value of the product is the responsibility of the product owner. The product owner collects inputs about the partial product and feedbacks from the stakeholders. Then it is the responsibility of the product owner to manage the stakeholders and update the requirements if it is necessary. So, a product backlog contains information about the requests for modification of a product. The details include information about addition of new features, removal of new features or updating any feature. It also helps to ensure the development team to maximize the benefits for the business.
SCRUM task board contains sprint backlog. It serves as a list of works to be done in the next iteration. A SCRUM team progressively prioritize the product backlog items to finish the produce. However, the system development team must be aware of the fact that the past performance may not be adequate to estimate the future ‘effort’ required for the next sprint (Vlaanderen, Jansen, Brinkkemper, & Jaspers, 2011).
A product backlog item is broken down into multiple tasks. Unlike traditional system development project, SCRUM project needs self-organizing project teams. The spring backlog contains to-do lists for the developers. Even though SCRUM allows changes during the system development process, but it does not allow adding any additional work to a sprint backlog once the backlog is committed. However, in special cases, team members are allowed to make changes. After delivery of a sprint backlog, the product backlog is reprioritize and analyzed. If necessary, it will set functionalities for the next spring.
PSI or Potentially Shippable Increment is the accumulation of the all backlog items completed in a sprint along with the work done in the previous sprints. Hence, at the end of an iteration or sprint, a PSI must be completed. According to the DoD or Definition of Done by a SCRUM team, a PSI must be usable, and fully functional. However, it is up to the product owner, who may release it.
Some of the other artifacts used in SCRUM based project are,
Benefits of SCRUM
SCRUM provides various benefits to project teams, organizations, individuals and products. Some of those benefits are,
Limitations of SCRUM
Even though SCRUM is an effective and widely used agile approach for software development, it has some limitations as described below.
From an organization’s perspective, SCRUM helps to develop suitable solutions. However, the degree the efficiency of the system depends on how the organization has carried out the plan.
SCRUM is a widely used agile framework. Due to the simplicity and cost-effectiveness of the SCRUM framework, it has gained popularity worldwide. It is mostly suited for software development projects. However, in special cases it may be used in other king of system development projects. SCRUM is different than the traditional system development frameworks. There are three major roles, SCRUM master, product owner and the SCRUM team. All of them communicate, co-locate and work closely to make a project successful and to deliver high quality product to the end users or the customers. A SCRUM team is self-organizing in nature. The team members take multi-disciplinary roles. There are various benefits of SCRUM, for example faster deliver, higher customer satisfaction, cost-effectiveness, improved visibility and control, high team morale and so on. All these make SCRUM more important for software development projects. However, there are various limitations like SCRUM is not suitable for remote teams, for developing large or complex real-time systems or legacy systems, SCRUM is also not suitable for mission critical projects. The SCRUM team must adhere to the SCRUM guidelines and standards. SCRUM master manages a SCRUM team and helps to keep the team morale high. On the other hand a PO works with the team members to clarify their queries, to help them in understanding the requirements and to co-ordinate among the stakeholders, customers and project team members. The report will help to understand SCRUM framework, its benefits, limitations etc. in detail