The 3 core principles of scrum

Scrum, one of the most important developments in management of software projects. The benefits of practising scrum are manifold. Implementing even one aspect of it is guaranteed to give results.

Yet while the mechanics of it are really easy to understand. Scrum in 4 easy steps. Getting the most value from it necessitates that you understand the principles that underlie the methodology.

You see while scrum is just one way of doing things, it espouses a deeper set of truths that all successful software project management practises must possess in one form or another.

Today we shall be looking at this three core principles.

Visibility

I don’t care what the Become a master developer in 21 days article said, Code is hard. For the uninitiated, there is little difference between python and heliographics. Unfortunately this has been used as an excuse by development teams and their managers to basically close their eyes and hope for the best.

This does not need to be so. Scrum shines light right into the development process.

With scrum you get:

  1. An agreed definition of done. That way all stakeholders can test the software
  2. Project standards. Ensure team members can understand each others code.
  3. Progress metrics. Progress can be seen by all.

Inspection

Visibility would not be worth much if there was no one to see.

Scrum encourages frequent inspection of the work done to ensure that it meets the agreed quality and does not deviate too much from expectations.

This means that defects are captured earlier in the process and can be fixed rather than downstream where the efforts would be much more.

A side effect of this kind of process is that non performers are detected quickly. In a good number of cases this leads to push back on adoption especially if the said non performers possess political clout.

Scrum provides for this through:

  1. Daily scrum
  2. Sprint review

Course correction

The model of Predict and Control has been proven to be ineffective in software projects. This is because software is necessarily complex The heart of software engineering.

As such it makes no sense to pretend that the final product will be what was detailed in the spec document initially. Instead scrum allows the team to adapt to emerging truths as they work on the software and the managers to provide for deviation.

It does that through the processes:

  1. Sprint planning
  2. Sprint retrospectives

In a nutshell those are the principles underlying the practise of scrum and most other agile methodologies.

Have you exercised this principles on your own project? Tell me on my twitter @jchex or in the comment section below.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Published by

jchencha

API Engineer