At Salesforce.com, we pride ourselves in our pace of innovation. With 3-4 major releases a year, new products and platforms like Jigsaw, Chatter and VMforce being announced regularly, there's never a dull moment as a Salesforce customer, business partner or ISV. As an alum of the Salesforce.com Professional Services group, I can personally attest to the fact that one of the things that our customers appreciate the most about Salesforce is the pace of innovation and rapid deployments, especially when compared to traditional 'shrink-wrap' enterprise software.
With great power come great responsibly however (give me a minute to put on my Spiderman costume..). If due care isn't given to long-term planning and regular maintenance, a Salesforce implementation can get bloated over time with customizations and/or data that are relics from projects past. It was therefore great to read this excellent post from an experienced Salesforce implementer – http://andrewsinclair.ca/salesforce/prework_for_any_major_salesforce_development_projec/ - that has some great deployment best practices.
Andrew has some excellent tips on some of the 'boring'/'unsexy' pre-deployment cleanup work that often gets overlooked in the rush for go-live. These steps are however of critical importance for a healthy and productive Salesforce implementation in the long run. The data cleanup task in particular is the hardest to pull off. Its sometime easy to not rock the boat ('we don't know who's using this duplicate Account record') and let users muddle through bad data. Don't kid yourself – you're just postponing the inevitable and hindering user adoption to boot. Dedupe and general data/config cleanup is a must before any significant Salesforce deployment.