8 Reasons why the Estimates are too low

One of the most difficult tasks in a software development project is estimating the size of the project. Unfortunatly very often  you have to do it at the very beginning of a project, when you have the least information. The result at the end is very often a large difference between the original estimate and [...]

Developing for Maintainability

Just as Supportability, Maintainability is one of these Non Functional Requirements, that is or should be required from every software development project. So what does that mean? Wikipedia defines it as
the ease with which a software product can be modified in order to:

correct defects
meet new requirements
make future maintenance easier, or
cope with a changed environment;

Wow, that’s [...]

Developing for Supportability

When reading the specification of a piece of software to be written, you are bound to find some non functional requirements. Among these there will be, or at least should be Supportability. But what the heck does that mean? How do you install supportability? Let me present some ideas, what you can do to improve [...]

The Software Development is like the Evolution of Life

Software development has been compared to many things. I’d like to propose another comparison: Evolution.
Why another metaphor?
A metaphor enables you to think about a problem in a different way, thus possibly gaining new insight. It is also useful for explaining something to someone who otherwise wouldn’t understand what you are talking about. Or to use [...]

Are You a Software Developer or a Dabbler

When reading blogs you get the impression, that everybody works in high end environments, using the latest greatest distributed version control system. Writing tons of tests, before they even dream about writing actual code and of course the tests a executed by the continuous integration system after every commit, which happens about 30 times per [...]

Do we need an Agile Maturity Model?

In a post on developer works Scott Ambler proposes a “Agile Process Maturity Model” (APMM), if you are asking “WTF is that supposed to be?” Scott tries to answer that in his first sentence:
The goal of the Agile Process Maturity Model (APMM) is to provide a framework which provides context for the plethora of agile [...]

Why Aircraft Carriers are not Agile

Itay Maman tries to answer the question posed in the title:

Why aircraft carriers are not built using an agile methodology?
And my answer is this:
Because the engineers can know up front that it will float
That’s it. That’s the answer. That’s the point I am making.
I think the question is a good one, yet I do not [...]

Where are the High Level Frameworks?

I became a java developer (and not a C developer for example) because java takes a lot of the pain away. I just love the garbage collector. Sure it can give you a hard time, but 99% memory is not an issue in the projects I am working on. The object oriented paradigm also made [...]

Debugging Software

Debugging is said to take about just as much time as coding, possibly even longer. Yet I don’t see a discussion about how to debug. So lets propose my personal process on this:

Gather information. Make sure you have reliable information about

Which application has a problem
What are the steps to reproduce the problem
The version of the [...]

Database Version Management … Again

 Pramod Sadalage author of Refactoring Databases: Evolutionary Database Design forwarded an email to the agiledatabases group announcing a new database migration tool (note: the tool is NOT writen by Pramod): dbmaintain
While I am glad that there are others worrying about the lack of basic software development tools in the database realm, I still think we [...]