manage share point development team

69
Manage a SharePoint Customization & Development Team What you need to know to be successful with your SharePoint projects

Upload: info-tech-research-group

Post on 08-May-2015

5.258 views

Category:

Technology


1 download

DESCRIPTION

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.”

TRANSCRIPT

Page 1: Manage share point development team

Manage a SharePoint Customization & Development Team

What you need to know to be successful with your SharePoint projects

Page 2: Manage share point development team

Introduction

Info-Tech Research Group 2

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.

Page 3: Manage share point development team

• 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.

Executive Summary

Info-Tech Research Group 3

SharePoint is an underutilized tool for many businesses that eitherdo not know how to capitalize on its functionality or have users that have

grown to dislike it due to poor practices.

• 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.

Page 4: Manage share point development team

What Your Developers

Need to Know

What Your Developers

Need to Know

Implement the Keys to Success

Implement the Keys to Success

SharePoint 2010: Leverage the capabilities and be aware of the limitations to navigate the road to success

SummarySummary

SharePoint Development Strategy Roadmap

Know the Capabilities

and Limitations

Know the Capabilities

and Limitations

4211

Next Section in BriefNext Section in Brief

• SharePoint capabilities: from the box to your users’ desktop.

• What can be done with developers.

• What can be done without developers.

Page 5: Manage share point development team

SharePoint, like an iceberg, only truly shows its magnificence when you go below the surface

Info-Tech Research Group 5

And like an iceberg, what we see above the surface can also be pretty spectacular!

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:

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.

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.

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.

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.

Page 6: Manage share point development team

Flexible right out of the box, SharePoint enables your end users to create highly functional and feature rich sites

Info-Tech Research Group 6

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 CharacteristicsSharePoint: Out-of-the-Box Strength

Extremely flexible for end users and administrators to build and release in an ad-hoc fashion, all site customizations.

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:

“In SharePoint 2007 it was very dangerous to have non-developers using SharePoint tools such as the Designer.” - Kelly Balthrop, Software Architect

Page 7: Manage share point development team

All of its features and capabilities!

Customizing without development can produce some very robust solutions, but take heed of what you are entering

into

Info-Tech Research Group 7

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.

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:

“I consider myself a guru with SharePoint 2007, but after almost 2 years working with 2010, I’m still learning more…”

-SharePoint Solution Architect

Page 8: Manage share point development team

SharePoint capabilities are constrained only by the technical skills of your people

Info-Tech Research Group 8

• 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

Business User/Analyst•Has business knowledge•Understands MS Office tools

SharePoint Designer•Some business awareness•Understands technology

SharePoint Designer•Some business awareness•Understands technology

Skilled Developer•Little business knowledge•Educated/trained in development

Skilled Developer•Little business knowledge•Educated/trained in development

Increasing Functionality/Complexity

Increasing Technical & SharePoint Skills

Required

Increasing Interconnectivity and

Sophistication

Page 9: Manage share point development team

Working from the tip of the iceberg down, most of the top features can be implemented without breaking the

surface

Info-Tech Research Group 9

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.

33

55

44

22

11

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:

Page 10: Manage share point development team

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

Case Study - City of Windsor: Many of the small features you will need can be found and purchased

Info-Tech Research Group 10

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:oSetting up the development environment, and providing best practices for promoting code to a live environment.oEnabling remote access to SharePoint (from home and smartphone).oContent management.•Plan to buy web parts/solutions when feasible, but want a development environment for any customizations.

Will buy parts as required…

Will buy parts as required…

Page 11: Manage share point development team

Working below the surface of SharePoint allows your developers to create solutions that are highly connected

and reusable

Info-Tech Research Group 11

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.

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:

What this means is that virtually anything the business team throws your way, you will know can be done.

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

Page 12: Manage share point development team

Working with developers on your team means boundless features and functionality can be achieved

Info-Tech Research Group 12

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:

Page 13: Manage share point development team

Only developers will have the ability to deploy directly to web servers, implementing global changes across sites

Info-Tech Research Group 13

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.

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:

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

