Posts by eduardo
Let’s face the uncomfortable truth once and for all: the average piece of software that one interacts with has very low quality. Becoming a good developer is one of the most difficult tasks you can even achieve, as it takes no less than a decade of hard work and a high level of educational background. In the meantime, you have to code, and you must do it reasonably fast (market economy rules us all). The consequences are visible to everyone: software is unmaintainable, highly coupled, unstable, and buggy, has a high technical debt and so on.Read More
Developers know well how tough checking the best practices can be when you are coding. Everybody know that programming is hard, really, really hard (some say it is the most difficult human activity) but we must admit that delaying the quality audits is always a bad idea. If it is complicated for a developer, it will be worse for QA managers. Trivial, isn’t it? Nope.Read More
The principles of static analysis are simple: give me your source code and I will evaluate it. The technology has improved over the years, and now static analysis tools are amazing: some have their own meta-rules and execution frameworks, others are real translation systems, many of them build global models to search for defects and others are capable of querying complex information systems for data.Read More
The world is living rough times nowadays due to the global recession. Hundreds and hundreds of economists did not see it coming at first, but now they try to figure out how to get out of this mess. Digging into this awkward, non-technical world I have found surprisingly that many people mix the concepts of price, value and cost. Then I have realized that we express the technical debt as a bunch of dollars we have to pay down. Does this amount of money represent consistent concepts of price or value? In mi humble opinion, it does not.Read More
Let’s talk about code violations. Those tiny little itches in every developer’s back. Violations show us how badly we have coded according to a certain quality model somebody set long time ago.
But, just like life, things move fast. Code changes, mutates, vanishes, is versioned or grows. One day you have a class that computes your wage and tomorrow you develop a whole module to do so. Moreover, the quality manager can change the rules your organization applies and suddenly your barely-modified code has 1000 violations that were not there yesterday. How can we keep a consistent track of the “grade” it gives to a software system?Read More