Introduction to Scrum for your database projects
By: Parvathy Natraj | Comments | Related: More > Application Development
We are working on a new project which involves change in requirements and scope frequently. The Waterfall methodology doesn't help and we need something (Scrum) which can adapt to changes and enable a quick delivery.
Most IT projects are impacted by changes in requirements and scope. In this tip, I will address the common limitations of the Waterfall methodology and will explain how Scrum can overcome those limitations for an efficient delivery.
In simple terms, waterfall methodology is a classical stage by stage approach in software development. Each stage is assigned to a team and is performed in sequential order.
Waterfall Model Phases
There are usually 5 phases in waterfall model. They are: requirements analysis phase, design phase, development phase, testing phase and maintenance phase.
Waterfall Model Pitfalls
It cannot be used when there are many ambiguous requirements (when the requirements are not very clear and fixed). When there are only limited resources with the required expertise and the delivery needs to be really quick, the Waterfall model is generally not flexible enough to meet the needs. When the project calls for constant testing of the design, Waterfall model is generally not a good idea.
Generally, with the Waterfall Model, every phase takes too long and every person is isolated from the other and they all work on their own phases. There is no proper communication between all the members of the team. This leads to a very inefficient team work which produces an undesirable end product.
By this time, the cost of the project soars and lots of time has been wasted. And going back to every phase and making changes is not practical.
Scrum can overcome the limitations
Scrum addresses the needs when changes happen every day to the requirements, design, coding, testing and delivery phases. The project is viewed as numerous separate chunks of work called sprints. A typical scrum process has three components such as planning, sprint cycle and delivery. Better communication is established between the team members and hence the teamwork is improved. Short and effective team meetings are held every day between the team members. By implementing scrum, the project cost becomes affordable and the changes in the project are easily manageable.
Scrum helps us reduce the total development cost of the project. Each sprint cycle is given a short deadline so that each part of the product is delivered in an efficient and an effective manner. Project timelines can be easily predicted with the help of scrum. It comes as a great life saver when there are tight development resources. Scrum helps to improve the overall output of the resources.
Insights into Scrum
Scrum is a framework or a set of principles used in the implementation of the Agile methodology. Usually, many people have an assumption that Agile and Scrum are the same. But unlike the other frameworks in Agile, Scrum facilitates short iterations of complex work.
The whole project is viewed as numerous sprints. A Sprint is a specific (fixed) time interval. Four major ceremonies will takes place in each Sprint. They are:
- This is a time-boxed event where the team discusses what they will work on for that particular Sprint.
- The entire team meets every day where everyone shares their status update. This is just a short meeting and all the team members stand up to keep it really quick and simple.
- The final products of the Sprint are demonstrated or reviewed during a Sprint demo.
- The team reviews what went well and what did not in that particular Sprint during a Sprint retrospective. Lessons learned are used so that the same problems can be avoided in future Sprints.
There are three major roles in the Scrum framework. They are:
- A Product Owner is the person on the business side and he must have all the authority to make critical decisions about the product.
- A Scrum Master should facilitate communication between the team and the Product Owner. Though he is not a part of the team, he should look for the obstacles in front of the team and address them. He should make sure that the Sprint is on track and resolve any issues.
- The team is made up of developers, testers and business analysts who actually work to deliver the product.
There are two types of Scrum Backlogs namely the Product Backlog and the Sprint Backlog.
The Product Backlog is the prioritized work list which consists of short descriptions of all the functionality required in the product. In other words, it is the modern-day replacement of the traditional requirements specification. This complex work list in the Product Backlog is broken into Product Backlog Items. A Product Backlog Item is a unit of work which will be small enough to be completed by the development team in one Sprint.
Sprint Backlogs are the set of work (Product Backlog Items) which are pulled in by the development team from the Product Backlog. The Product Backlog Items are further spilt into Sprint Tasks. Appropriate Sprint Tasks are chosen for a particular Sprint. The Sprint is a time-boxed event which means it is to be completed in specific duration. The duration for each Sprint is fixed in advance and it is normally between one day and one month.
In a nutshell, Scrum can be the answer if we need to accelerate our project, cut down the development cost and work efficiently with limited resources. The communication in the team improves and it establishes effective team work. The changes can be implemented very frequently and the product is delivered in a shorter time span.
However, Scrum is not a workable solution for all projects.
- The Scrum Guide is a good starting point for beginners.
- Read this tip to learn more about Daily Scrum.
About the author
View all my tips