说实话, 做SharePoint项目或者任何信息化项目并不是个容易的事情, 但成功的IT项目对于一个企业来说也许意味着很多, 从我的观察来看, 大部分的成功的信息化项目给企业所带来的回报都远远超过其所花的成本, 而很多回报都是隐形的, 所以, 困难不是项目失败的接口, 我们更应该做好.

另外SharePoint项目当然也是IT信息化项目, 所以, 大部分信息化项目失败的原因当然对SharePoint项目有同样的借鉴意义.

下面是我经验上和观察上的SharePoint项目失败原因:

  • 没有定义成功

一个项目之所以成功, 是因为有了衡量成功的指标, 比如上了一个项目, 目标到底是降低成本, 降低多少, 还是提高收益, 提高多少? 不定义衡量成功的指标, 一句话, 你永远都不知道成功. 而定义项目成功指标的简单原则就是SMART,有兴趣的朋友可以自行GOOGLE, 在此不再赘述.

  • 公司政治

此为制约大部分项目(不仅仅是IT项目)的重大失败原因, 不赘述.

  • 不知道SharePoint是什么

有个玩笑是这样的, 有个SharePoint顾问向一个客户解释自己的职业, 当然, 他的解释很精彩, 从门户到文档管理到搜索到商业智能等等, 最后, 客户说, 嗯, 知道了, 你就是个做网站的.(嗯, 也许这是很多资深SharePoint顾问沦为美工的真正原因J )

说实话, 的确很难定义SharePoint是个什么样的产品,它包含很多个模块,一个相对比较正确的定义是”面向企业的协作平台, 包括门户,社区,内容管理和搜索等模块”, 这里面包含两层含义:

1)       SharePoint是个平台, 这个意味着,利用SharePoint构建大部分协同应用是容易的, 但它的大部分功能并不是面向最终的业务用户的, 大部分不经过定制和调整的功能, 是无法直接面向用户的,一句话, 原生的SharePoint的目标客户是IT人员, 而不是最终用户;

2)       SharePoint本身也包括很多的模块,包括搜索,文档管理和调查等等, 有一些模块也是开箱即用的, 在进行定制的时候要充分考虑这些模块的可用性,没必要重新发明轮子,而SharePoint也留有足够的空间来进行扩展.

在对SharePoint进行定制的时候, 要充分考虑利用其自身的特点, 而不是两眼一抹黑的拿起开发工具, 一通乱来, 殊不知, 这样的结果往往要么是重复发明轮子,要么就是还不如用ASP.net开发工具呢. 要知道, 实现一个功能也许并不难, 但和平台融入才能发挥这个平台的最大作用.

在SharePoint推广过程中, 由于涉及到对SharePoint的扩展, SharePoint很可能需要和其他的产品来进行对接, 这时候, 对相关的如Windows Ad, RMS, Exchange, Project Server等产品的了解也是必须的.(别忘了, MS是个商业公司, 人家要靠卖Licence活着的)

SharePoint 项目的死法(二)的更多相关文章

  1. SharePoint 项目的死法(三)

    拙劣的供应商(团队) 坦率来说, 说这个原因需要一点勇气, 但在我从业的经历中, 充斥这大量的这样的案例, 没有什么实施经验的团队, 对产品几乎没什么了解的供应商, 三脚猫的开发人员,之前只会做做微软 ...

  2. SharePoint 项目的死法(一)

    SharePoint是Microsoft的一个巨NB的产品, 从可查到的数据来看, 财富500强中已经有超过80%的企业已经使用了SharePoint的不同版本,从项目实施的经验来看, 个人感觉这个数 ...

  3. 社交APP经典死法18种,听野路子产品菜狗怎么说

    点这里 社交APP经典死法18种,听野路子产品菜狗怎么说 时间 2015-04-06 11:24:53  虎嗅网相似文章 (4)原文  http://www.huxiu.com/article/112 ...

  4. 你做电商死法TOP10:你中了几枪?

    有相关报道说淘宝目前只有3%的店铺能够盈利,其余97%的店铺基本上都成了炮灰.这是一个非常可怕的数字,都说不赚钱的电商是犯罪,那么,是什么原因导致了会有如此庞大的电商群体一如既往的走在这千军万马的不归 ...

  5. Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目

    默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...

  6. vue项目使用qrcodejs2生成二维码

    最近写项目遇到一个需求,根据后台给的地址生成二维码,在网上找了下,qrcodejs2使用还是比较多,试了下也能实现需求,就整理下使用方法,方便以后使用   1. 安装包 cnpm i qrcodejs ...

  7. 如何在 NET 程序万种死法中有效的生成 Dump (上)

    一:背景 相信很多人都知道通过 任务管理器 抓取dump,虽然简单粗暴,但无法满足程序的无数种死法,比如: 内存膨胀,程序爆炸 CPU爆高,程序累死 应用无响应,用户气死 意外退出,和人生一样 既然手 ...

  8. Laravel大型项目系列教程(二)之用户管理

    Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:v ...

  9. Redis缓存项目应用架构设计二

    一.概述 由于架构设计一里面如果多平台公用相同Key的缓存更改配置后需要多平台上传最新的缓存配置文件来更新,比较麻烦,更新了架构设计二实现了缓存配置的集中管理,不过这样有有了过于中心化的问题,后续在看 ...

随机推荐

  1. React鼠标事件

    说明:假设有一个用户名片,当鼠标滑到上面,显示用户详细信息,且用户详情卡片位置随鼠标位置改变而改变. UI框架:Material-ui 实现思路: 1.一个用户简介组件A(用于展示用户列表): 2.一 ...

  2. Java多线程之ThreadLocal总结2

    ThreadLocal是什么 早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地 ...

  3. NOIP2017 心路历程

    虽然没能去考试,但是在学弟们考试前后也发生了很多事情. 周四晚上.学弟们出发前最后一天.单独找几个人谈了谈.面对退役他们还是有点慌啊.这个时候给他们调整心态或许有点迟了. 21:45.最后一分钟.为他 ...

  4. MT【163】运动是相对的

    如图,在平面直角坐标系中,$P(6,8)$,四边形$ABCD$为矩形,$AB=16$,$AD=9$,点$A,B$分别在射线$OP$和$Ox$上,求$OD$的最大值_______            ...

  5. C++11并发编程个人小结

    thread_local变量在每个线程第一次执行到时初始化(类似static),并在每个线程各自累加,并在线程结束时释放. std::condition_variable:: wait(std::un ...

  6. 【刷题】BZOJ 2154 Crash的数字表格

    Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如 ...

  7. hdu2138 Miller_Rabin

    Description   Give you a lot of positive integers, just to find out how many prime numbers there are ...

  8. BZOJ 3527 力 | FFT

    BZOJ 3527 力 | 分治 题意 给出数组q,$E_i = \sum_{i < j} \frac{q_i}{(i - j) ^ 2} - \sum_{i > j} \frac{q_i ...

  9. 单点登录(十五)-----实战-----cas4.2.x登录mongodb验证方式实现自定义加密

    我们在前一篇文章中实现了cas4.2.x登录使用mongodb验证方式. 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程 也学习参考了cas5.0.x版 ...

  10. 前端学习 -- Css -- 属性选择器

    属性选择器:根据元素的属性选择指定元素 语法:[属性名] 选取含有指定属性的元素 [属性名="属性值"]:选取属性值等于指定值的元素 [属性名^="属性值"]: ...