Analysts spend a lot of time to discuss agile methodology, its pros and cons – including Scrum. Scrum is a framework for managing product development. It is considered to be the modern method of agile modelling, which helps to solve traditional problems arise from complex software development process.
Read more: Why Scrum is hard for Enterprises?
Scrum is a type of software agile development. It operates by dividing the project into iteration called sprint. Each sprint requires 2-4 weeks to be completed. That why Scrum is appropriate for projects which have continuous changes in short time. Each sprint aims at completing some particular purpose among the whole system. The tasks of the sprint are divided into categories, carried out by the development team and then, accessed by the team to see whether they meet prior requirements during given time. The most important elements of Scrum are Roles and Evaluations. The main roles are:
- Product Owner, who initiates the project, set out requirements in software development process, analyses the targets and release plans.
- Scrum Master, who guarantee the sprint are completed with right purpose and remove the obstacles.
- Scrum Team Members: usually 5-9 members depend on each project’s size. There would be no programmer, designer, tester, as can be seen in traditional software projects. The teams assign tasks to its own members, organise itself in the way that can deliver the best outcome. Every member has an equal role in the success of the system or sub-system.
The two phrases – Plan and Finish – to define necessary steps including input and output data. There will be some iteration of Plan. The plan set out initially is relative and can be changed later.
2. Comparison: Traditional and Scrum software development processes
In traditional software development methods, planning is based on experiences, not working environment. They combine several phases and elements in the whole process. Consequently, when applying into a project, there would be some unexpected errors.
Two of them are Waterfall and Spiral. The Waterfall divides a project into phases: Planning, Risk Analysis, Customer Communication, Programming, Testing, and Maintaining. This process is easier to manage, but it is not agile and ineffective because changes in later phases will bring a great impact on the previous ones. The Spiral divides a project into phases: Planning, Risk Analysis, Customer Communication, Re-evaluation, Production and Distribution. It has not been popular.
3. Step of a Scrum development process
There are several ways to implement Scrum. Following is the 10-step instruction which is popular and easy to conduct, even for Scum newbie:
Step 1: The most important step. List out the backlogs of product in the requirement. Set up team, designate a Product Owner who is able to improve communication among the team, handle and organise the team’s workload. Then a Scrum Master should be appointed to take care of the most specified tasks.
Step 2: Estimation step. The Scrum team should estimate output requirements, estimate the backlogs in details, and the number of groups in Scrum team to fit with the number of tasks estimated.
Step 3: Make the plan to develop the sprint iterations. Define the amount of time available for each sprint (usually 30 days, but sometime it may be shorter or longer); define the purpose and requirements of each sprint.
Step 4: Make the plan to develop sprint’s tasks. The budget for each sprint is defined. Timeline for each task is also set out for a more detailed development plan.
Step 5: Create an open working environment for Scrum team member, in which they can communicate freely during carrying out their tasks. A whiteboard is recommended for better solving problems in the team meeting.
Step 6: Scrum team members begin to develop sprints. Developing, testing during managing time effectively. Sometimes a sprint could be removed if it’s necessary, and get back to step 4 for a new more suitable plan.
Step 7: Report finished and unfinished tasks. Discuss solutions for problems arise during each sprint iteration.
Step 8: Make a chart based on reports. The chart will show what have/have not been done, the time left for dealing with difficulties.
Step 9: Review the iteration. If every member says that their tasks have been done, no change is allowed.
Step 10: Review, reflect and repeat. There will be meeting to review sprints, in which the team members state the results gain from sprint, customer’s feedback, and review sprint’s deadline. Make use of the chart in step 8 in order to improve the next sprint.
4. Scrum’s benefits
The first benefits of Scrum are to be agile. Project developed with Scrum process has no fixed deadline or requirement, but defined when coming in practical developments. Scrum development results in flexible product distribution: product content delivered is flexible based on actual usage.
Consequently, Scrum process provides higher quality but lower risky products, as well as more effective communication between developers and clients, and also between team members. Faster development avoids time and cost-consuming. The preparation for changes in the development process will be better, because of daily meeting for sprint iteration review.
Another advantage of Scrum is its ability to reduce bugs during the development process. In Scrum process, bugs are detected much earlier than in traditional models, as the client can take part in the process. When something goes wrong, the sprint can be cancelled immediately and get back to the original plan.