Posts made in January, 2012
Let’s keep on talking about software metrics by introducing a new bunch of software metrics: the ones defined by “Uncle Bob” Martin back in the mid-nineties.
Why should I care another set of nasty metrics?
Slow down cowboy! You should only consider have a look to these metrics if you want to design a successful object-oriented system… so I guess you will keep on reading this post.
Robert Martin stated a ‘desirable pattern’ that must fulfill any software. The pattern requires a set of metrics that measure the interdependence between the subsystems that are part of the system in various ways. Let’s find out what he was talking about.
“So it is said that if you know your enemies and know yourself, you can win a hundred battles without a single loss.
If you only know yourself, but not your opponent, you may win or may lose.
If you know neither yourself nor your enemy, you will always endanger yourself.” The Art of War, Sun Tzu
Not considering your final users and not involving them in your development process can lead to the wrong perception that your clients are the “enemy” and you can find yourself fighting “battles” that could have been avoided with little effort and a different approach.Read More
In my previous post I explained the concept of applications’ “social life” and why it is important to track it if you care about the maintainability of your applications portfolio. I also introduced some use cases that lead to a deterioration of the application architecture and a possible maintenance problems: legacy systems, multiple middleware systems, multiple software providers… In one word, complexity, along with long-term servicing, tend to evolve your application portfolio into a big ball of mud.
Today I would like to explain how to understand the complexity of your applications’ social life and what to do about it.Read More
All of us have come across problems when using a gadget, software or computer peripheral several times during our lives. People have assumed bugs and errors as bothering glimpses of the imperfection that human condition carries along. But is that true? Do we have to cope with the poor quality of our IT systems forever?
Anybody will tell you what is the easiest way to fix a problem with your software: the “turn it off and on again” strategy. This magic formula saves the day most of the times and have been assimilated as part of the IT culture.Read More
I always thought of software applications as living beings…. Well, almost.
They have a “life cycle”. They need resources, they get old. Indeed they have predictable behavior, as do most human beings. Or at least they should! And they have defects… As products of the human mind, they share many things with their creators!