Monday 2 January 2017

How to smoothly deliver large SharePoint projects


  1. Work with Architect who does not love sharepoint too much(any thing too much is bad likewise if you choose experimental expert who loves sharepoint too much then you are getting into many things that will create more headaches for business than delivering timely, useful sharepoint solutions). I have seen projects getting delayed because of many fancy things done by sharepoint experts that does good for them to fix or do some cool sharepoint stuff.. but in the end it insignificant in terms of what business need.
  2. Understand clearly whats customisation and whats configuration in SharePoint world!
  3. Compare many third party tools available in sharepoint world(free/paid) that can do the job for you just via configuration in a matter of days vs developing from start.(that's the biggest benefit of using sharepoint)
  4. clearly understand limitations related to listview thresholds, file size limitations, folder limitations in order to avoid any performance related rework issue later.
  5. Design and automate deployments across dev-qa-production
  6. Carefully use list definitions, site definitions(Architects love this but as soon as you spent multiple hrs in list definitions and its gotchas you make it instant asp.net project and you loose benefits of sharepoint...Many architects love fixing deep sharepoint issues but this overspent on fixing gotchas delays projects...Instead decide whether you really need list definistions or just simply manually configuring list columns is sufficient.(thats the benefit of using sharepoint UI!)
  7. Carefully decide and design what needs to be in database vs SP lists for long term use and support
  8. Design your sharepoint servers carefully, make sure all the services are enabled that are needed, if search is not needed turn it off-eats lots of memory(make sure search is configured correctly if needed)
  9. Design the backup restore plan carefully considering database size of SP content database
  10. Use good memory check tools to make sure there are no memory leaks etc. in custom code.
  11. Decide and design whether to go for client or server object model(Again chosse sharepoint expert who understands what needed for business and how to apply benefits of sharepoint in most efficient way)