For this post, I’ve tried to specifically focus on development practices. My rankings are my opinion based on a combination of the item’s importance and how frequently it is (or isn’t) done. So without further ado:
5. You Aren’t Unit Testing
Much of Sitecore’s API objects are not implementing interfaces while much of our interaction was via static classes. For a while, it was nearly impossible to write any unit tests that interacted at all with the Sitecore API. However, there is really no excuse to not write tests anymore. There are a few ORMs that assist with Sitecore development. I think the most popular, Glass Mapper, has the added benefit of being unit testable.
4. You Aren’t Using an ORM
I would have ranked this higher but thankfully, I don’t run across this too often (but, sadly, enough to still make this list). If you are guilty of this then are probably not doing #5, as I just explained. Basically, if you aren’t doing this, stop whatever you are doing and go grab your favorite Sitecore ORM (Glass Mapper, CIG, or SitecoreORM, to name a few) and start using it. You’ll thank me later.
3. You Haven’t Upgraded to Sitecore 7.2 (at least!)
I really could have titled this one ‘You aren’t using the Sitecore ContentSearch API. Sitecore 7.2 represents the first stable version of the API (I believe there were some breaking changes between version 7.0 and early 7.1). The addition of this API is maybe to most compelling feature to be added to Sitecore in some time. This API abstracts away the underlying index provider and with its accompanying LINQ-style syntax, makes searching and querying Sitecore extremely easy. There are plenty of great posts on this topic. For instance, If you want a nice overview start here.
2. You aren’t Automating
If you aren’t using Continuous Integration (like Jenkins, TFS or Cruise Control), template-izing your configs for different environments, or using TDS, these are all signs you aren’t doing enough to automate and simplify your development life. A lot of time and headache can be spent deploying changes or tracking down why one environment doesn’t work the same as another. All of these things bring consistency and speed to this process.
1. You Aren’t Using Sitecore’s HTML Cache
OK, so if you’ve read some of my previous posts (here and here), this is probably a little anti-climactic. In my experience, this is a woefully underused feature that with just a little configuration can greatly increase the performance of your website.