29 September 2015

Sitecore Development Accelerators

Hi Folks,

I was mute on my blog for last few months but believe me it was quite a buzz at my workstation.

We recently finished the project of giving a new face to one of the largest CPG brand’s US geo, where our solution is built on top of technology 'available/stable' in market. Sitecore 7.2 Update 4 MVC flavor is our version.

The key of this solution from technology stand point is to use one of best Sitecore development accelerator. Following is the list of technology/tools which we used in our project from development point of view:
  1. BrainJocks Score 1.5 (Sitecore Development Accelerator)
  2. Hedgehog TDS (Team Development Tool)
  3. Glass Mapper (Object Relational Mapper)
  4. NUnit + NSubstitute (Unit Testing)
  5. Sitecore.Fake DB (Sitecore Unit Testing framework)
  6. Fluent Assertions (TDD based write up)
Apart from above tools we also implement DI using Windsor Castle and ended up implementing Repository pattern for our solution.

Apart from technical tools we have executed this project in agile scrum mode while using Jira Agile as web platform to manage the sprints and tasks. We also used Bit bucket based Source Control while practising Gitflow as branching and merging strategy, here Visual Studio’s 2013 Git native integration comes handy.

We also developed a customized service for deployment and other Sitecore utility which is kind of next version of Sitecore Ship until Sitecore Ship come with something really new.. :-)

Not chest thumping, but in my personal opinion we utilized best technology available while learning from different community blogs out there in our Sitecore project here at Mindtree which goes long and add to our experience of building great experience out of Sitecore CMS.

As of now I will not go deep in how to implement DI or use Repository pattern or other tools/practice in detail as to do justice with them, as each of them need a separate post about it.

Main objective of this post to share the learning, like is it worth to use a Sitecore accelerator and answer few of following questions which clients or dev team may ask.
  • Why to use Sitecore Accelerator?
  • If team want to make sure that development project follow a set of best practices evolved by the years of development, than it is shorter way to get directly into that rather learning it for years by self and then develop standards of own. Here best practices could be but not limited to visual studio solution-ing, use of right set of tools, Sitecore IA, right use of templates and renderings etc.,
  • Need out of box UI components! Which result in minimum development of additional UI components than accelerator is big help.
  • Want to make sure the page editor experience is optimum and result what Sitecore marketing team has promised are realized in one cycle of project delivery, than accelerator has promise to offer same.
  • When to use Sitecore Accelerator?
  • Here maturity of development team in Sitecore skill is important, my point is if you have a team which is very new to Sitecore itself and if they try accelerator it could be turn out good but there are more chances that team might not able to do justice with full potential of that accelerator and able to match the business needs. But don’t mark my words there are exceptions everywhere..
  • Maturity of client or business with CMS also matters here, but this can be curtailed with informative sessions and correct consulting.
  • These accelerator expect certain 'ways' to follow for example Brainjocks Score is best suited for MVC version of Sitecore and available only for Responsive design, there could be more such riders which team need to aware of.. 
  • What it cost?
  • Definitely lesser than the Sitecore license cost and each accelerator may have different licensing model.
  • The cost you spend on purchasing the accelerator will be worth of what you got out of box from that. From my point of view if I had already plan to spend good money around Sitecore licensing, hosting, development and maintenance than accelerator cost is peanuts.
  • Are there any downside of using accelerators?
  • Believe it or not yes you have, for example you are adding extra layer of product on one of the existing product. My point is as Sitecore has the release cycle and so do the accelerator. If you are in game for long-term than keep in mind you need to upgrade not only Sitecore next time but the accelerator too which may be significant effort.
  • From the 'doom sayers', what if the accelerator company spin off as they are quite new out there. But then I don’t agree much with them with the reason saying that all these accelerators are build up by the digital agencies who are there from long time in this business.  There could be more but than you are welcome to add in comments..
  • Is it really mandatory to use Sitecore accelerator?
  • This is really difficult question, which lot depends upon the objective of building a website in Sitecore CMS. Still in my general opinion if team is experienced and business willing to spend money than accelerator are right choice.
  • But I did not say here that all Dev projects are fit use-case for accelerator or other way around that without using accelerator you can’t get best out of Sitecore while being in Ivy League of technology/tools. There thousand implementation out there for every 5 accelerators based implementation, the point is Sitecore is truly now matured CMS system where partner are also matured and had developed there own libraries and few of them getting into shape of accelerators.
  • What about support for these accelerators ?
  • As of now I don't see a established support process around these accelerator, but than it is matter of time as more and more implementations will come out of them they may have dedicated support team, portal for there products.
  • The concern i see here is the openness of these accelerators as at certain level there .DLL files are obfuscated or they are not open for customisation by the team which is implementing the solution which is contrary to the nature of Sitecore where you can customize almost every aspect of it. probably one of them take a lead and address this issue.
  • How to learn or get started with these accelerators ?
  • Each of the available accelerators are having well documented tutorials and few overview videos. But they are far behind in terms of documentation which you may get if you look to Sitecore as product.
  • These accelerator also provide the classroom/remote training so that development team can quick start the dev work. That's how we started.
  • Which accelerator is best?
  • Again I don’t want to influence your view with my view and another aspect is so far I have used only BrainJocks Score which is really nice but yet to tryout others.

So with above question I come to end of my post and excited to attend NA Sugcon 2015, see you there and will share my experience here..