Jeremy Smith's blog

Entry Is Labelled

Top 20 IT Mistakes to Avoid

The top 20 IT mistakes to avoid

Normally, articles like this are full of fluff and devoid of meaning. They contain statements like "re-think your architecture" and "don't reinvent the wheel." Basically, codifications of common sense that even half-competent IT managers would know (notice that I am not saying that most IT managers even attain the status of "half competent," though).

  1. Botching your outsourcing strategy
  2. Dismissing open source -- or bowing before it

    For better or worse, many IT shops are susceptible to “religious” behavior -- a blind, unyielding devotion to a particular technology or platform... Open source software is not inherently better than commercial software; it all depends on the problem to be solved and the maturity of the solution being considered.

  3. Offshoring with blinders on
  4. Discounting internal security threats
  5. Failing to secure a fluid perimeter
  6. Ignoring security for handhelds
  7. Promoting the wrong people
  8. Mishandling change management
  9. Mismanaging software development

    Henri Asseily, CTO of BizRate, tells us via e-mail, "The right individual will always create better and faster core software than a group of people [will]. Everyone in every industry talks the usual talk of, 'We invest in people,' or, 'Our people are our greatest asset,' but nowhere is it more important than in IT. Simply put, a great programmer is 100 times more valuable than a regular programmer." ... "IT managers should devote most of their free time to [finding] the best people. Almost nothing else matters, really," Asseily says.

  10. Letting engineers do their own QA
  11. Developing Web apps for IE only

    [editor's note: Think of the web applications that come out of ITS that only work in IE. Now, compare that list to the list of the least liked services that come out of ITS. Think there is a correlation?]

  12. Relying on a single network performance
  13. Throwing bandwidth at a network problem
  14. Permitting weak passwords
  15. Never sweating the small stuff
  16. Clinging to prior solutions

    One current vice president of operations describes a new, low-cost open source environment he had to manage after working in a more traditional shop that relied on high-end Sun hardware and Oracle and Veritas software. The new startup company couldn't afford the up-front cash required to set up a rock-solid environment based on commercial software, so they ran a LAMP (Linux, Apache, MySQL, PHP) architecture with an especially aggressive Linux implementation... Gradually, the vice president realized that his old solutions wouldn’t work in the new environment from a technology or cost angle, so he changed his approach to fit the new reality, using none of the technologies from his prior job.

  17. Falling behind on emerging technologies
  18. Underestimating PHP

    I would add in Ruby and Python i.e. "Underestimating the agile languages for enterprise development."

  19. Violating the KISS principle
  20. Being a slave to vendor marketing strategies


  1. gravatar

    21. Overemphasizing Java

  2. gravatar

    Greg, I think that's implied by Nos. 17, 18, and 20.

    22. Deploying software your users despise
    23. Applying a complex solution where a simple one would work fine
    24. Clinging to failed projects because of high sunk costs

  3. gravatar

    Oops. 23 is also a repeat of one of the article's points. Pretend I never said it.