Choose Your Tools with Care

From WikiContent

Revision as of 22:17, 27 January 2009 by Gasproni (Talk | contribs)
Jump to: navigation, search

Modern software development relies more and more on the availability of proper tools libraries and frameworks.

Some of the reasons are:

  • Applications are growing in size, complexity, and sophistication, while the time available to develop them is less and less
  • Tools libraries and frameworks that are widely used are likely to have fewer bugs than the ones developed in house
  • There is a lot of high quality software available on the web for free, which means less development costs, and higher likelihood of finding developers with the necessary expertise
  • Given the fact that software production is human intensive work, often buying is cheaper than building
  • Reduced time to market (or to “production” if it is for internal users)

However, there is not such a thing as a free lunch. Tools must be chosen wisely, in fact there are some potential problems to consider

  • Every tool has its own pros and cons, and, depending on the combination you choose they may actually make your development activities more complicated than necessary
  • Sometimes free software is not free, after all. You may need to buy commercial support, which is not necessarily going to be cheap
  • Vendor lock-in. Code that depends heavily on specific vendor products ends up in being constrained by them on several accounts: maintainability, performances, ability to evolve, price, etc. Finally, there is a reduced scope to negotiate the licensing fees
  • Etc.

By all means use tools, libraries and frameworks, but make sure you choose them wisely.

[this is still work in progress]


By Giovanni Asproni


This work is licensed under a Creative Commons Attribution 3

Back to 97 Things Every Programmer Should Know home page

Personal tools