When to Develop on a Platform (IndyTechFest 2008)


Published on

I presented this at IndyTechFest two years ago. Found it in my archives while preparing for DevLINK 2010. I changed some of it to make it applicable to SharePoint 2010, but much of it remains as it was in 2008. It's a little corny at places, but there is useful info in it as well. Enjoy!

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • It’s a trapMost people write code because it is easier to write your own than it is to follow someone else’sYou will price yourself out of a jobTrust others
  • In the beginning there was custom code. Every new project started out the same way.I am a firm believer in frameworksPlatform is a framework on steroids….we’ll talk about the Much Other Stuff
  • This is the guy at Microsoft they told to come up with a one sentence summary of SharePoint for the product page.Trying to define SharePoint in a simple sentence is all but impossible….completely impossible if you want to do it justice.An integrated, information management platform.So if you talk to other people about how they’re using it, you get even more confused. Some are using it to replace Lotus Notes or IBM Workplace. Others are replacing Documentum or ECM LiveLink or Interwoven. Some are using it in place of Google’s enterprise search. I would personally describe is a platform with some built-in collaboration features. If you don’t include the word platform in the definition, then you’re missing a big part of the picture.CMSWatch.com’s SharePoint Report said “SharePoint is truly a collection of individual components that interact together to varying degrees, but require extra work to weld into a cohesive package.”
  • If it is just a 5-page brochure site with static text, SharePoint may not be for you.If it is simply a CMS solution for a public-facing web site, DNN may be a better toolSharepoint scalesSome people adopt it just because of the authentication integration with AD and security trimmingSome got it in the door through a requirement for a blogOthers just needed a simple workflow application over documents in a library
  • Compare to facebook apps, iGoogle gadgets, Vista gadgets
  • Key factor in user adoption and acceptance!
  • One partner said if his client won’t use SharePoint for a web project, he walks away…..that’s hard coreSame vocabulary
  • Collaboration – Blogs, wikis, discussions, check-in/check-out
  • Centralized knowledge managementTargetable to all levels of your organization
  • EAI - Popular at the turn of the millennium, but on the decline with the advent of SOAData is shared between the disparate systems…sometimes creating redundancy and latency….multiple versions of the truth…Which system is the system of record?
  • With SharePoint you get a service-oriented architecture and connectors via the Business Data CatalogYou end up with a single version of the truth and one portal to go to for all of your data mining
  • DV web part – put a plug for Vanessa’s sessionInfopath – story of SSG
  • Compare to BlackBerry, Windows Mobile or iPhoneCompare to facebook or twitter
  • Stats above from Info-Tech.com survey of 258 companies who are already using sharepointFrom CMSWatch.com 2008 SharePoint ReportAt the Microsoft-sponsored SharePoint Conference 2008, Bill Gates shared that Microsoft hadlicensed more than 100 Million seats to the platform and generated more than $US 1 Billionfrom that. To be sure, many of those seats fall under enterprise license agreements and may notreflect actual usage, but even if a fraction of those users actually logs into SharePoint each day,clearly it makes for the most significant – and fastest growing – information platform on themarket today.
  • Before frameworks and platforms, there was custom code. Every new project started out the same way.
  • When to Develop on a Platform (IndyTechFest 2008)

    1. 1. SharePoint: When to Develop on a Platform<br />Rob Wilson, MCTS SharePoint & Project 2007<br />rwilson@kellerschroeder.com<br />http://sharepointblog.kellerschroeder.com<br />twitter.com/theRobManDotNet<br />
    2. 2. Agenda<br />Evolution of a platform<br />The SharePoint Proposition<br />When to develop on SharePoint<br />
    3. 3. Ode to Young Coder<br />There once was an eager lad coder<br />A small planet perched on his shoulders<br />No build versus buy<br />It was build every time<br />A practice that left a foul odor<br /><-Young developer<br /><-Big Head<br /><-Only his code would do<br /><-That really stunk!<br />
    4. 4. Those Were the Days<br />Watch me code!<br />
    5. 5. How They Stack Up<br />Platform<br />Business Apps<br />Much Other Stuff<br />RAD<br />Custom Code<br />MVC Framework<br />SEO Friendly<br />Business Apps<br />Business Apps<br />Standards-Based<br />Search<br />RAD<br />Separation of Roles<br />Error Handling<br />SEO Friendly<br />Uniformity<br />Standards-Based<br />Search<br />Content Management<br />Separation of Roles<br />Administration Area<br />Content Management<br />Administration Area<br />Uniformity <br />Error Handling<br />Error Handling<br />Menus<br />Menus<br />Menus (Menu Control)<br />Authorization<br />Authorization<br />Authorization<br />Authentication<br />Authentication<br />Authentication<br />
    6. 6. Toughest Jobs<br />Defining SharePoint in a single sentence<br />Comparing SharePoint tocompetitive platforms<br />
    7. 7. When the requirements call for it<br />Not a brochure site<br />Authentication and search required<br />Does not have to be a large-scale project<br />
    8. 8. When you need self-service<br />Web Parts (re-usability)<br />Alerts<br />RSS<br />Recycle Bin<br />My Site<br />Connecting with peers<br />Publishing<br />
    9. 9. When you need personalization<br />From a webmaster’s perspective<br />Targeted content<br />From a visitor’s perspective<br />Ability to customize look and feel<br />
    10. 10. When you need workflow<br />Based on Workflow Foundation<br />Additional features<br />SharePoint front-end<br />Document libraries and task lists<br />Workflow history lists<br />
    11. 11. When you want flexible development options<br />Web Parts<br />Object model<br />Web services<br />Separation of development roles<br />GUI expert, workflow developer, reports and queries, event handlers<br />Varying levels of experience on a project team<br />
    12. 12. When you want to focus on the business requirements instead of the framework<br />Do not worry about how someone will find your application or how it integrates with the security model<br />Eliminate the headache of external content repositories<br />
    13. 13. When you want consistency in your organization or client-base<br />Common user interface<br />Vocabulary<br />Standardized code base<br />
    14. 14. When you want to take advantage of the inherent features of that platform<br />Collaboration<br />Portal<br />Content Management<br />Search<br />Business Intelligence<br />Forms and Business Processes<br />
    15. 15. When you want to offset the cost of development<br />More time spent in the planning and design stages should surface more out-of-the-box features [that should save time later]<br />Out-of-the-box features should reduce the cost of custom software development<br />Developer focus should shift immediately to the business needs and extending the out-of-the-box features<br />
    16. 16. When you need SOA<br />Web services expose SharePoint content<br />SharePoint as a SOA consumer provides the user interface via XML and page viewer web parts – IntranetJournal.com, March 2006, Rob Bogue<br />
    17. 17. When you need composite applications<br />Dashboards, Mash-ups<br />Business Data Catalog<br />All levels of your organization<br />
    18. 18. When you need composite applications<br />ERP<br />Before SharePoint<br />CRM<br />Legacy Systems<br />Middleware<br />
    19. 19. When you need composite applications<br />ERP<br />SharePoint<br />CRM<br />Legacy Systems<br />
    20. 20. When you need Single Sign On<br />Multiple built-in authentication options<br />Support for third-party authentication providers<br />Built-in SSO provider<br />Manages credentials for other apps on your intranet<br />
    21. 21. When you need off-line support of your data<br />Office Integration<br />Importing/exporting lists from/to excel<br />Linked tables with Access<br />Calendar/Task List integration with Outlook<br />Groove/SharePoint Workspace<br />
    22. 22. When you need auditing and retention policies<br />Log just the events you need for what lists are of interest to you<br />Develop auditing reports using SSRS<br />Develop/customize workflows for content retention and disposal<br />
    23. 23. When you need to equip your power users<br />SharePoint Designer<br />Custom queries with Data View Web Part<br />Simple workflows<br />InfoPath<br />Simple forms – really! <br />
    24. 24. When your culture allows for it<br />User acceptance is key<br />Large implementations are going to take a team of both IT and line of business users<br />May require a paradigm shift<br />Small, quick wins where possible<br />
    25. 25. When a development community is important to you<br />Blogs and forums<br />Community video tutorials<br />User Groups<br />CodePlex<br />Commercial/Open Source Features and Web Parts<br />
    26. 26. When you are ready to stop dating around and marry the right platform<br />Up to 92% satisfaction rating in the categories of functionality, end user experience, total cost of ownership and end user acceptance<br />Up to 59% of all companies are projected to have SharePoint or an equivalent platform by the end of this year and that number is projected to increase 19% between 2009 and 2011<br />
    27. 27. When you want to build your resume<br />Dice.com: 2,800 jobs (JUL 2010)<br />Monster.com: 1,000+ jobs (JUL 2010)<br />HotJobs.com: ~500 jobs (JUL 2010)<br />
    28. 28. Alternatives<br />Free Bulletin<br />Board<br />Free Blog Host<br />JavaScript Menu Builder<br />Embedded Google Calendar<br />Spam-friendly form submission scripts<br />Coffee Cup Editor for CMS<br />
    29. 29. Ode to Wise Coder<br />There once was an eager lad coder<br />Who grew wiser as he grew older<br />The greyer his hair<br />The more he did Share<br />And now this presentation is over<br />