Before you begin your next software development project, you may want to consider the following facts.
It pays to simplify your development project. For every ten percent increase in problem complexity, there is an 100 percent increase in the software solution’s complexity. This means that as a project grows more complex, the solution grows exponentially more complex. This increases your costs and may affect your bottom line. Removing the complexity from your project saves you money as long as it does not detract from the software solution.
It pays to hire great developers. Great developers can be up to 30 times more effective than mediocre programmers. Since a great developer is only paid slightly more than a mediocre one, good developers provide a huge advantage. I will post some thoughts on distinguishing mediocre developers from great developers in another post.
Maintenance is a large part of software development, it consumes 40 to 80 percent of software costs. Programming software and software maintenance are pretty much the same, except maintenance requires the additional task of understanding the product, which consumes about 30 percent of the maintenance time.
Many estimates are made at the beginning of a project. The problem with this is it occurs prior to the requirements phase and thus before the problem is completely understood. This is a big advantage of Agile development. In many companies it is also done by upper management who only vaguely understands the details of the project. This leads to poor estimates, missing deadlines and frustration on both sides.
I hope you’ll keep these facts in mind the next time you embark on a development project, I think they will be valuable to you.