Page 14: Manage share point development team

Developing for SharePoint 2010 is still challenging, but it is a world apart from previous versions

Info-Tech Research Group 14

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.

Source: Info-Tech Research GroupN = 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:

Page 15: Manage share point development team

Knowing the boundaries and what can be done is the first step to engaging in a full blown SharePoint project

15

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:

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.

Info-Tech Research Group

Page 16: Manage share point development team

What Your Developers

Need to Know

What Your Developers

Need to Know

Implement the Keys to

Success

Implement the Keys to

Success

SummarySummaryKnow the Capabilities

and Limitations

Know the Capabilities

and Limitations

42 22

SharePoint 2010: Guide the team towards success by knowing what is under the surface, and what can be done

with itSharePoint Development Strategy Roadmap

Next Section in BriefNext 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.

Page 17: Manage share point development team

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 17

SharePoint 2010 Technology Stack

SharePoint Foundation 2010 provides a consistent framework for lists and

libraries, site administration, and site customization.

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.

.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.

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.

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:

Page 18: Manage share point development team

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.

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.

Whether customizing the UI, or building collaboration solutions, most SharePoint projects will fall into 1 of 4

types

Info-Tech Research Group 18

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.

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.

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.

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.

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.

33

44

22

11

Page 19: Manage share point development team

Web parts are the basic building blocks for most of your SharePoint needs

Info-Tech Research Group 19

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.

Developer Created Web

Part

Web Part Pages

Reusable Repository

End-User Solution

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)

Developers will build them – business users & designers will use and consume

them

Page 20: Manage share point development team

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

Case Study - Lake Simcoe Region Conservation Authority:

Finding and using the embedded building blocks

Info-Tech Research Group 20

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… Building expertise…

Page 21: Manage share point development team

Tight integration with Visual Studio 2010 makes packaging & deployment challenges exponentially easier

Info-Tech Research Group 21

Packaging & Deployment with Visual Studio

Build the items, components, and features in Visual Studio

Package into solutions for deployment

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.

Visual Studio 2010 integration allows greater flexibility for developers when packaging and deploying solutions to

SharePoint 2010

Page 22: Manage share point development team

Planning, designing, and developing are great, but not worth a dime if your team has trouble with deployment

Info-Tech Research Group 22

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.

• 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)

Page 23: Manage share point development team

Deploying SharePoint 2010 as a “sandbox” solution is a powerful tool for developers & especially useful for testing

Info-Tech Research Group 23

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)

What you should knowabout 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:

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.

Page 24: Manage share point development team

Managers and developers must have a solid understanding of the SharePoint object hierarchy

Info-Tech Research Group 24

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.

Page 25: Manage share point development team

You will need to understand the basic naming conventions to help ensure developers are following standards

Info-Tech Research Group 25

When you review your team’s code, make sure that they follow standard naming conventions. It will lead to easier maintenance in the

future andless time spend debugging.

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:

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

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.

Page 26: Manage share point development team

Leverage knowledge of the SharePoint API to help developers improve application development &

performance

Info-Tech Research Group 26

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.

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:

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. Server API Client API

Silverlight Object Model

ECMAScript JavaScript,

JScript

.Net Managed

Object Model

REST BCSLINQ

Any Client ApplicationAny Client Application

External SystemsExternal Systems

Foundation Lists

Foundation Lists

Browser & Desktop

Browser & Desktop ASPXASPXWindows

ApplicationsWindows

Applications

This is the level we

build or use functionality

Page 27: Manage share point development team

Use LINQ to connect the shiny new SharePoint application to all those older data sources still hanging around the

business

Info-Tech Research Group 27

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.

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:

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.

LINQFoundation

ListsFoundation

Lists

LINQ -> Language-Integrated Query

LINQ -> Language-Integrated Query

Page 28: Manage share point development team

Even non-Windows applications can be integrated into SharePoint applications when developers use the right

tools

Info-Tech Research Group 28

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.

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:

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.

RESTAny Client ApplicationAny 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.

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.

Page 29: Manage share point development team

