Manage share point development team
 

Manage share point development team

on

  • 5,838 views

SharePoint is vastly underused due to the challenges associated with customized solutions. While SharePoint 2010 reduces the need for development, it is still a complex platform, and developers play a ...

SharePoint is vastly underused due to the challenges associated with customized solutions. While SharePoint 2010 reduces the need for development, it is still a complex platform, and developers play a key role in meeting business-specific requirements. To get the expected return on the SharePoint investment and put the appropriate resources in place to meet specific requirements, understand SharePoint 2010 capabilities:

•With no customization.
•With customization using built-in functionality (i.e. with no development).
•With development resources.
With SharePoint 2010 being so complex (60-70% more than its predecessor), training and experience are crucial ingredients for a successful SharePoint team. Don’t expect that developers will be capable of producing quality projects that are performance-tuned specifically for SharePoint, without an understanding of the “SharePoint way.”

Statistics

Views

Total Views
5,838
Views on SlideShare
5,838
Embed Views
0

Actions

Likes
7
Downloads
186
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Manage share point development team Manage share point development team Presentation Transcript

    • Manage a SharePoint Customization & Development Team What you need to know to be successful with your SharePoint projects
    • Introduction Info-Tech Research Group This research is designed for: This research will help you:
      • Understand the differences and relative capabilities of the customization levels available.
      • Understand the challenges faced by the SharePoint customization team and how to mitigate their effects.
      • Build a SharePoint team with the proper resources and tools to deliver effective business solutions.
      • IT/Development managers responsible for the smooth running of SharePoint customization projects.
      • Teams that have struggled with how to customize or develop for the SharePoint environment.
      • Leaders with the need to understand the challenges faced by their SharePoint customization team.
      Use this research to get a handle on developing in/for SharePoint and what you should know to manage your team towards success! SharePoint has been sold as a jack-of-all trades platform that can be used for virtually all business needs. As such, organizations are trying to move more and more business processes to this platform. These organizations fall short when they underestimate the level of planning, customization, expertise, and training required to meet such lofty expectations, resulting in highly underutilized or disorganized SharePoint systems. To see if SharePoint is the right decision for you, consult Select the Right Collaboration Platform and Evaluate SharePoint for Enterprise Content Management .
    • Executive Summary Info-Tech Research Group SharePoint is an underutilized tool for many businesses that either do not know how to capitalize on its functionality or have users that have grown to dislike it due to poor practices.
      • Building a capable SharePoint team is crucial to gaining a good return on your investment.
      • Following best practices leads to success, and not following them leads to underutilization.
      • Training and experience on your SharePoint team is central to success.
      • Training is for everyone, not just your team. Train your end users, and continue by crafting tips & tricks newsletters and FAQs for new features.
      • SharePoint 2010 is 60-70% more complex than its most recent predecessor.
      • SharePoint 2010 addresses most of the issues that existed in previous versions and extends functionality & capabilities well beyond the conventional borders.
      • SharePoint 2010 can produce some amazing results in the hands of non-developers and magnificent results when developers become involved.
      • Involve the business, and have a champion from the executive on your side.
      • Work all SharePoint projects like development projects, following traditional SDLC phases. Do this even if you have a project with no developers required.
      • Structure and manage SharePoint projects using Agile methodologies. Quick wins from shorter iterations will help to win over your target audience.
    • What Your Developers Need to Know Implement the Keys to Success SharePoint 2010: Leverage the capabilities and be aware of the limitations to navigate the road to success Summary
        • SharePoint Development Strategy Roadmap
      Know the Capabilities and Limitations 4 2 1 Next Section in Brief
      • SharePoint capabilities: from the box to your users’ desktop.
      • What can be done with developers.
      • What can be done without developers.
    • SharePoint, like an iceberg, only truly shows its magnificence when you go below the surface Info-Tech Research Group And like an iceberg, what we see above the surface can also be pretty spectacular! Like the visible portion of the iceberg, SharePoint 2010 includes built-in functionality that allows non-developers to create effective business solutions that go beyond document repository. Staff with more advanced SharePoint expertise but not necessarily development skills , can further enhance customization to include more automation and integrations with other systems. Below the surface lies the foundation. Immense in capabilities, your developers can create some magnificent applications and supply the necessary building blocks for SharePoint Designers. As Manager of your SharePoint team, understand that you do not necessarily need development resources for all your SharePoint projects. Utilize your non-developers accordingly and let your developers focus on solutions that warrant custom coding. The possibilities are immense. Info-Tech Insight:
    • Flexible right out of the box, SharePoint enables your end users to create highly functional and feature rich sites Info-Tech Research Group Being a developer is not required in order to build feature-rich and highly functional site solutions within SharePoint. All site customizations are stored in the SharePoint content database . While this is an SQL database, it is also unique to SharePoint. SharePoint: Out-of-the-Box Weakness Extremely difficult to control and version any changes made, and near impossible to make changes repeatable and reusable across site collections and SharePoint farms.
      • All changes can be made by almost any user through a web browser within the SharePoint environment, or through the use of a tool such as SharePoint Designer , or PowerShell.
      • Site customizations do not touch the front-end web servers in the SharePoint farm.
      • Site customizations can be made without administration permissions. Permissions are necessary only on the specific site where changes are being made or created.
      SharePoint: Out-of-the-Box Characteristics SharePoint: Out-of-the-Box Strength Extremely flexible for end users and administrators to build and release in an ad-hoc fashion, all site customizations.
            • “ In SharePoint 2007 it was very dangerous to have non-developers using SharePoint tools such as the Designer.” - Kelly Balthrop, Software Architect
      When making changes through your browser, or through the use of SharePoint Designer, all customizations are stored in the content database. Only development tasks using Visual Studio are excluded. Info-Tech Insight:
    • Customizing without development can produce some very robust solutions, but take heed of what you are entering into All of its features and capabilities! Info-Tech Research Group Understanding the capabilities of SharePoint is one of the first steps to determining what the business wants and needs it to accomplish . The best thing about SharePoint is: The worst thing about SharePoint is:
      • If you don’t have access to developers: (Your team can still be successful customizing SharePoint )
      • Your team will need to be comfortable working with Microsoft Office (PowerPoint, Word, Excel, etc.).
      • Having a SharePoint Champion, someone that can point others in the right direction (mentor and train) may be all you need , to produce some very complex and highly functional systems.
      • Non-developers on your team may not be familiar with SDLC concepts, so planning your project is the most critical step. Your team will look to you to make this happen.
      “ I consider myself a guru with SharePoint 2007, but after almost 2 years working with 2010, I’m still learning more…” -SharePoint Solution Architect So what does this really mean? It means that SharePoint is complicated; it is not something that can be thrown out to your users or your team without first understanding it. They don’t have to be developers, but they will need your experience and guidance. Info-Tech Insight:
    • SharePoint capabilities are constrained only by the technical skills of your people Info-Tech Research Group
      • Developers will be able to fulfill all roles, depending on the extent of their relevant business knowledge.
      • SharePoint Designers may mentor with Developers to enable deeper dives below the surface level.
      • Can build across multiple SharePoint sites
      • Development can be easily controlled
      • Development can produce consistency across sites
      • Enforced quality
      • Can include non-standard functionality
      • Easily repeatable across collections
      • Changes can live outside of SharePoint content database
      • Can be deployed directly to web server
      • Scope is open-ended
      • Intimate knowledge of SharePoint architecture is imperative.
      • Business Users will generally be most useful to your team at the extreme tip of the iceberg (SharePoint).
      • SharePoint Designers will generally be most useful to your team at or near the surface, but depending on the extent of their skills , may dip below the surface.
      • Limited by availability of parts & tools
      • Hundreds of customizable features and web parts available
      • Difficult to control consistency
      • Modifiable standard functionality
      • Changes tend to be ad-hoc
      • Very difficult to make version changes
      • Difficult to repeat changes across sites
      • All changes exist only in SharePoint
      • Scope is always “Site Collection”
      • At the highest point, knowledge of SharePoint is useful but not imperative.
      • High quality tools are available.
      Characteristics of the SharePoint environment as it applies to Business Users and SharePoint Designers (above the waterline) Characteristics of the SharePoint environment as it applies to your Developers (below the waterline)
      • Business User/Analyst
      • Has business knowledge
      • Understands MS Office tools
      • SharePoint Designer
      • Some business awareness
      • Understands technology
      • Skilled Developer
      • Little business knowledge
      • Educated/trained in development
      Increasing Functionality/Complexity Increasing Technical & SharePoint Skills Required Increasing Interconnectivity and Sophistication
    • Working from the tip of the iceberg down, most of the top features can be implemented without breaking the surface Info-Tech Research Group Virtually anyone on your team could be productive setting up any of these top features. No development is required to create collaboration solutions that would rival any coded solution.
        • Streaming video – direct from library, on any page with SharePoint Media Player, podcasting, ratings, access to rich media library.
        • Beneficial for training, company communications.
        • MySite ( facebook for the enterprise ), people search, wikis, blogs.
        • Beneficial for collaboration, team building, education, mentoring.
        • True multi-group collaboration for documents and files using Office products (Word, Excel, PowerPoint & OneNote), build in browser creation & editing, extend your reach to include partners, vendors, and clients.
        • Beneficial for collaboration with staff, vendors, clients, etc.
        • All the power of an Access database directly through a browser and SharePoint web. Any user can create robust data-related apps to track virtually anything, from sports pools to project data.
        • Beneficial for empowering your teams.
        • Advanced Excel features: BI solutions, facilitates sharing and collaboration of user generated solutions.
        • Beneficial for increasing operational efficiencies.
      3 5 4 2 1 These features are relatively easy for non-developers to compose, but we highly recommend that you move forward cautiously, ensuring that your team fully understands the impact of what you are exposing to your user community. Info-Tech Insight:
    • Case Study - City of Windsor: Many of the small features you will need can be found and purchased
            • There are a lot of companies that sell web parts, and we’re expecting that most of the development requests we get will have already been solved by someone else.
            • We’re expecting that buying web parts will be cheaper than developing in-house, but we’ll make sure we have a development environment in place for those solutions that can’t be purchased.”
            • Bob Price, Programmer Analyst
      Info-Tech Research Group
      • The Takeaway
      • Bringing in a consulting company for an extended period of time ensured the city got it right the first time, from installation to design to deployment.
      • Ensuring it will have in-house capability to make further customizations as needed.
      • Company Profile/Situation
      • Canadian city government with 3000 employees, 60 IT staff, and 70 networked locations.
      • Will be migrating from Windows SharePoint Services 2003 to SharePoint Foundation 2010 (skipping 2007).
      • Current/Planned Applications
      • Performed customization in SharePoint 2003 (e.g. a vacation request workflow).
      • With 2010, IT plans to add more automated workflows.
      • Dynamically update a hot topics section on the website home page based on how often those pages are accessed.
      • Development Resources/Training
      • Hiring a consulting company for a few months to help with installation, customization, and deployment. For example:
      • Setting up the development environment, and providing best practices for promoting code to a live environment.
      • Enabling remote access to SharePoint (from home and smartphone).
      • Content management.
      • Plan to buy web parts/solutions when feasible, but want a development environment for any customizations.
      Will buy parts as required…
    • Working below the surface of SharePoint allows your developers to create solutions that are highly connected and reusable Info-Tech Research Group Descend below the surface to open up possibilities. Create reusable parts, make global changes, and connect various business systems. Developers , working in Visual Studio 2010 , can create solution packages that will be deployed as reusable components and templates .
        • By creating reusable components, you avoid reinventing the wheel. You create a solution (and its components) and then capitalize on that work.
        • That may include reusing solutions exactly as they are from one site collection to another, or it may mean taking the solution components and tweaking them to work in a different situation.
        • Reusing your code in this manner can save huge amounts of time , and time is a cost .
      What this means is that virtually anything the business team throws your way, you will know can be done.
            • “ SharePoint 2010: It’s a game-changer. Before when we received requests we’d say give us 6 months. Now we say give us a month.”
            • -Applications Development Manager
      Make the case for reusability as strong as possible. As Manager of the development team, make this your mantra: develop one time, reuse many times! Additionally, once developers create the components/webparts, anyone on the team can build solutions with them. Info-Tech Insight:
    • Working with developers on your team means boundless features and functionality can be achieved Info-Tech Research Group Out-of-the-box SharePoint is extremely flexible, but it does have limits. Once you include developers on your team, you open up endless possibilities.
      • You and your team do not have to be constrained by SharePoint.
        • All common and best practices relating to code development can be applied, including centralized source code, quality assurance, and code signoff. In other words, all the best practices your development team employed prior to SharePoint still apply.
        • Easily fit into standard (best practice) development to staging to production lifecycles.
        • Deployment is made by building specialized CAB files with a .wsp extension (SharePoint Visual Studio solution package).
      • Source code does NOT live within the SharePoint content database.
        • Developers’ source can reside in the organization’s source control system. All your regular backup, recovery, and even your build processes can be enforced and controlled.
      The SharePoint Server and Client API provides some powerful building blocks on which developers can capitalize. Connect to legacy data through the use of LINQ and create rich Web 2.0 experiences for users with ECMAScripting. Info-Tech Insight:
    • Only developers will have the ability to deploy directly to web servers, implementing global changes across sites Info-Tech Research Group Business leaders will expect all users to have the same experience. While some uniqueness for users is likely, much of the business experience must be controlled and consistent across all the SharePoint sites.
      • Solutions can be deployed directly to the front-end web servers by the development team.
        • The benefit to you and your team is simple. If you have to affect multiple site collections with the same changes, then deploying to the web server directly facilitates that action.
        • Global changes can be made to cross all user sites and site collections, whether simple presentation rules or enforcing organizational standards.
        • By deploying in this manner, you and your team gain the capacity to save large amounts of time.
      “ Whenever we build parts, whether event receivers, triggers, or basic web parts they are deployed to a directory at the farm level on the web server, that way everyone can make use of them.” -SharePoint Developer, Financial Industry Whenever the team “touches” the front end servers, make sure you have a rigorous testing procedure in place. Info-Tech recommends that separate and isolated environments for development, testing, and production should always be the norm to avoid potential catastrophes. Info-Tech Insight:
    • Developing for SharePoint 2010 is still challenging, but it is a world apart from previous versions
      • Minimizing Challenges
      • SharePoint 2010 standing alone rated only 42% at minimizing development challenges.
      • When stacked against previous versions of SharePoint, we see a 121% increase in the ability to minimize challenges.
      • Minimizing Development Time
      • (SharePoint team and end user)
      • When stacked against previous versions of SharePoint, we see a 225% increase in the ability to minimize time.
      • Later in this research you will see that developer training was also lower, with organizations not fully seeing the benefit of it. With only a 13% success rate at minimizing time, organizations need to train their developers!
      • Business Outcomes
      • When stacked against previous versions of SharePoint, we see a significant increase in the ability to achieve business outcomes.
      • However, with only 65% reporting success, this means that 35% of  organizations are failing to successfully deliver effective business solutions despite the vast capabilities of SharePoint 2010.
      Info-Tech Research Group Source: Info-Tech Research Group N = 49 % who were successful at minimizing challenges and time, and producing successful business outcomes SharePoint 2010 is not perfect, but it is a giant step forward from previous versions. Once developers have a chance to acclimatize to the new environment, even more success should be evident. Info-Tech Insight:
    • Knowing the boundaries and what can be done is the first step to engaging in a full blown SharePoint project As an IT/Development Manager tasked with implementing SharePoint projects, knowing the limits of the software is as critical as knowing the limits of your team. Recapping the section:
      • SharePoint can produce valuable functionality with or without development resources.
      • Non-developers working with SharePoint have limitations.
      • Non-developer solutions with SharePoint create challenges that lead to potential inconsistencies in overall user experiences.
      • Out-of-the-box SharePoint can have effective solutions created by non-developers.
      • Beneath the surface, SharePoint exposes its foundation to developers opening up more possibilities.
      • SharePoint knowledge is beneficial but not critical for non-developers, but an absolute necessity for developers working below the surface.
      • Developing for SharePoint 2010 still isn’t perfect, but it is miles ahead of previous versions.
      Actions arising from the section: Info-Tech Research Group
      • Know the limits and general capabilities of SharePoint and guide the team.
      • Make informed decisions about SharePoint and its usage in your organization by understanding its capabilities, team effort required, and necessary support.
      • Assign tasks to the team based on developer and non-developer roles. Consider this knowledge when building the team and assigning tasks to development and non-development resources.
    • What Your Developers Need to Know Implement the Keys to Success Summary Know the Capabilities and Limitations 4 2 2 SharePoint 2010: Guide the team towards success by knowing what is under the surface, and what can be done with it
        • SharePoint Development Strategy Roadmap
      Next Section in Brief
      • Understanding how the pieces come together: SharePoint Technology Stack.
      • Where and how the team is going to spend time.
      • Visual Studio 2010: building & packaging solutions for SharePoint.
      • SharePoint Object Model.
      • SharePoint Server & Client API.
    • Before you can begin any development effort, you and your team need to understand how all of the pieces stack up Info-Tech Research Group SharePoint 2010 Technology Stack SharePoint Foundation 2010 provides a consistent framework for lists and libraries, site administration, and site customization. .Net provides the capability to develop solutions using VB.Net, C#, ASP.Net, Silverlight, LINQ, etc., and provides the connectivity to the Office suite of products and your intra/Internet. Tight integration built-in to work with all Microsoft technologies, specifically for developers, Visual Studio 2010 . Developers can work on Vista or Windows 7, but production must be on Server 2008. You may be asking, why do I need to know this? SharePoint is an integrated piece of software, and understanding the stack is a critical time saver. If the team is not aware of the connection points or integration, it will waste time debugging problems, or worse, creating problems that could easily have been avoided. Info-Tech Insight:
    • Whether customizing the UI, or building collaboration solutions, most SharePoint projects will fall into 1 of 4 types
      • Custom UI & Business Process
      • These projects involve branding any or all of the pages in SharePoint to match your own unique business and corporate identity.
      • These projects will augment, or fully modify business workflows and events in order to add your unique business logic to the experience.
      • These projects can be very large in scope and often involve touching every aspect of SharePoint.
      Info-Tech Research Group
      • Web Part Projects
      • These can range from very simple projects involving customizing of a single list of data to
      • projects involving multiple lists and the rendering of screen objects.
      • All done using pre-existing or custom web parts developed by your team.
      • These projects are typically very small in scope.
      • Creating your own web part is easy, but remember there are many existing ones so you
      • won’t need to reinvent the wheel .
      • Collaborative Projects
      • This type of project will typically involve working with documents, workflows, events, and
      • multiple web parts.
      • These projects are typically more application and workflow oriented and utilize multiple
      • components.
      • These projects tend to be larger in scope and require in-depth planning and needs analysis.
      • Integrating Line of Business Data
      • Similar to collaborative projects, these are larger in scope and involve working with documents, workflows, events, multiple web parts, and external data sources.
      • Such projects typically involve connecting and extracting data from other business systems.
      • These projects use the “Business Connectivity Services” provided with SharePoint.
      3 4 2 1 Form a team which includes Developers, Designers, and Business Users. Developers will spend most of their time on these projects. These types of projects are great for “ highly analytical ” thinkers such as Technical Designers . Business Users are well suited to play a key role for these projects, along with Developers . For these projects you’ll need everyone on the team. Business Users, Designers, and Developers , and don’t forget to include someone with a flare for visual design.
    • Web parts are the basic building blocks for most of your SharePoint needs Info-Tech Research Group Web Parts are the basic building blocks for your SharePoint team. They are single focused tasks that perform a specified function, like printing a page. Web Parts: the most common type of development project for SharePoint. Visual Studio 2010 has a specific solution type/package for creation of SharePoint Web Parts. You should think of web parts as your “reusable” components. Visual Web Parts: creation of a visual web part, as the name implies, is done by dragging and dropping any of the common UI controls (text box, check box, dropdown, etc.) into the Visual Studio project, and then modifying the business logic through code files. Visual web parts are essentially ASCX user controls wrapped inside a standard web part. Standard Web Parts: have no graphical component and are essentially asp.net code hosted inside a special SharePoint class file. All standard web parts inherit from the standard asp.net web part base class. Developers will need to override the base child class, and then interact directly with the SharePoint object model by using SPContext, SPWeb, etc. The Fundamental Equation: By using Web Part Pages , developers can create a robust library of all available web parts for your designers and user community. SharePoint Team Collaboration Patterns: Your SharePoint team includes everyone from developers through to end users. By collaborating in this fashion, the entire team can capitalize on their individual strengths. There are two types of web parts: (Web Parts) (Web Parts Pages) Developer Created Web Part Web Part Pages Reusable Repository End-User Solution Developers will build them – business users & designers will use and consume them
    • Case Study - Lake Simcoe Region Conservation Authority: Finding and using the embedded building blocks
            • The system architect has had to do a great deal of research because, as much as SharePoint is an amazing development platform, there’s just a lot of steps that are kind of hidden from the average person.
            • SharePoint has a lot of objects already built that allow us to do most of what we need. But we still need some programming.”
            • Geoff Peat, GIS & IT Manager
      Info-Tech Research Group
      • The Takeaway
      • The agency is taking a slow approach in order to build up the SharePoint expertise it needs for more complex applications.
      • Overall, IT finds that development time is faster on SharePoint, once they passed the learning curve associated with the first few projects.
      • Company Profile/Situation
      • A Canadian environmental agency for the Lake Simcoe area, with 100 employees, 3 IT staff, and 2 offices/locations.
      • MOSS 2007; plan to upgrade to SharePoint Server 2010.
      • Have created a consolidated database for the environmental programs the agency manages (e.g. fisheries, forestry, etc.).
      • Current/Planned Applications
      • Started small with a few narrow applications to give people an idea of SharePoint.
      • Providing end users with a front-end for accessing data.
      • Moving business process/workflow knowledge out of people’s heads and into SharePoint to improve efficiency.
      • Development Resources/Training
      • System Architect: Database expert with strong project management and business analysis skills. On the job SharePoint training/research as well as two workshops (.NET development and SharePoint Administrator).
      • System Analyst: Analyses the business processes that are being built into SharePoint. On the job SharePoint training/research and a SharePoint Designer workshop.
      • Next step will be to hire site administrators and site maintenance/management people.
      Building expertise…
    • Tight integration with Visual Studio 2010 makes packaging & deployment challenges exponentially easier Info-Tech Research Group Packaging & Deployment with Visual Studio Visual Studio 2010 integration allows greater flexibility for your developers when packaging and deploying solutions to SharePoint 2010 Separate installers are no longer required. Solution packages generated from Visual Studio can be made specific for SharePoint delivery. Example : You may need to build a custom list definition which defines the columns and their behavior. Once you have your list defined, you will also need to build a list instance in Visual Studio, which allows developers to attach specified events to the custom list which will be fired when certain values are entered. Triggers are based on certain entry value or visual components by using web parts. Developers may also need to attach other business workflows or custom events to the custom list. All components, events, workflows, parts, etc. must be deployed at the same time. Visual Studio is aware of all the project items and allows them to be packaged as a feature/solution in order to group them all together and be activated (or deactivated) at the same time.
      • Features are a logical grouping of all the items in the SharePoint project. Features create a dependency between the various components and allow them to be deployed and activated together.
      • Solutions are the final packaged project. They contain all features and items in a single package and are deployed to local SharePoint for debugging and testing.
      • Deployment. Once your solution is packaged, the team can deploy to test servers. Visual Studio can then be used to debug and test. If the testing is successful, the same package can be deployed to production servers for general use.
      Build the items, components, and features in Visual Studio Package into solutions for deployment Visual Studio 2010 integration allows greater flexibility for developers when packaging and deploying solutions to SharePoint 2010
    • Planning, designing, and developing are great, but not worth a dime if your team has trouble with deployment Info-Tech Research Group Your team will build and maintain SharePoint specific solution packages. This should all be done from directly within Visual Studio 2010 .
      • Extremely powerful installer, specific for SharePoint.
      • The solution package bundles all components into a single CAB file with a .wsp extension.
      • The solution is a reusable, deployable package containing features, components, site definitions, and assemblies that apply to sites.
      • Solution packages can be used to activate or deactivate features.
      • WSP files can be edited directly within Visual Studio with no need for additional tools such as ORCA (MSI Viewer).
      • Enables synchronization of packages across multiple servers in a SharePoint farm.
      If your development team is familiar with “other” installation packages (i.e. MSI) and other methods, they may be inclined to use what is familiar to them. You will need to insist that they learn and use SharePoint Solutions Packages for all your SharePoint deployments. Windows SharePoint Solutions Package (.wsp) (considered a SharePoint specific installer)
    • Deploying SharePoint 2010 as a “sandbox” solution is a powerful tool for developers & especially useful for testing Info-Tech Research Group If your team has web parts that were created “before” SharePoint 2010, they may still work with SharePoint, but not in the sandbox.
      • There is no support for any web part derived from: Microsoft.SharePoint.WebPartPages.WebPart
      • Web Parts must be derived from: System.Web.UI.WebControls.WebPart namespace.
      • (This is why your old web parts will not work)
      SharePoint imposes some very strict security along the boundaries of the Sandbox. This includes limits on what parts of the SharePoint Object Model can be accessed, resource usage restrictions, and server quota limits set by the farm admins to protect against bad code.
      • User must be a Site Collection Administrator.
      • The WSP solution is managed through the “Solutions” gallery at the site’s top level.
      • Sandbox solutions are managed as “User Solutions.”
      • The WSP package must be activated before it can be seen on the Web Part gallery .
      • Sandbox assemblies run under a specific service – SPUserCodeV4.
      What you should know about the Sandbox : With Sandbox solutions, it is possible for a site collection admin to add a WSP package in the User Solutions area without having SharePoint central admin access or permissions. This greatly simplifies the process of testing developed components or evaluating third-party web parts without impacting the production areas or any other developers. Info-Tech Insight:
    • Managers and developers must have a solid understanding of the SharePoint object hierarchy Info-Tech Research Group Understanding the object hierarchy is critical for developers when connecting together web parts, items, features, and solutions. Managers of development teams will need to understand how the objects connect through the different levels in order to help their teams. When developers report a problem with the SPSite object or the SPWeb, managers must speak and understand the same language!
      • Top Level
      • Organizations can set up multiple farms, however, they would be horizontally equal.
      • Contains one or more web applications and/or web services.
      • Contains one or more site collections.
      • Relates to IIS Websites.
      • Contains one or more sites.
      • Security boundaries/permissions are set.
      • Users and Groups are set.
      • Lowest Level
      • Where most users spend their time.
      • Contains additional site related data (and objects) for lists, pages, etc. ( e.g. SPList, SPListItems, SPFile)
      The SharePoint object model is simplistic and straightforward as a hierarchal structure. Each lower level inherits from the higher levels. Imagine a backward path from the lowest level up: a list item on a list, on a page, on a site, in a collection, of an application, in a farm.
    • You will need to understand the basic naming conventions to help ensure developers are following standards Info-Tech Research Group When you review your team’s code, make sure that they follow standard naming conventions. It will lead to easier maintenance in the future and less time spend debugging. foreach ( SPService svc in SPFarm .Local.Services) { if (svc is SPWebService ) { ( SPWebService webSvc = SPWebService )svc; foreach ( SPWebApplication webApp in webSvc.WebApplications) { foreach ( SPSite site in webApp.Sites) { foreach ( SPWeb web in site.AllWebs) { //do something SharePoint stores information at different levels through its hierarchy. Remember, SPWebApplication relates to your IIS Website; SPSite to all the collections on the website; and SPWeb (the lowest level) to the actual SharePoint sites. Developers will be immersed in coding and as such they often lose track of the higher order; this is where managers come in. Another set of eyes will generally solve the problem, and those eyes will likely be a manager’s. Info-Tech Insight: This snippet of a code tree iterates through all the services in the SharePoint farm, then through each SPWebApplication in the service, then through each SPSite in the collection, and finally through each SPWeb (SharePoint site) for each site in the collection.
    • Leverage knowledge of the SharePoint API to help developers improve application development & performance Info-Tech Research Group Nobody wants to write unnecessary or inefficient code, so take the time to learn and discover what SharePoint and Visual Studio have available for you.
      • SharePoint APIs allow developers to :
      • Quickly create solutions without rewriting code, methods, or objects that already exist.
      • Connect to other applications and systems.
      • Create applications that run inside SharePoint or the reverse; integrate SharePoint into solutions using the Client API, Web Services, or REST to access SharePoint data.
      Silverlight Object Model ECMAScript JavaScript, JScript .Net Managed Object Model REST BCS LINQ Any Client Application External Systems Foundation Lists Browser & Desktop ASPX Windows Applications This is the level we build or use functionality Developers may tell you that they can figure it out. However, as their manager (someone accountable for their success and the project’s success), set aside time for self-training, bring in a consultant to train them, or sign them up for a SharePoint development course. Info-Tech Insight: Server API Client API
    • Use LINQ to connect the shiny new SharePoint application to all those older data sources still hanging around the business Info-Tech Research Group Maybe the accounting team has all its data in one source, sales and marketing in another, or the business still runs off some antiquated system. Knowing what LINQ can do, and making sure your developers use it to your business advantage is your challenge .
      • LINQ
      • One of the most powerful features of the SharePoint Server API.
      • Used to query virtually any data source (think legacy system) .
      • Compiled validation within Visual Studio – to help avoid runtime errors.
      • Syntax is similar to SQL, not CAML (Many developers complained about CAML, and Microsoft listened) .
      • With LINQ, multiple lists and multiple data stores can have their results joined. This makes LINQ a viable contender for your data layer.
      • To make LINQ work with a particular data source, you require a LINQ provider (this is essentially a class to translate LINQ queries into the language of the source) .
      • For developers to learn more about how to use LINQ, MSDN provides videos, online labs, and a great deal of information in various documents and presentations.
      LINQ Foundation Lists LINQ -> Language-Integrated Query If your projects involve connecting, retrieving, and evaluating data from multiple sources, including SharePoint lists, your developers should learn more about this powerful tool. Info-Tech Insight:
    • Even non-Windows applications can be integrated into SharePoint applications when developers use the right tools Info-Tech Research Group Representational State Transfer or REST, will allow your team to connect to almost any application regardless of where it resides, be it on a non-Windows platform or an application located in the cloud.
      • REST
      • Unlike Simple Object Access Protocol (SOAP), REST is not XML based but rather HTML … on steroids.
      • Use REST to interact with Excel Services and draw everything from single cells to entire workbooks into your applications .
      • Have your team build web parts that allow your business users and designers to work inside their familiar tools (Office, i.e. Excel) but that bring it all into your SharePoint application.
      REST Any Client Application REST is not actually considered a protocol since it uses HTTP to send and retrieve data. REST has more in common with a Web API with direct communication properties than that of other protocols. Developers will not have learned this stuff in school, and they won’t automatically think to use this technology. Guide them towards the knowledge since it is through this level of integration that your team can start bringing all the traditional office tools together in SharePoint. Info-Tech Insight:
    • The business has invested heavily in its various systems, including SharePoint; bring those systems together Info-Tech Research Group Business leaders will look to managers (not developers) to know how to drive forward the collective company productivity. By understanding the capabilities built into the SharePoint API, like Business Connectivity Services or BCS, you can lead your team of developers into the spotlight by providing seamless connection to back-end systems within SharePoint 2010.
      • BCS
      • Major benefit of BCS is read/write capabilities to external systems.
      • Has a familiar UI to external systems, with no code connectivity .
      • Offline access to back-end or external system can be provided.
      • Includes: BDC Service, plug-in connector framework, external lists, data columns, external search, secure service, specialized web parts and more.
      • Has a specific object model and class library (developers will need to learn this too).
      BCS External Systems Managers don’t need to know how to make it all work, just that it does. The rest will be up to the developers under their direction and guidance. Your team can create a rich application experience, maintaining consistency for end users without them ever needing to know from where the information is coming. Use BCS to enable the development team to create rich solutions inside SharePoint that access, retrieve, and update data from external sources. This can be extremely powerful in legacy system situations. Info-Tech Insight:
    • Case Study - City of Las Vegas: Investigating the Business Connectivity Service to connect to other systems
            • We want to take things slow. Get some training, start small and build up from there, and really do a better job of planning than we did with the 2003 to 2007 migration.”
            • Mike Gritz, Sr. Management Analyst
            • Knowing what questions to ask and going over the workflow steps to know how to architect a solution for end users has been problematic in the past.”
            • Pat Cabrera, IT Project Coordinator
      Info-Tech Research Group
      • The Takeaway
      • The company plans to take advantage of SharePoint 2010 functionality, but IT has learned from past challenges to take the time to thoroughly plan the project .
      • Take a business perspective rather than a technology focus to ensure SharePoint meets business needs.
      • Company Profile/Situation
      • US city government with 3000 employees, 73 IT staff, and supporting 16 city departments.
      • Using Windows SharePoint Services 2007 , recently made the decision to migrate to SharePoint Foundation 2010.
      • Current/Planned Applications
      • Currently modified look and feel, but have avoided any further customization due to concerns about migrating to SharePoint 2010. In addition, SharePoint Designer for SharePoint 2007 has been problematic.
      • Would like to use SharePoint 2010 BCS functionality to link to other systems (e.g. CRM) and provide a centralized front-end for business processes involving those systems.
      • Migrate from a WCM intranet platform to SharePoint 2010.
      • Development Resources/Training
      • Have VB.NET and web developers; however, their time for SharePoint development is limited.
      • Looking to buy existing web parts/SharePoint solutions rather than try to develop custom solutions internally.
      • Focusing on ensuring everyone is on board from the different facets of the project, have a PM to coordinate the efforts and to have a business focus.
      Connecting the systems… “
    • Have the dev team build rich Internet applications that rival the best AJAX or Silverlight apps, all inside SharePoint Info-Tech Research Group In previous versions of SharePoint, this capability was not available. Now that it’s part of the client API, the development team can be the shining stars.
      • .Net Managed Object Model
      • Create rich desktop applications using SharePoint and your SharePoint content.
      • Use to create add-ons for Outlook that integrate with your SharePoint application, or other desktop applications that access your SharePoint content.
      • To use this object model, the team will need to open a Windows Form Application project in Visual Studio.
      • Have the team add a reference to the 2 client dll’s while in Visual Studio.
      • (Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll)
      .Net Managed Object Model ECMAScript
      • ECMAScript
      • These are ASPX files containing JavaScript.
      • The team can easily recreate AJAX-like functionality and the user experience.
      • While working in Visual Studio, the team can make use of the intellisense by adding <script> tags that reference the SharePoint foundation .js files.
      • These tags are for design time only and the team must remove them to build the project.
      ASPX Windows Applications Whether the team is building applications for use inside or outside SharePoint, the SharePoint Client API allows developers to capitalize on its power. Info-Tech Insight:
    • Browser wars won’t be an issue when developers build web parts using the Silverlight Client API Info-Tech Research Group Supporting Silverlight in multiple contexts allows the team to focus on the real important issues, like features and functionality – not the browser.
      • Silverlight Object Model
      • Two distinct contexts of use, in or as a web part, and within the Silverlight Cross-Domain Data Access system which, simply put, allows Silverlight to interact with SharePoint Foundation data.
      • Silverlight uses asynchronous communication so you will need to make sure that your team passes delegates for any callback methods as parameters.
      • In order to make changes in UI code through Silverlight, your team will need to work with the Dispatcher object of the thread created by your UI process.
      • To use Silverlight as a web part, have your team create a Silverlight application in Visual Studio, then add their code to the page class in the default page.xaml.cs file of your SharePoint project.
      • Silverlight also has an application file (.XAP) which will need to be uploaded to your document library in SharePoint.
      Silverlight Browser & Desktop If your business has an “open” policy on the types of hardware being used for business purposes, using Silverlight to build your rich user experience will help reduce support inquiries and headaches from browser and hardware inconsistencies. For more information on BYOC, refer to Consider BYOC as Part of a Desktop-as-a-Service Strategy . Working with Silverlight in conjunction with SharePoint can be finicky. Developers may want to quit, but the results are worth the time and effort. Don’t let them quit. Info-Tech Insight:
    • Having the knowledge to guide developers gives managers credibility & respect Info-Tech Research Group Managing a team of technical professionals is a unique challenge. It is not anything like managing a non-technical team. These people will put demands on your knowledge and your skill level, and if you want their respect, you will need to talk in their language! Recapping the section:
      • Understand the SharePoint technology stack; how it all connects and what additional technology interacts with it.
      • Typical SharePoint project types and the resources best suited.
      • Web Parts, the building blocks for SharePoint.
      • Visual Studio 2010 integration, specifically related to solutions packaging & deployments and the SharePoint Sandbox.
      • SharePoint object hierarchy; how it all fits together in practice and in code.
      • SharePoint Client and Server API.
      Actions arising from the section:
      • Gain respect from your technical team by knowing and understanding the technical terminology, how the components and objects interact, and the methods used to connect various business sources.
      • Be able to mentor, teach, and guide your technical team on the proper use of the SharePoint way.
      • Assist your technical architects, designers, and developers by bridging the technical/non-technical gap between the business and the technology.
    • What Your Developers Need to Know Implement the Keys to Success Summary Know the Capabilities and Limitations 4 2 3 SharePoint 2010: Appropriately manage expectations on delivering success by following best practices
        • SharePoint Development Strategy Roadmap
      Next Section in Brief
      • Determine organizational readiness for SharePoint 2010.
      • How to build an appropriate team.
      • The six best practices that will lead to success.
    • Balance is defined as being centered; be centered with the SharePoint implementation for success Info-Tech Research Group Typical SharePoint Implementation Continuum (with environments worsening at opposite ends)
        • SharePoint’s explosive popularity has often meant that planning takes a backseat to deployment, and many enterprises find themselves at either end of the continuum.
      Knowing where the organization is coming from is critical to successfully implementing SharePoint solutions. If you are faced with unreasonable IT control or sprawling chaos, success will be difficult. Clean up the environment, center the team, and build success. Info-Tech Insight:
    • Knowing where the organization is and how it got there is critical to determining where to go next
        • The resulting SharePoint implementation is a mess , with little interest from the user community to use it and little faith that it will fulfill any of the promises.
      Info-Tech Research Group
      • SharePoint is piloted for IT, but magically becomes an enterprise production tool with expectations from senior management forced down the chain to IT.
      • Heavily customized SharePoint implementation by IT techies lacking in any real SharePoint skills and no business understanding.
      • In both cases there has been:
        • No planning.
        • Ad-hoc changes.
        • Little to no documentation produced.
        • No connection to any real business need or objective.
        • No actual business budget assigned.
        • Permissions and security are set based on assessment of needs by IT, not the business.
      Does the organization fall into one of the following two scenarios? Typical SharePoint Implementation Scenarios If your organization’s implementation sounds like this, or your environment is at either end of the SharePoint continuum, discard it and begin again based on the advice in this set. If you don’t, costs will skyrocket out of proportion to the value. Info-Tech Insight:
    • Use Info-Tech’s readiness tool to determine if you have the right resources for success, and how to address any shortcomings Info-Tech Research Group
      • Use the Info-Tech
      • SharePoint Development Readiness Assessment Tool
      • to determine your overall readiness in terms of:
          • People – is your staff ready?
          • Process – is your business ready?
          • Technology – do you have the necessary tools?
      Get recommendations on whether you are ready for a SharePoint 2010 customization and/or development project. A critical component of implementing success is knowing whether you are ready to take on the challenge.
    • Case Study - Calgary Public Library: Lacked the expertise required to fully utilize SharePoint
            • We want to get the expertise of our purchasing people back on purchasing work rather than running around trying to get approvals.
            • We’re in the process of writing an RFP to bring in a group to help with a high-level redesign so we can start building and customizing SharePoint to meet our needs better.”
            • Scott Stanley, Manager Information Technology
      Info-Tech Research Group
      • The Takeaway
      • The library has specific needs that it knows SharePoint can address, but IT currently lacks the SharePoint expertise. They are exploring hiring a consulting group to provide that expertise.
      • So far the library has had mixed success with SharePoint – some staff make good use of it, others don’t – but overall it’s not yet meeting the business goals.
      • Company Profile/Situation
      • 8020 employees, 21 IT staff, 19 offices/locations
      • MOSS 2007 - no current plans to upgrade to SharePoint Server 2010, but it is a definite possibility
      • Current/Planned Applications
      • Have created some forms (using InfoPath), but want to go beyond InfoPath, and that will require some customization.
      • Use SharePoint to drive the forms workflow (e.g. the approval process for purchases above a certain value gets complicated, so the library would like to streamline that workflow).
      • Use SharePoint for document management, including restricting access (e.g. private, internal but restricted, internal but not restricted, public).
      • Integrate with HR system for reporting and Financial systems as part of the purchase approval workflow.
      • Development Resources/Training
      • A part-time consultant (former employee) who is knowledgeable in the administration side but not development.
      • Plan to obtain SharePoint developer training.
      Mixed Success…
    • Building the team correctly, with defined responsibilities, is the first step towards successfully developing for SharePoint Info-Tech Research Group
      • Your team will need to consist of several different roles . (We say “roles” because some organizations may overlap roles into the same resource based on the individuals skills.)
      • Some roles may need to be filled by consultants, third parties, or temporary staff.
      • At the beginning of this storyboard, we told you about three roles: Business User/Analyst, SharePoint Designers, and Developers. These are your core , however, typically the additional expertise (skills) required by the other roles mentioned here may not be found in your core three. (Managers will need to make that assessment.)
      • Committed Business Sponsor
      • Project Manager
      For certain roles, specific requirements and skills are necessary. Treat even internal candidates like you were filling a job posting. Interview prospective candidates and select the best people you can for the roles required. Don’t just blindly accept the resources you are given if you want to be successful. Info-Tech Insight:
    • Ensuring you have the right people on the job is critical to success Info-Tech Research Group You likely won’t have a chance to hire these two, but you can still evaluate their readiness for your SharePoint team.
      • Business Sponsor
      • You will need a committed business sponsor on your team. This person should be a senior level manager, capable of making executive business decisions, and preferably one that is positive about the SharePoint venture and will assist with any feasibility and/or justification when and if necessary.
      • It is not necessary that this person be present at all team meetings, but as a key stakeholder he or she should be constantly up to date and the go-to person for all business-related questions unanswerable by the team.
      Member of: Business Group
      • Project Manager
      • A good project manager can make or break a project. Having a solid PM on your team will ensure that the proper planning and design is completed before attempting to engage with SharePoint.
      • It would be preferable that this person have some SharePoint experience, however, it is not a requirement for this role. In the end, a solid project manager is more important than SharePoint project experience.
      • The project manager will keep all the stakeholders apprised of team progress and will ensure that the team is aware of all the business requirements and needs.
      Member of: Business Group You may not have a chance to hire or even select these roles, but whenever possible make sure you at least have a champion on the business team or you’ll find yourself in trouble. Info-Tech Insight:
    • Understanding the business needs and facilitating their understanding of SharePoint are two sides of the same coin Info-Tech Research Group The quality and quantity of the technical (and SharePoint specific) skills that these people hold will have a direct correlation on how effective they are for your team.
      • SharePoint Business Analyst
      • Solid understanding of the business culture, methods, processes, workflows, and needs.
      • Depending on the level of technical ability, this person should determine workflows within SharePoint, build site pages, and generally assist the team with understanding the business reasons and needs.
      Member of: Business Group
      • SharePoint Trainer
      • May be a resource that comes from the support area.
      • Characteristics should be people-focused with excellent communication skills, and a good teacher.
      • Understanding the inner workings of SharePoint and the other technologies is not critical, however, he or she should have the capability to understand technical language and speak in non-technical terms.
      • Task this person with end-user training (or suggestions on how the technical team can build intuitiveness into SharePoint applications).
      • Fluent with all MS Office tools, and with navigating SharePoint.
      Member of: Business Group “ If they don’t like it, because they don’t understand it, that can become a huge barrier to successfully implementing SharePoint.” -Business Executive & SharePoint Champion core In smaller organizations, these two roles may be combined into one. If full-time attention to the SharePoint team is not possible, then lean more towards the training requirement. Your users will need to have this in order for the SharePoint team to be successful. Info-Tech Insight:
    • With support from the rest of the crew, the heavy hitters on the SharePoint team will help carry you to victory Info-Tech Research Group The skills and capabilities of these two roles are absolutely critical to the level of project success.
      • SharePoint Designer
      • Responsible for designing and building many of the screens, workflows, and processes in the site collections.
      • Works very closely with the Business Analyst and Developers to coordinate the successful integration of web parts, features, and solutions.
      • Technical in nature and has a solid grasp of MS Office tools and SharePoint-specific experience.
      Member of: Business Group
      • SharePoint Developer
      • Skilled with Visual Studio, .Net, web technologies (html, css, JavaScript, etc.).
      • Tasked with building the blocks that will be used in application construction.
      • Willing and capable of learning new technologies and methods (not someone stuck in their ways).
      • Works closely with technical designers, assist with training wherever possible, and keep an eye to end-user needs.
      • A visionary on the team as to the future capabilities of SharePoint, including connecting to and maintaining legacy applications and systems.
      Member of: IT/ Dev Group core core There is confusion over these two roles. Many organizations incorrectly refer to these roles as interchangeable. They are not ! Referring to our iceberg, Developers live below the surface, while designers live primarily at the surface, dipping above or below as their skills allow. Info-Tech Insight:
    • The final two on the team will address two critical functions: making SharePoint work & designing it to work well Info-Tech Research Group The administrator will facilitate all aspects of keeping SharePoint running, while the architect will lay out the structure for it to work well.
      • SharePoint Infrastructure Specialist (Administrator)
      • This role will be used early in the project, setting up SharePoint and installing it to development, testing, and production environments.
      • Administering all user-related permissions and securities as per business rules.
      • Configuring and continually tuning performance of the SharePoint farm system.
      • The SharePoint specific link to the company’s greater IT group.
      Member of: IT/ Dev Group
      • SharePoint Architect
      • Responsible for designing and architecting the overall SharePoint environment.
      • Intimate awareness of SharePoint, its capabilities, linkages, features, and functionality.
      • May be a third-party consultant during initial stages to ensure you have the requisite level of knowledge to proceed.
      • Greatest responsibilities during initial stages of SharePoint projects.
      • Can be used to help mentor and train users, developers, and designers.
      • Likely the highest paid member of the team (excluding the manager).
      Member of: IT/ Dev Group These two roles are crucial to avoiding the common pitfalls of SharePoint implementations. A qualified architect who designs the system based on business needs is the only way the business is going to see value in this venture. Info-Tech Insight:
    • Building the team from scratch means knowing roughly what it’s going to cost Info-Tech Research Group While salary ranges vary greatly from city to city and even within the industry, the following will give you a ballpark of your expense in general. Source: Figures represented in USD Monster/Salary.com (national averages) core core core While all job roles are required to perform certain tasks, you may find significant abilities in your core three that will allow your organization to proceed with SharePoint customization and development projects. You may be required to fill any gaps in knowledge and skills. Info-Tech Insight:
    • Estimating the team’s cost to the business on a per project basis allows for a granular view into your world Info-Tech Research Group
      • Use the Info-Tech
      • SharePoint Development TCO Tool
      • to determine project-related costs:
        • People – broken down by roles and respective time spent on projects.
        • Process – living up to the deadlines, calculating real start and end dates based on predictions and estimates.
        • Technology – building the components, buying them, or contracting the work.
      Your main goal may be to get the job done but someone will be concerned with how much it all costs. Get a view into the costs associated with SharePoint 2010 customization and/or development projects.
    • Success will be fleeting unless you follow these six best practices Info-Tech Research Group
    • Choose best practices carefully to end projects with success
      • Regarding Consultants :
      • Consultants are not an equal replacement for in-house expertise. Info-Tech’s survey found that using a consultant was far less effective than having SharePoint expertise in-house.
      • Info-Tech analysis indicates that low scores are likely due to improper use of consultants, or not keeping them around long enough to get value .
      • Regarding Experience & Training :
      • (SharePoint team and end user)
      • As indicated by the survey, experience on your team and a well trained team ( including your end users ) have significant impact on reducing challenges when best practices are followed.
      Info-Tech Research Group Source: Info-Tech Research Group N = 50 Hired Consultant 28% 24% SharePoint End-User Training 17% 50% SharePoint Developer Training 17% 40% Experienced Team 16% 36% Documenting Business Processes 14% 36% Running Pilots and/or Beta Testing 8% 42% No Yes Impact of Individual Best Practices on Reducing Development Challenges % indicating reduced development challenges – We follow this as best practice - We do not follow this as best practice All potential best practices have a positive impact on overall success - except using a consultant! Invest in training for the project team and end users first to see the best results. If you use a consultant, make sure you keep him or her on the job long enough to gain value. Info-Tech Insight:
    • Case Study - Trident Microsystems, Inc: in-house SharePoint expertise is driving success
            • Our SharePoint guru helped us get over the learning curve and understand SharePoint-specific terms and tasks - e.g., how to interact with web parts, how to query custom lists via the API, etc.
            • Regarding intranet development, we have a ‘SharePoint-unless’ policy. Basically we look to SharePoint first to host any new development, unless there is a technical reason or business case that requires an alternative.”
            • Jeffrey Allred, Technical Solution & Integration Manager
      Info-Tech Research Group
      • The Takeaway
      • The new functionality of SharePoint Server 2010 is opening up more possibilities, and IT has the expertise to make it happen relatively pain-free.
      • Training enabled the SharePoint team to get up to speed quickly.
      • Company Profile/Situation
      • Digital home entertainment company with 1700 employees, 35 IT staff, 20 offices/locations
      • 5 MOSS 2007 instances (due to M&As)
      • Upgrading each instance to SharePoint Server 2010 and consolidating into one server farm.
      • Current/Planned Applications
      • Extensive use of workflows (e.g. streamline the software release approval process). Purchased a workflow add-on (K2 Blackpearl) to accelerate development.
      • Currently installing an Oracle ERP. Will use SharePoint 2010 BCS functionality to link the ERP to SharePoint to provide easier centralized access to data and reports.
      • Plan to add external sites with appropriate restrictions.
      • Development Resources/Training
      • A SharePoint expert plus six experienced Microsoft-certified developers.
      • Sent one developer to a one-week SharePoint 2010 developer course.
      • Manager attended a one-week SharePoint administration course.
      Building experience…
    • Training your end users & documenting what they already do are keys to a successful SharePoint customization effort
      • Regarding Training :
      • Our survey clearly indicated that SharePoint end-user training had a significant impact on the overall success of SharePoint projects.
      • Training gains acceptance, and acceptance with your users promotes success.
      • Regarding Documenting Business Process :
      • Taking the time to document business processes, before coding, promotes far greater success when automating business workflow & process.
      • This is a fundamental issue that IT/Development groups from many different organizations must come to terms with: technology supports the business . IT can’t support it, if it doesn’t know it.
      Info-Tech Research Group Source: Info-Tech Research Group N = 52 Training your end users clearly has the highest percentage effect on overall success One of SharePoint’s strengths is automating workflow and business process. By documenting what is already happening, the SharePoint team can recreate it. Info-Tech Insight:
      • Regarding Developer Training :
      • This chart indicates that training developers on the intricacies of SharePoint has less of an effect on overall success. However, there are a lot of factors that come into play to explain the result. The reality is, the more training and understanding on any topic, the better.
      • When stacked up against everything else, developers are smart enough to figure it out , but without the training, testing, and documenting of business process, it doesn’t matter how much they know . If what developers are doing is inherently wrong, or the users don’t accept or understand it, it simply doesn’t translate to success!
      You can bring in experience and a consultant, but the biggest success factors are documenting, trying, and training Source: Info-Tech Research Group N = 123 While all of the best practices had an effect, it is clear where you need to focus your attention. Documenting, Trying, and Training
    • Following best practice is all well and good, but hitting your targets is the real business goal – on time & on budget! Source: Info-Tech Research Group N = 52
            • SharePoint 2010 is so vast that you really need a lot of training on each area. For example, ECM functionality has 15 new features. You need to know all of those 15, in-depth.
      -SharePoint Solutions Architect “ ” The graphs show that following best practices help to ensure projects are on-time and on-budget. It also shows that training, experience, and testing all have a significant impact on the ability to meet targets!
    • You can either fumble around in the dark, or you can turn on the lights through training
      • Your developers may be experts with .Net, they may know their way around the web, but if they have never worked with SharePoint before, they’ll have a lot to learn . What they don’t know will translate to a cost to you by taking longer , causing more bugs or problems and generally creating a situation that degrades your end-users confidence in you, your team, and the software.
      • Each member on your team can directly affect your bottom line . If their work is inefficient, they cause delays. Delays that cost you money & time , not to mention your credibility if you’re accountable to senior management for the success of SharePoint.
      • If your end users , your business community, don’t understand SharePoint; they may very quickly become frustrated (especially if it isn’t being administered correctly in the first place). They may openly revolt against SharePoint and no matter how wonderful your application solution may be, you will find it an uphill battle to gain acceptance. This too can be an overwhelming cost for you since it likely means you have to continue to support multiple applications (that do the same thing).
      Solve these issues by budgeting for appropriate training options that meet your staff’s learning styles and skills requirements. If you let your team fumble in darkness, you are not only failing yourself, but the team, your business, and your end users. Budget accordingly to ensure that you can supply the training that is necessary. Don’t overlook how important this is to your success. Info-Tech Insight:
    • Case Study - AgreeYa Solutions, Inc: developers know .Net, but they don’t know SharePoint
            • We are creating a Webinar for our clients designed to train .NET developers on SharePoint development. Without an understanding of those differences, developers often carry over normal development practices that create problems in SharePoint.
            • Mitchell Sharp, Vice President of Infrastructure
      Info-Tech Research Group
      • The Takeaway
      • Focusing on ensuring that SharePoint is being used to improve productivity or business processes. E.g. if you are just putting files in SharePoint instead of in a shared drive, it’s still just a repository. You aren’t saving time or reducing your workload until you add some intelligence – e.g. workflows, integrations, or collaboration features.
      • Company Profile/Situation
      • A systems engineering consultant and outsourcer with 800 employees and 8 offices/locations.
      • Migrating from MOSS 2007 to SharePoint Server 2010.
      • Current/Planned Applications
      • Using BCS functionality to help with BI analysis. E.g. combine data from CRM and Financial systems in SharePoint to create BI reports for dashboard reporting.
      • Exploring new collaboration/social networking features.
      • Use new monitoring tools to manage usage issues rather than setting data capacity or upload restrictions. Monitoring is a better solution because with restrictions you have to manage the exceptions and deal with productivity interruptions if a user has a legitimate need to exceed restrictions.
      • Development Resources/Training
      • SharePoint Practice Lead: A SharePoint expert who keeps the team up to speed on what’s new and provides SharePoint development guidance to their team of 2o developers.
      • Ensure developers understand the differences between SharePoint development and regular development.
      Building intelligence… ”
    • Implement a Back to School campaign, and keep your team & users learning about SharePoint
      • Classroom training courses can be found in virtually every corner of North America.
      • Training courses can be customized and brought onsite by many training vendors.
      • Online labs for developers are freely available through MSDN and the Microsoft Partner Network (see Info-Tech’s solution set, Understand the Microsoft Partner Network ).
      • If you hire a consultant with expert skills and ability, use that consultant to design an internal course structure for organizational purposes. Build training collateral for the SharePoint team and your end users.
      • Start a whole Back to School campaign for your team and users. Keep it fun, informative, and fresh.
      Some training centers offering SharePoint training: (This is not complete list, it is here as a guide and as an example to show what is available) Pilothouse Offers courses for Developers, Administrators, and Dev Managers Offers courses for Developers, Administrators , Dev Managers, PM, Business Analysts Offers courses for Developers, Administrators, and End Users Average course duration 3-5 days - offsite Avg cost per participant ranges from $1995-$2195 USD Avg cost per participant ranges from $2645 - $3155 USD Avg cost per participant ranges from $2495 - $2995 USD Learning Tree International MindSharp Average course duration 3-5 days - offsite Average course duration 3-5 days - offsite Course costs and the time commitment can be very prohibitive. If you have a large team, investigate options where you can “host” the classroom (bring the trainer to you). Most training centers will offer this as a service assuming certain thresholds of attendants. Info-Tech Insight:
    •   Source: www.office.microsoft.com Info-Tech Research Group Microsoft Office Online offers free downloadable courses for basic SharePoint use, ranging from 20 to 50 minutes in length. We sought out leaders in the business and provided them with training and coaching. - CIO, Mid-sized Manufacturing Organization “ For an ongoing continuing education program, take advantage of Microsoft’s free online courses
      • Microsoft also offers:
      • Training Roadmaps
      • User Interface Guides
      • Downloadable presentations
      • Demos
      • Webcasts and Podcasts
      • Training Site Help
      ” A sample of the offerings include: Course Topic Document Libraries I Introduction to sharing files Document Libraries II All about checkout Document Libraries III Work with version history Slide Libraries I Set up a library for your team Slide Libraries II Use slides in the library Calendars I Make the most of your team calendar Calendars II Connect a SharePoint Calendar to Outlook Workflows I Basics you should know Workflows II Collect feedback for a file Excel Services I The basics Excel Services II Requirements, recommendations and permissions Visit Microsoft for a complete list of courses
    • Lack of best practices is leading to significant underutilization of SharePoint & making “SharePoint” a bad word among users
      • Do follow the six best practices explained in this solution.
      • Don’t stop training when the classroom door closes, send out tips and tricks , create a FAQ area. Make it easy for users to find information and difficult for them to find something to complain about.
      • Don’t call it SharePoint !
        • Use generic solution names like: Corporate Intranet, Content Management.
        • Use specific solution names like: Employee Management System, Conference Resource Booking System, etc.
      • Do engage and build a team with appropriate members (and don’t forget the business champion!).
      • Don’t be afraid to venture deeper below the surface, include custom development solutions (integrate legacy systems and give them the facelift they need).
      To promote better utilization and get your money’s worth out of the SharePoint investment, follow this advice: SharePoint 2010 is a complicated and complex piece of software that has immense capabilities built in or that can be built upon . The problem, as we have described in this solution set, is that many organizations are not following the best practices required to deliver successful solutions that meet or exceed the business or end-user requirements. 72% of organizations that do not follow best practices are significantly underutilizing SharePoint, according to an Info-Tech survey.
    • Implementing the keys to successful SharePoint projects means following the correct path Along the path to success, there can be many turning points with some leading to inevitable failure. By following the advice laid out in this section, you can be certain of one thing: success or failure, it is all in your hands. Recapping the advice, now the actions are yours: (in no particular order)
      • Make sure you have a business champion . ( Someone on the executive that supports your objectives.)
      • Follow the six best practices – including hiring and training the right staff ( Note: 67% of respondents to the survey that were not following these best practices took longer to develop their solutions).
      • Make sure the budget is realistic and includes the ongoing cost (time) for training users ( Don’t underestimate budget needs or you will ultimately undermine the effectiveness of SharePoint).
      • Build a productive team, and look to the individual’s skills to determine where roles may overlap.
      • Set priorities for the SharePoint team based on real documented business needs and processes.
      • Create a positive, empowered, and balanced environment for your team to work in and one that users will accept. Send them all Back to School !
      • Always run all SharePoint projects according to standard SDLC phases (specifically and most importantly including planning ) and stop calling every project “ SharePoint. ”
      • Use Agile project methodologies that can facilitate smaller releases on a quicker iterative timescale. This creates a situation that has far lower risk and gives the project the quick wins necessary for acceptance by the user community.
    • What Your Developers Need to Know Implement the Keys to Success Summary Know the Capabilities and Limitations 4 2 4 SharePoint 2010: Recapping the road to success
        • SharePoint Development Strategy Roadmap
      Next Section in Brief
      • Reviewing the advice.
      • Last thoughts.
    • SharePoint 2010: Reviewing the advice SharePoint 2010 is easily 60-70% more complex than any previous version. That complexity has two sides. One is success, the other is failure. Greater Flexibility & Functionality Greater Difficulty & Problems Whether you see more of one or the other will depend on how well you follow the advice Recapping the advice:
      • You do not require developers to be successful at customizing SharePoint, however there are limitations to how much can be done, and how it must be done. Build an appropriate team geared for success.
      • Working without developers can lead to inconsistencies in your user experience.
      • Developers can integrate virtually any system from any data source and create a system without browser or hardware limitations.
      • Knowledge (through experience and education) of SharePoint is beneficial to guaranteeing successful implementations. That knowledge must not be limited to specific resources, but rather include all users.
      • Visual Studio 2010 provides an integration with SharePoint for your developers that is invaluable when creating packages and deploying solutions.
      • SharePoint Client & Server API is extremely powerful and provides methods and constructs for your developers to build robust, scalable, performance and business efficient solutions.
      • Always follow best practices, ensure you have a business champion, and follow SDLC standards.
    • SharePoint 2010 – Last thoughts: from one Development Manager to another
      • As a manager of the SharePoint team, they will look to you for guidance, direction, and knowledge.
      • As a manager of developers, you may not be expected to actually “do” the development, but you will be expected to know what needs to be done, and what direction to take the development.
      • Managing technical professionals is not like managing non-technical staff, they will demand knowledge from you. If you want their respect (and you do) you must be able to converse in their language.
      • Your developers will already know how to code with .Net (C#, VB.Net, etc.) They will have methods and tactics which they will employ to create solutions. If they are not aware of the “ SharePoint way ” they may build a technically correct solution, but one that is completely wrong for SharePoint.
      The advice here is provided as a means to explain why you, as a development manager, need to know all the information relayed in this solution. It will be your job to provide direction and guidance to your team. Understanding the human side of technical (specifically developers) staff will benefit you as their manager. It will help shape the direction you provide, and how you provide it. Info-Tech Insight:
    • SharePoint 2010 – Last thoughts: before you can lead you have to know where you’re going Info-Tech Research Group A team is only as good as its weakest link. A team with solid leadership can produce some amazing results. However, if the leader doesn’t know the game-plan or hasn’t read the play-book, the team will be doomed from the start.
      • Business leaders will expect that you know the technology. If you do not, then ask yourself what value you bring to the table. You know they will!
      • SharePoint 2010 already has more books published about it, than all previous versions of SharePoint combined, and it hasn’t even been fully released for a year yet. Take the time to know and understand what you and your company have jumped into… read, study, and reflect on where you and your team can take your organization through the use of SharePoint 2010.
      • Your business leaders will have been sold on the marketing associated with SharePoint. It will be tough to live up to that, so make sure you structure your projects using Agile methodologies to achieve the quick wins you’ll need.
      • Finally, stop calling every project you do “ SharePoint. ” SharePoint is now your platform for change, for solutions that fit your business, your clients, and your users.
    • SharePoint 2010: Development Info-Tech Research Group Appendix A Associated Tools
      • Tools
        • SharePoint Development Readiness Assessment Tool
        • SharePoint Development TCO Tool
      • Job Descriptions
        • SharePoint Business Analyst
        • SharePoint Designer
        • SharePoint Developer
        • SharePoint Administrator
        • SharePoint Solutions Architect
    • SharePoint 2010: Development Info-Tech Research Group Appendix B Associated Research (referenced in this research)
          • Select the Right Collaboration Platform
          • Evaluate SharePoint for Enterprise Content Management
          • Develop & Improve the Software Testing Strategy
          • Consider BYOC as Part of Desktop-as-a-Service Strategy
    • SharePoint 2010: Development Info-Tech Research Group Appendix C Associated Case Studies (referenced in this research)
          • City of Windsor : Many of the small features you will need can be found and purchased
          • Lake Simcoe Region Conservation Authority : Finding and using the embedded building blocks
          • City of Las Vegas : Investigating the Business Connectivity Service to connect to other systems
          • Calgary Public Library : Lack the expertise required to fully utilize SharePoint
          • Trident Microsystems, Inc .: In-House SharePoint expertise is driving success
          • AgreeYa Solutions, Inc .: Developers know .Net, they don’t know SharePoint
      Slide Page Number 10 20 30 38 48 53
    • Appendix D Statistical Demographics
    • Info-Tech Research Group
    • Info-Tech Research Group
    • Info-Tech Research Group
    • Info-Tech Research Group