{"id":1259,"date":"2014-06-16T10:52:19","date_gmt":"2014-06-16T10:52:19","guid":{"rendered":"https:\/\/poiseddevelopers.com\/reality-tech\/?p=1259"},"modified":"2024-05-02T07:17:08","modified_gmt":"2024-05-02T07:17:08","slug":"challenges-in-sharepoint-projects","status":"publish","type":"post","link":"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/","title":{"rendered":"Challenges in SharePoint projects"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_65 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Site_Topology\" title=\"Site Topology\">Site Topology<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Design_for_upgrades\" title=\"Design for upgrades\">Design for upgrades<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#3rd_Party_Software_Dependency\" title=\"3rd Party Software Dependency\">3rd Party Software Dependency<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Flexible_AMC\" title=\"Flexible AMC\">Flexible AMC<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Hardware\" title=\"Hardware\">Hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Governance\" title=\"Governance\">Governance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Market_Awareness\" title=\"Market Awareness\">Market Awareness<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Best_practices\" title=\"Best practices\">Best practices<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Scalability\" title=\"Scalability\">Scalability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Deployment_Model\" title=\"Deployment Model\">Deployment Model<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Awareness_of_roles\" title=\"Awareness of roles\">Awareness of roles<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#Talent\" title=\"Talent\">Talent<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/challenges-in-sharepoint-projects\/#How_to_start\" title=\"How to start?\">How to start?<\/a><\/li><\/ul><\/nav><\/div>\n<p>SharePoint is a great platform for application development. However there exist some challenges that need to be kept in mind during planning, that are common across a range of SharePoint projects. Each topic is worthy of its own article. Some design aspects are easily changed on the fly, while other changes come at a great cost when discovered late, resulting in significant additional effort to remediate; hence having a seasoned architect early on in the design can be very cost effective, and reduce project risk.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Site_Topology\"><\/span>Site Topology<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The set of Site Collections needs to be designed for scalability and secure isolation. Too often projects attempt to save effort by unnecessarily restricting the system to function within a single Site Collection. Such a design can hit performance and scalability limits of single Site Collections. Peeling apart a Site Collection in a large production farm can be fraught with risk and take significant effort.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Design_for_upgrades\"><\/span>Design for upgrades<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Design should include plans for upgrading, as patches and new versions come out; not just of SharePoint, but of SQL Server and 3rd party selected add-ons and operating systems.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"3rd_Party_Software_Dependency\"><\/span>3rd Party Software Dependency<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Purchasing add-ons is often cost-effective and preferable to writing code, however the vendor dependency is a serious issue to be considered, including vendor viability. SharePoint 2013, for example, requires solutions (WSPs) to be rebuilt (using different DLL versions, deploying to a different hive location, using a different .NET version etc). If a vendor is not around when you upgrade, you may be forced to rewrite the application first a different way.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Flexible_AMC\"><\/span>Flexible AMC<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The full cost of a system needs to be taken into account, as well as a viable support model, for the AMC (Annual Maintenance Cost). This considers the full cost, not just for development but for Post deployment and Maintenance Support. A proper cost assessment in a business case should take into account a 3 or 5 year cost horizon.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Hardware\"><\/span>Hardware<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>It\u2019s not just the software costs that need to be taken into account, but harware costs as well, even in a multi-tenancy model. Proper costing takes into account the allocation utilized by a proposed system. One should complete an Assessment of the existing Hardware Infrastructure and Environment and provide necessary recommendations for Server Configuration and Farm Topology.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Governance\"><\/span>Governance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>After doing the Requirement Gathering, some thought should be placed on the Governance Plan. This would identify business needs that can be achieved by OOTB features of SharePoint and which would require custom development, how the system would be authorized, users authenticated, policies, procedures, access levels, auditability and the like.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Market_Awareness\"><\/span>Market Awareness<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This circles back to the concept of buy-vs-build. Too often developers reach into their coding bag-of-tricks, before considering what exists. All too often I\u2019ve seen web parts written that duplicate what comes out of the box in SharePoint. Awareness of 3rd party solutions is also critical, to managing risk, timelines and project costs. Designers and developers need kept aware about market trends, new release, updates and patches. Senior team members in SharePoint can gain this through conferences, and just plain experience. Certifications are one indicator of knowledge, but that alone may not be sufficient.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Best_practices\"><\/span>Best practices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There is a wealth of knowledge in the industry on best-practices, starting from Microsoft. Development and Implementation should be done as per Microsoft suggested practices, but also considering leading authority opinions.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Scalability\"><\/span>Scalability<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Architecture and System design is done for scalability and high performance keeping in mind future data size and increase in the number of users. All too often a system that passes a demo, can\u2019t scale to the planned level of usage. This includes handling geographic diversity, and concurrency.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Deployment_Model\"><\/span>Deployment Model<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Now more than ever, the deployment model is key. Where once Sandbox solutions were promoted, these are now deprecated. Where once onPremises was the only option, now the App Model in Office 365 and Azure present not just viable options, but recommended approaches.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Awareness_of_roles\"><\/span>Awareness of roles<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>SharePoint team members should be included with specific expertise including crucially Administration, Development, Branding. A pure development approach may lead to taking a blind alley where a system is not easily maintained, or not easily branded.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Talent\"><\/span>Talent<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Finding real SharePoint talent is a challenge. One needs to be aware that a purely .NET background is useful, but is not the complete skillset needed for successful projects.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_to_start\"><\/span>How to start?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In short, one has to start and focus on the problem at hand. The solution comes only after the problem is crystal clear and understood. It is all too easy to jump into the technology, but must first start with the problem. One way to look at it is that there is no real solution without a specific problem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SharePoint is a great platform for application development. However there exist some challenges that need to be kept in mind during planning, that are common across a range of SharePoint projects. Each topic is worthy of its own article. Some design aspects are easily changed on the fly, while other changes come at a great [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1263,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25,15],"tags":[],"class_list":["post-1259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-architecture","category-sharepoint-information-architecture-services"],"acf":[],"_links":{"self":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/1259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/comments?post=1259"}],"version-history":[{"count":4,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/1259\/revisions"}],"predecessor-version":[{"id":1270,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/1259\/revisions\/1270"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/media\/1263"}],"wp:attachment":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/media?parent=1259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/categories?post=1259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/tags?post=1259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}