Wednesday, April 2, 2014

Iterative upgrade to SharePoint 2013

Migrations and upgrades are not a new problem in the SharePoint world, nor the problems associated with such projects, especially on installations that have been highly customized.

But because it's not a new problem, the approach taken in these projects might not be the most modern one. I recently read the upgrade process strategy followed by Tobias Zimmergren and found it to be an interesting one.

He wrote a post on it and there's a couple of points of points I'd like to reflect on and highlight:
  • Take an iterative approach 
This may well be the biggest takeout. Regardless of the type of project, it is a fundamental factor contributing to its success. It is something I'm very pleased to see being applied throughout the organizations I work with. It might be said that working in iterations is not an innovation from the agile approaches, but it certainly brought it to the next level and gave it a visibility it didn't have before. The way your iterations take shape change according to the specific work you are doing, but not the principle. Do chunks of work, release them, test them and take conclusions for the next iterations!
  • Short release cycles
In Zimmergren's case, they do weekly releases. Whether or not this is feasible in your own project is a question and depends highly on the level of automation you implement. Anyway, release and test your work as frequently as possible, don't work towards big bang releases!
  • Fail early
The faster you detect errors, the better you can optimize where you are spending the project's time on. Discover what compatibility issues you will find and what can and can't be upgraded. When you fail early, you're able to re-position yourself much more efficiently and the cost of failing decreases considerably.
  • Get everyone involved
When you're doing any type of work, if you haven't released, then effectively there's a group of people being left out: Product Owners, Testers, Content Owners, User Representatives...when you release, you give them the opportunity to give you feedback. And it's way better to have feedback on a weekly basis, than the week before the release date!
  • Use the appropriate tools
Once the added value in this strategy is recognized, work towards optimizing your process. This is where tools can have a massive importance, by automating and facilitating the steps of your process, reducing the overhead in the release/test management part of an iterative approach.
  • Manage risks effectively
In the end of the day, what we all want is for our project to go well and users to be happy! Reducing the risks and bringing everyone on board, almost since week 1, will give you a major push and edge to achieve that.

Tobias Zimmergren

No comments:

Post a Comment