Choose Your Tools with Care
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
By all means use tools, libraries and frameworks, but make sure you choose them wisely.
[this is still work in progress]
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Programmer Should Know home page