The business has invested heavily in its various systems, including SharePoint; bring those systems together

Info-Tech Research Group 29

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.

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:

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).

BCSExternal SystemsExternal 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.

Page 30: Manage share point development team

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

Case Study - City of Las Vegas: Investigating the Business Connectivity Service to connect to other

systems

Info-Tech Research Group 30

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… Connecting the systems…

Page 31: Manage share point development team

Have the dev team build rich Internet applications that rival the best AJAX or Silverlight apps, all inside

SharePoint

Info-Tech Research Group 31

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.

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:

.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.

ASPXASPX

Windows Applications

Windows Applications

Page 32: Manage share point development team

Browser wars won’t be an issue when developers build web parts using the Silverlight Client API

Info-Tech Research Group 32

Supporting Silverlight in multiple contexts allows the team to focus on the real important issues, like features and functionality – not the

browser.

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:

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

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.

Page 33: Manage share point development team

Having the knowledge to guide developers gives managers credibility & respect

Info-Tech Research Group 33

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.

Page 34: Manage share point development team

What Your Developers

Need to Know

What Your Developers

Need to Know

Implement the Keys to

Success

Implement the Keys to

Success

SummarySummaryKnow the Capabilities

and Limitations

Know the Capabilities

and Limitations

4 2 33

SharePoint 2010: Appropriately manage expectations on delivering success by following best practices

SharePoint Development Strategy Roadmap

Next Section in BriefNext Section in Brief

• Determine organizational readiness for SharePoint 2010.

• How to build an appropriate team.

• The six best practices that will lead to success.

Page 35: Manage share point development team

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.

Balance is defined as being centered; be centered with the SharePoint implementation for success

Info-Tech Research Group 35

Typical SharePoint Implementation Continuum(with environments worsening at opposite ends)

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:

Page 36: Manage share point development team

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.

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.

Knowing where the organization is and how it got there is critical to determining where to go next

Info-Tech Research Group 36

• 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.

• 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:

Page 37: Manage share point development team

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 37

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.

Page 38: Manage share point development team

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

Case Study - Calgary Public Library: Lacked the expertise required to fully utilize SharePoint

Info-Tech Research Group 38

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… Mixed Success…

Page 39: Manage share point development team

Building the team correctly, with defined responsibilities, is the first step towards successfully developing for

SharePoint

Info-Tech Research Group 39

• 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:

Page 40: Manage share point development team

Ensuring you have the right people on the jobis critical to success

Info-Tech Research Group 40

You likely won’t have a chance to hire these two, but you can still evaluate their readiness for your SharePoint team.

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:

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

Page 41: Manage share point development team

Understanding the business needs and facilitating their understanding of SharePoint are two sides of the same

coin

Info-Tech Research Group 41

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.

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:

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

Page 42: Manage share point development team

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 42

The skills and capabilities of these two roles are absolutely critical to thelevel of project success.

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:

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

Page 43: Manage share point development team

The final two on the team will address two critical functions: making SharePoint work & designing it to work

well

Info-Tech Research Group 43

The administrator will facilitate all aspects of keeping SharePoint running, while the architect will lay out the structure for it to work well.

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:

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

Page 44: Manage share point development team

Building the team from scratch means knowing roughly what it’s going to cost

Info-Tech Research Group 44

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.

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:

Source: Figures represented in USD

Monster/Salary.com(national averages)

core

core

core

Page 45: Manage share point development team

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 45

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 toget 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.

Page 46: Manage share point development team

Success will be fleeting unless you follow these six best practices

Info-Tech Research Group 46

Page 47: Manage share point development team

Choose best practices carefully to end projects with success

Info-Tech Research Group 47

Source: Info-Tech Research GroupN = 50

Hired Consultant28%

24%

SharePointEnd-User Training 17%

50%

SharePointDeveloper Training 17%

40%

Experienced Team16%

36%

DocumentingBusiness Processes 14%

36%

Running Pilots and/or Beta Testing 8%

42%

No

Yes– We follow this as best practice

- We do not follow this as best practice

