Have You Ever Wondered Why Scrum Works really Well with Software Project Management?

Harran Modathir Ali
tajawal
Published in
3 min readApr 26, 2018

Many people used to think that agile means “fast”, yes, that’s correct to some degree, but actually to be agile doesn’t mean to be moving fast, actually, it means to respond and react fast, to change direction fast, to adapt fast.

Software projects are considered complex problems and Agile works really well with solving any complex problem, in order to understand why let’s talk first about Ralph Stacey’s model for classifying problems, the model is shown in the picture below:

The vertical axis represents the degree of the agreement on a specific approach and the horizontal axis represents the degree of certainty.

as you noticed the model introduces four different zones that represent the levels of difficulty.

All problems in the straightforward (simple) and complicated domains have an acceptable degree of an agreement on the approach and enough certainty that they can be solved with the agreed on approach, and actually the traditional waterfall methodology works really well in solving problems in these zones, a good example would be: manufacturing of cars. the process, the materials, the designs, assembly lines, pretty much all the requirements are known upfront, it would be just a matter of producing copies, however, keep in mind building the first car of a new model with a new concept is not falling in this domain.

Any problem that falls in the chaotic zone cannot be solved. it has to be simplified first and brought to the lower zones, Think of a doctor dealing with a case in the emergency room that have had an accident, the doctor will not be able to cure the patient immediately since the patient would be in a chaotic state, what the doctor would do first is that he will try to stabilize the patient, bring the situation to a lower level of complexity and then do his checks, defines how he would treat the patient and lastly proceed with the treatment.

All problems in the complex zone have a degree of agreement and certainty that makes them solvable, however, it would be tough to solve them with the traditional processes like the waterfall, since there would be many changing variables that would affect the solution such as the market, the technology, the people and more.

The best way to deal with this kind of problems is through what’s called the Empirical Process Control which is the core of Scrum.

Empirical Process Control means that the work would be done through a series of discrete iterations, at the end of each irritation a working version of what’s been built would be produced.

Then there would be an inspection phase where the learning would be collected, and the last step is to adapt and implement the learning to improve the process and the product, after that the next iteration would be started with the same approach, in Scrum these iterations are called sprints and the learning would be collected in the various meetings that take place during the life cycle of the project.

In the following article, i will be talking about Scrum in more details and how Scrum values are critical to the success of the project.

--

--