The Elements of SCRUM #1

Installment One

In the fast paced world of software and product development different ideologies are constantly being put forth to maximize productivity. Managing people is no easy feat considering everyone on this planet has different strengths, weaknesses, and styles of work. What if there was a way to have teams of people manage themselves? Perhaps a sustainable system including checks and balances that allowed for the voices of the actual workers to be heard? This system does exist, it’s name is SCRUM. What is SCRUM, and why is it so effective? The answer to that question is very complex and requires a lot of backstory. Every week I will release a new installment in this “SCRUM Series”, in order to create more digestible content. First in order to understand what SCRUM is, you must first understand what SCRUM isn’t.

The WaterFall Method first designed by Winston Royce in the 70s was the standard method for most software projects until the early 2000s. The Department of Defense used this method, NASA used this method, overall using the Waterfall Method was a social norm. There was irony however associated with this widespread popularity; Winston Royce had originally presented this method as what a software company should not do.

The Waterfall Method is interactive and goes step by step. In order to start a new deliverable, or story(1), you must complete the one you already started. The steps are as follows.

  1. Gather requirements
  2. Design
  3. Coding
  4. Testing

Once these tasks are completed a new story is selected and the engineers travel back to the top of the list. They travel down, and then jump back to the top over and over again, creating the appearance of a waterfall. There are many issues with this strategy. Engineers are not permitted to multi-task and must remain on one story even if they are stuck and have been reduced to wasting time. This process also focuses on perfection, when in all reality no software is perfect. The Waterfall Method is slow and does not provide deliverables to the customer at a fast enough pace. The Waterfall Method is not SCRUM, and in 2005 NASA officially declared the method to be a failure. 

Enter Agile methodology, formulated by a few rebellious software engineers. These programmers developed the “Agile Manifesto” which outlines the core principles of their methodology. The methodology focuses on the actual programmers, delivering products, and satisfying the customer; rather than bowing down to the upper corporate management’s “needs”. A few of their core principles are listed below but there are far more that you can find with a quick google search.

  1. Our highest priority is to satisfy our customers 
  2. Business people and developers must work together daily
  3. Build projects around motivated individuals, and give them the trust they need
  4. Simplicity-the art of maximizing the amount of work not done-is essential
  5. The best products emerge from self organizing teams

The Agile principles are a part of SCRUM. They act as the Constitution for successful software development when using the SCRUM methodology. The actual mechanics of SCRUM including roles and responsibilities, require a separate installment. To continue learning you can click the next installment under the “Featured Stories” tab, but if this doesn’t exist you unfortunately have to wait.