Impact of Individual Best Practices on Reducing Development

Challenges

% indicating reduced development challenges

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:

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.

Page 48: Manage share point development team

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

Case Study - Trident Microsystems, Inc: in-house SharePoint expertise is driving success

Info-Tech Research Group 48

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…Building experience…

Page 49: Manage share point development team

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 49

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:

Source: Info-Tech Research GroupN = 52

Page 50: Manage share point development team

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

50

Source: Info-Tech Research GroupN = 123

While all of the best practices had an effect, it is

clear where you need to focus your attention.

Documenting, Trying, and Training

Page 51: Manage share point development team

Following best practice is all well and good, but hitting your targets is the real business goal – on time & on

budget!

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!

Source: Info-Tech Research GroupN = 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

Page 52: Manage share point development team

You can either fumble around in the dark, or you canturn 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:

Page 53: Manage share point development team

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

Case Study - AgreeYa Solutions, Inc: developers know .Net, but they don’t know SharePoint

Info-Tech Research Group 53

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…Building intelligence…

Page 54: Manage share point development team

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:

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)

PilothouseOffers courses for Developers, Administrators, and Dev ManagersOffers 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 USDAvg cost per participant ranges from $2645 - $3155 USDAvg 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

Page 55: Manage share point development team

Source: www.office.microsoft.com

55Info-Tech Research Group

Course TopicDocument 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 IIRequirements, recommendations and permissions

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

Visit Microsoft for a complete list of courses

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:

Page 56: Manage share point development team

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).

72% of organizations that do not follow best practices are significantly underutilizing SharePoint, according to an Info-Tech

survey.

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.

Page 57: Manage share point development team

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.

Page 58: Manage share point development team

What Your Developers

Need to Know

What Your Developers

Need to Know

Implement the Keys to Success

Implement the Keys to Success

SummarySummaryKnow the Capabilities

and Limitations

Know the Capabilities

and Limitations

42 44

SharePoint 2010: Recapping the road to success

SharePoint Development Strategy Roadmap

Next Section in BriefNext Section in Brief

• Reviewing the advice.

• Last thoughts.

Page 59: Manage share point development team

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.

• 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.

Greater Flexibility & Functionality

Greater Flexibility & Functionality

Greater Difficulty & Problems

Greater Difficulty & Problems

Whether you see more of one or the other will

depend on how well you follow the adviceRecapping the advice:

Page 60: Manage share point development team

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:

Page 61: Manage share point development team

SharePoint 2010 – Last thoughts: before you can lead you have to know where you’re going

Info-Tech Research Group 61

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.

Page 62: Manage share point development team

SharePoint 2010: Development

Info-Tech Research Group 62

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

Page 63: Manage share point development team

SharePoint 2010: Development

Info-Tech Research Group 63

Appendix B

Associated Research(referenced in this research)

1. Select the Right Collaboration Platform

2. Evaluate SharePoint for Enterprise Content Management

3. Develop & Improve the Software Testing Strategy

4. Consider BYOC as Part of Desktop-as-a-Service Strategy

Page 64: Manage share point development team

SharePoint 2010: Development

Info-Tech Research Group 64

Appendix C

Associated Case Studies(referenced in this research)

1. City of Windsor: Many of the small features you will need can be found and purchased

2. Lake Simcoe Region Conservation Authority: Finding and using the embedded building blocks

3. City of Las Vegas: Investigating the Business Connectivity Service to connect to other systems

4. Calgary Public Library: Lack the expertise required to fully utilize SharePoint

5. Trident Microsystems, Inc.: In-House SharePoint expertise is driving success

6. AgreeYa Solutions, Inc.: Developers know .Net, they don’t know SharePoint

Slide Page Number

10

20

30

38

48

53

Page 65: Manage share point development team

Appendix D

Statistical Demographics

Page 66: Manage share point development team

Info-Tech Research Group 66

Page 67: Manage share point development team

Info-Tech Research Group 67

Page 68: Manage share point development team

Info-Tech Research Group 68

Page 69: Manage share point development team

Info-Tech Research Group 69