April 19, 2015

Scrum advantages explained – in 2 simple whiteboard sketches (part 1 of 2)

Image you had only ten minutes plus a whiteboard to convince people to introduce Scrum in your organization. What would you tell and show? I would try to capture the essence of how Scrum improves your software development process. Two whiteboard sketches should be enough for that. Here’s sketch one.

Scrum is founded on the same pillars other agile methodologies consider crucial factors for successful software development – people and knowledge.

In this first post let’s see how Scrum transforms the interaction of the people involved in a software development project. I would illustrate it like so:

Tranditional vs. Scrum approach to team organization in a whiteboard sketch

The “Traditional” approach

In a “traditional” software project, all responsibility is kept by the project leader:
  • The project leader coordinates the work of the developers, he/she plans the project, assigns tasks and coordinates communication with the customer.
  • The developers have no responsibility. They work on their assignments. They provide the project leader with their knowledge in order to help him/her make decisions.
  • The customer supplies the project leader with product feature requests.
This kind of project structure comes in several flavors. In some of them, there are multiple project leaders, or business analysts take the role of project leaders. They all share the same drawbacks:
  • Developers and the project leader are kept in a deadlock situation of mutual dependency, for the project leader cannot make decisions without the knowledge provided by the developers, whilst the developers have no use for their knowledge as they are unable to make decisions of their own.
  • The project leader acts as a proxy between the customer and the developers, thus becoming an information bottleneck. In this situation, project leaders tend to (rightfully) judge their own position higher than the customer’s, and to keep control of the project by selectively choose which information interchange between customer and developers to allow and which to cut.
  • As all information must pass through the project leader, he alone is able to build knowledge he is able to use. Neither the customer nor the developers will be able to see the project’s “big picture” and to learn from each other.

The Scrum approach

In Scrum, roles are designed entirely different:
  • Developers act as a self-organizing team. They share information directly and transparently with each other as well as with the customer.
  • There is no such role as the project leader, as there is no need for it in a self-organizing team. There is, however, the role of the Scrum Master who is responsible to ensure that the team understands and follows the rules of Scrum, and which shields the team from external impediments.
  • In Scrum, the equivalent to the customer's role is the Product Owner role. He provides product feature requests directly to the developer team and freely interchanges information with it.
This setup offers the ensuing advantages:
  • The presence of the Scrum Master relieves the team of all administrative burden, allowing the Development Team to fully concentrate on the software development process.
  • The Product Owner has full, transparent access to all relevant information. He knows the developers in person and is thus able to build a bond of trust with them. He, and he alone, with the help of the Development Team, determines the outcome of the project. The project really is built to fulfill his very needs.
  • The Development Team shares, as a unit, responsibility and knowledge within the project. They are able to learn from their experience and to communicate directly with the customer.
In Scrum, responsibility lays within the very individuals who have the knowledge to execute it. This is a highly motivating, highly productive work environment. Transparency and thus traceability are maximized. There is no “single point of failure”. Interdependencies are minimized.

In part 2, I sketch another great advantage of the Scrum methodology – concerning knowledge.

Pages: 1 2