Every solution is meant to solve a problem. Some solutions solve the problem well, others don't. Some never get implemented. A friend of mine once called software ideas that never go anywhere as "vaporware": great ideas that vanished as fast as they appeared, into thin air as if it was vapor. My own "vaporware" I do… Continue reading Anatomy of a solution
Once I met a retired IBM Project Manager. His thirty years experience were enough to get away from the bits and bytes and became a "normal" people again. He said these wise words: "I know what you are up to". I have to admit, there is deep knowledge in his words: we, Software Developers, are our… Continue reading Software Reality
Software development is plagued with the Recipe syndrome: "Please tell me how to do my job". From the utopia of some technology will increase productivity drastically to a prescriptive methodology to make every project successful, everyone is hoping for a silver bullet to kill their beasts . Can the Software Development unpredictability be tamed by… Continue reading No Silver Bullet refired
Software companies and companies with in-house bespoken software regularly struggle with nightmarish software systems: cryptic monoliths every development team fears and no one understands. Consecutive investments fail to destroy its legacy monsters and to prevent other systems to follow the same path. Legacy state seems an unavoidable progression for software system, except for some "lucky"… Continue reading Legacy companies
It is well known a handful of developers can produce more and in better quality than groups several times bigger [1, 2]. It is not a matter of maths, instead of simple psychology: Software is a people's business. All agile methodologies agree unanimously on the central role people have on Software Development. The idea of… Continue reading People Inc.
It is great to be a developer: constant emails with job propositions, able to get a new job whenever you want. The world hasn't enough developers, which puts us in a great situation. Not all is great. Technology moves fast and we are constantly being bombard with new programming languages, new methodologies, new tools. There is… Continue reading Aging in IT
On "Refactoring - Improving the Design of Existing Code", Martin Fowler wrote "Code refactoring is the process of restructuring existing computer code without changing its external behavior." . Along with the "recipes" for safe refactoring, the term code smells was introduced. Code smells refer to certain structures in code that present potential design and implementation… Continue reading Refactoring: How much?