An Insight into Project Methodology –Scrum (10-Mar-2010)
SCRUM consists of an iterative and incremental framework targeted for agile software development. It was basically developed for managing software development projects but can also be used for running software maintenance teams.
Agile Software Development refers to software development methodologies, the basis of which is iterative development where requirements and solutions develop through relationship between independent cross-functional teams. It can be characterized as a “process skeleton” that has a set of practices and predefined roles.
The main roles in Scrum consist of “ScrumMaster” similar to a project manager, the “Product Owner” who acts on behalf of stakeholders and the “Team” who are in charge of the analysis, design and the other phases of software development lifecycle. “Sprint” is a term which is used to describe the time interval required for creating a potential product increment.
A backlog of product requirements is maintained and the set of requirements which are taken up in the Sprint is decided by a Sprint Planning meeting. During a sprint, the requirements are usually not allowed to be changed. This method is followed based on the recognition that during the project lifecycle the requirements are usually changed easily by customers.
These changes cannot be comfortably addressed by traditional software methodologies. As such, Scrum adopts an experimental approach by focusing on developing the team potential to quickly respond to up-and-coming requirements.
The artifacts generally used in SCRUM are Sprint burn down chart, Product backlog and Sprint backlog. The Product backlog is a advanced document for the entire project. It consists of broad description of all the requirements which can be prioritized by business value. It also contains estimates of developmental effort. This document is owned by the Product Owner.
The Sprint backlog is a document that describes the implementation procedure for the forthcoming sprint. It is at a level where the whole team can understand the exact requirements and sign up for tasks according to their skill set and also based on the priority of the tasks. This document is owned by the team. The Sprint Burn Down chart is intended for the purpose of the entire team. It gives an overall view of the status and progress of the project.
The SCRUM process has three phases which can further be broken down into tasks. These phases differ from other project management methodologies. These phases are denoted as pregame, game and postgame. The pregame phase involves the activities pertaining to planning and architecture. Creation of backlog is one of the main tasks of the planning phase.
If the product being developed is new, this phase involves more steps; if it is an existing system the phase may just involve a brief analysis. The game phase is usually referred to as the sprint or development phase. It consists of an iterative software development cycle which usually lasts between one to four weeks. The postgame phase occurs when the development process is ended and the product is organized for a release. This is inclusive of activities pertaining to integration, testing of the product, preparation of user documents, training and marketing material.
Some of the advantages in assignment of a project to Scrum workflow is its ability to respond to changing requirements after the commencement of a project. Scrum provides flexibility and adaptive ness to handle changes in work requirements.
Once a project is underway, it can still manage to deliver the most suitable release based on the ability to adjust work to varying expectations. Since there is more focus on individual contribution, developers are able to add innovative ideas. Also another positive characteristic is its object oriented approach to methodology that advocates a consistent and manageable environment.
Some of the challenges faced by this methodology are the mind shift required to adopt it since it is a change from traditional project management approach. Another kind of challenge could be in the conduction of the daily Scrum Meetings and reporting of all the impediments or obstacles that prevent progress.
Yet another challenge could lie on recruitment of the role Product Owner. Scrum Projects expect this role to have additional responsibilities added to traditional business analyst role. Here the role bearer has to be also accountable for the outcome of the project. On the basis that Scrum is empirical, the team has to adapt project scope to changing or new situations and also adapt to the ongoing process.
In general the lack of external policy and procedure makes SCRUM a useful approach to project management. It taking into account changeability of external and development environments at start of each cycle is an added asset.
| An Insight into Project Methodology - PRINCE2| An Insight into Project Methodology –Scrum| Overview and Benefits on ITIL | Overview of Rational Unified Process (RUP) | Significance of the Project Management Maturity Model |