The Agile Development Story: Scrum Meets Waterfall
The Agile Development Story: Scrum Meets Waterfallby Crystal Lee, PMP, CSM
Do you know what a Scrum is? Wondering if you should try Scrum on your next project?If so, you’re not alone. It seems like everyone in the software development community is buzzing about Scrum. In this article, we will present basic principles and remove some of the mystery around Scrum, compare Scrum with current Project Management practices, and go over some tips if you are thinking of using Scrum for the first time. Despite the recent buzz, Scrum is not a new discipline. Like Rational Unified Process (RUP), Scrum came out of the object-oriented programming movement in the 1980’s. Today, Scrum is one of the more well-known Agile software development frameworks in use today. In the Scrum literature, we will find many familiar companies that are cited as examples of successful Scrum implementers including Google, Yahoo!, Accenture, Nokia, Sabre, Lockheed Martin, Salesforce.com, and the BBC. Some companies have taken the extreme step of making Scrum the prevalent mode of planning and delivery throughout the organization, from marketing to facilities management.
What Is Scrum?The term comes from rugby, where a “scrum” is used to restart the game after an event that causes play to stop. Each opposing team forms into a human wall three players deep, pushing against the other team to kick the ball out to their side. It’s the ultimate in teamwork and strength. Taking the analogy to software development, Scrum is based on multiple small teams working in an intensive and interdependent manner to deliver a piece of software. The Scrum process flow is structured in cycles of work called Sprints. A Sprint is usually two to four weeks long, and is similar to an iteration in Rational Unified Process (RUP). At the start of each Sprint, teams pick features from a prioritized list of customer requirements, called user stories, so that the features that are developed first are the most important according to the customer. At the end of each sprint, a working “potentially shippable” product is delivered. The full Scrum team has 7 members (+/- 2), including the Product Owner, the ScrumMaster, and the Scrum core development team. As the projects increase in size, the number of Scrum teams also increases. The fundamental components of Scrum are Roles, Ceremonies, and Artifacts. For the purposes of this article, we’ll forego further details about these Scrum concepts.
Scrum and Classic Project ManagementIs Scrum compatible with classic project management as defined by the PMBOK® (Project Management Body of Knowledge by the Project Management Institute)? The answer is yes, because Scrum is a process framework and is not really comparable to the PMBOK®, which seeks to standardize project management best practices. Scrum is not only compatible with the PMBOK®, it can be complementary. Being a ScrumMaster is also not unlike being a project manager, and the two roles can even be shared by one person. Like any good project manager, a ScrumMaster facilitates, coaches, mentors, removes obstacles, communicates, and protects the team. It may even be that as a project manager, you are unknowingly practicing Scrum techniques. Symptoms of Scrum-like behavior include:
- Surrounding yourself with a highly-specialized and high-producing team who share commitment and trust;
- Assessing progress on a frequent basis (optimally daily);
- Reviewing requirements frequently, and reprioritizing if necessary (optimally monthly);
- Identifying doable short-term goals with your team and showing accomplishment frequently (every 2-4 weeks);
- Allowing experienced team members to assign tasks to themselves because they know what is needed to get the job done;
- Bubbling up the right amount of information to stakeholders through visible and effective communication.
How to Start ScrummingBy now you are probably getting the idea that Scrum is definitely not a slam-dunk. Most companies tend to test Scrum with a trial project and leave the rest of the company using existing methods until the results are proven. Here are some suggested steps to follow if you are thinking of implementing Scrum for the first time.
- Find an executive sponsor in your organization who will support you and your Scrum endeavors (this point cannot be overemphasized).
- Analyze how and if Scrum fits into your current environment.
- Find a test project that does not have a major business impact but is still important to the organization.
- Find a team of like-minded people who want to make Scrum work.
- Provide training for the ScrumMaster, Product Owner, and Team Members. All of the team members could attend one course together so that they understand everyone’s role.
- Hire an experienced ScrumMaster who will drive the project and mentor the team, especially the new ScrumMaster.
Getting Certified in ScrumIf you are interested in gaining more expertise in Scrum, the first step is to take a Certified ScrumMaster (CSM) or Certified Scrum Product Owner (CSPO) course. Unlike other certifications, the CSM or CSPO does not qualify you as an expert. It does mean that you have been trained in what a CSM or CSPO is supposed to do. The next step in Scrum certification is Certified Scrum Practitioner (CSP), which requires applicants to be an active CSM or CSPO and show one year of hands-on Scrum experience. All Scrum Certifications are for two years. You will find more information about Scrum on these websites:
- http://www.scrumalliance.org/ – Scrum Alliance. Scrum Certification body.
- http://www.agilealliance.org/ – Agile Alliance. Has information on Scrum.
- http://www.apln.org/ – Agile Project Leadership Network. Has information on Scrum.