In any project using a new technology, there are difficulties through lack of standards, hardware and software incompatibilities and higher than expected costs, but the biggest problem is using capable people. There are far too many consultants who can talk a good game and appear to know what they are doing. They are far better at talking than actually completing projects. These consultants need to either learn more about application development and system integration or leave this type of work to more competent practitioners who really understand the technology and can use it effectively. These consultants range from programmers and designers to project managers and their performance can range from outstanding to inept.
Outstanding ones get projects completed on time and the client is pleased.
These consultants have no concept of how cache memory and system bus architecture directly impacted the system performance. These are consultants who want to learn on the client's time and money, instead of their own. Anyone involved in a project needs to keep up with both hardware and software technology. They need to learn by reading, attending seminars, visiting the trade shows and attempting small projects on their own. This way, they become more knowledgeable and understand all aspects of the technology.