The theory-practice gap. El Deterioro
I am using this blog for writing my thoughts since a PhD is most of the time reading, summarizing, analyzing, etc. but it is really hard to work on what you really want to work, the things why you started your PhD. To check one idea, it takes you years within a PhD. The reason is the complexity of the “science” process (that already Rene Descartes wrote down very well). But I am not a scientist. I am an engineer. We don’t seek for the perfect answer, we seek for the optimum answer. Scientist don’t pay “attention to money”*, just true or false. Ironically, software engineers are constrained by money, society or human nature in general, technicalities, etc. We work with the hands cuffed, in terms of the solution we have to provide.
It is hard to know when we are being too theoretic and when we are being too practical. With agile frameworks, it happens the same I guess. There out there dozens of agile methods but recently I am wondering why Scrum, being so old wasn’t beaten already by the newer ones? My answer is iPhone. Everyone is familiar with iPhone nowadays (also important to be successful). Why iPhone is such a success? The same why Scrum is a success. Usability, which means user satisfaction, simplicity, less user-error prone, etc. Made for the mass. I was discussing not long time ago with one of my colleagues. He was telling to me that Android can do much more things, like A,B,C, and it is really easy, just swiping three times and touching one corner while you are standing up with one leg (just kidding, it is just for you to get the idea of what happened, I love Android too). I just said to him, give that to your mother, teach her how to use it in two ways (the fast-weird and the stupid-long) and wait to see which way she will use. We both knew the answer.
With Agile frameworks, IT IS THE SAME. Scrum is an “optimum” success because the gap between theory and practice is almost zero in comparison with other frameworks. Everyone understands it. Moreover, Scrum puts over the table just a few things, which is basically the skeleton and an easy common language. I don’t need to know a damn thing of computers and their boring problems, that I can understand Scrum. So, I can sell it to the business layer. And we use the same terminology. Later on, for the technical things, whoever-business-guy could say: “deal with that engineers! that is already your job!”. And it is true. Scrum allows you to define a link between business and IT, that is all.
Other thing is the deterioration rate (El deterioro) that agile frameworks have. I have never seen anyone considering that some agile methodologies deteriorates more than other ones. People in software are talking about “ideal materials” but building’s architects can tell you that any material, no matter which one, deteriorates with the time. With methods I think it is the same. They deteriorate, and at different rates, due to the duality theory-practice, depending on many factors. And most of the time they never get to their súmmun. And the problem of some methods is not really the things you have to do. It is the way it goes if you try to do that.
Of course, the real world is not perfect, and you will face zombies sooner or later. Moreover, there are many problems with Scrum that need to be addressed, especially in a globally distributed project. I wish one day I could arrive to the point I can apply my ideas!
Note: Good marketing is also part of the key. But there are only a few companies that can survive with bad products and good marketing. Usually huge ones.
Note 2: I would like to check how square heads we are, software engineers. In a changing environment like the one we have, we gotta be flexible and we have to break with the old concept of engineer (and I was one of the lasts old engineers produced in my university… thankfully-sadly).
* I mean, they need money, but they don’t look for solutions to daily problems, they want to reach the “truth of the nature”. Though most of the scientist have to find nowadays practical uses to their researches, but that is other thing. Scientist nowadays are engineers in general, because in our days, invested money have to lead to benefits. But let’s stick to the traditional concept.