Development of web and mobile products and services is getting easier and faster all the time. Tools such as Ruby on Rails, Django and Qt are affecting our lives radically, making a change to a product basically piece of cake. So it is extremely important in order to have a competitive edge, to follow these new technologies and take most out of them. If you don’t do that, be prepared to face a new competition that for sure will. If you are not able to change, you are not going to win this game. Developers are aware of this but is the rest of the organization?
Most of the organizations, even in Agile world are only measuring the time how long it takes from developer to do the change instead of focusing on the actual implications of the change. Some estimations say that project contains only one percentage of time which is actually development work that matters. Rest of the 99% is waste of time. Yes, nothing else than wasting time and money. So what we could do about it?
It’s all about change management. Everybody knows how that works in theory. But how to really apply good change management process to actual practical work? Even most of the developers don’t do this voluntarily. Think about for example the unit testing, most of the developers are not doing them if you don’t explicitly order them to do. This is because most of the people are lazy. They don’t want to take preemptive actions to do something that is maybe valuable in the future because they just want to survive. It’s all about surviving to the next deadline.
So how to fix this? Development itself is not the problem. Like I said, there is tools for that. It only requires that they are used. They are proven, they are working and used by the best already. Wonder why they are best? They are focusing to their core business. If you are a handyman, you are not going build your own tools, you go to the local hardware store and buy them. So why this is so difficult when we develop software, why we still do it all the time?