项目管理者联盟 | 中国工程管理网 | 中国研发管理网   会员中心 资料库 论坛 博客

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

圈子
志同道合,朋友再聚首
项目管理者联盟PMP培训
会员· 圈友
登录ID
密   码
 
圈子信息
圈名:IT项目经理
加入方式: 允许任何人加入

IT项目经理

分享IT项目管理的体系框架和最佳实践
探头IT项目经理的职业发展和能力提升
结交和融入IT业界,成为圈内人士
定期发起组织沙龙研讨

圈主:zhenjm    管理员:暂无管理员   
成员数:141
主题数:108
排名33
通讯录
圈友列表
加入本圈
管理本圈
 
话题区 投票区 资料区 精华区
标题:软件外包中常见的七个错误
楼主

嗨呦
PMB:4928
省份:北京
行业:综合应用
注册:2008/2/22
  
  
软件外包中常见的七个错误 - 引子
本系列文章总结了软件外包项目中常见的七个错误。在软件外包的推广、实施、交付过程中,经常会遇到各种不同的问题,如果处理不好,轻则造成软件交付延迟,重则造成软件项目失败。

软件外包中常见的七个错误之一 - 不懂用户需求

这是一个致命的错误!一些人对软件项目采取一种“如果你建他们就会来”的策略。那样的项目是彻底的失败,因为它们不能满足用户的需求。
为了避免这种错误,你需要花费一些心思了解那些将会使用你的软件的人。这是确保你清楚地知道你的程序应该做什么的唯一途径。
如果这是显而易见的,继续读下去;大多数人没有足够重视这一点。
了解你的用户给予你关键的点子以使你的程序超出他们的预期。你需要知道:
用户期望软件为他们做什么
他们希望输入什么
他们期望什么的输出
他们将对输出做什么
用户怎样与程序进行交互
程序怎样与现实世界相适应
你必须比大多数用户更好地理解你正在解决的问题。你通过与许多使用者交谈来做到这一点。

好了,让我们来看看当你与10位用户进行交流时事情通常是什么样的。通常会出现以下几种情形:
10位用户中差不多3位完全是在浪费时间。他们并没有真正思考周围的环境,或是他们不想与你分享他们的想法
。一旦你确定某人正是这类人,礼貌但快速地结束谈话。
10位中有4位会提供给你很好的信息,那些你需要知道的东西。在一些问题上,一些人会有一些细微的差别。大多数人告诉你的与其他人相同。这类人为你的程序应该包括的基本功能特性提供了坚实的基础。
剩下的3个人会带给你灵感,或者在你从其他7个人所学到的基础上激发一些很棒的想法。这就像捡到金子一样!

试想一下,其他7个人(也就是用户群的70%)会怎么想,当你创造的程序突破性地超出了他们的预期。

现在有一条通向成功的路了!

提醒一句,当你与用户交谈时,有时你的情绪会有点过火。有些人真的让你拿他没办法。
别往心里去,记笔记吧!
当在讨论中陷入这种情况,你已经找到一个帮他们解决重大问题的机会了。

我知道的一个人,我们经常叫他Pete,他拒绝与那些说“Joe知道什么啊?他只是个搞航运的。”之类话的用户交谈。

严重错误!
Joe知道任务完成的期限,这是电脑应该为他做的。
Joe知道那些未完成的工作(或者那些完成得很差的工作),因为它们让人头疼。
Joe知道发货的最有效率的步骤。
Joe知道那些不涉足航运业的人所不知道的许多东西。

现在,Joe可能无法出来将上面几点都解释清楚,但我保证你在一杯咖啡的时间里可以了解个大概了。以一种有用的形式把你所了解到的组织起来是很容易的。
即使你没从Joe那里学到任何东西,至少在这个项目上他会买你的帐。这很重要,因为将你的程序付诸实施你需要合作。记住,许多人惧怕电脑并且拒绝改变,你可能需要帮他们转变这种想法。

另一个我听过的不和用户交流的借口是“我没有时间。”
对此我想说的是,如果你没有时间和用户交谈,那你哪有时间大干一番呢?省下一些时间、金钱,还有忧伤,第一时间和你的用户谈谈。

根本所在:让你的用户成为最重要的特性。如果你不想要某个特性了,并且它不是业务所必需的,别在上面
浪费时间了,不管别人认为它是一个多么好的想法。

这就是我这次所要说的,与你的用户交谈去吧!
下次我们将说说2号错误;这是一个使许多新手陷入大麻烦的错误。

软件外包中常见的七个错误之二 - 不合理的预期

这是刚接触软件项目的人最常犯的错误。不合理的预期导致失望和失败。
那么,什么样的预期是不合理的呢?

很多人想仅仅写下一些关于他们希望程序做什么的一般想法,在自由职业者拍卖网站上张贴出来招标,挑选一个程序员然后就坐下来等待完成的产品。
不幸的是,事情并不这么简单。你需要花时间和精力去计划,管理,并测试你的软件,以便得到你真正想要的。
雇用一个自由职业程序员不像从船上发射一枚巡航导弹攻击陆地上的目标那样是一项所谓“开弓没有回头箭”的技术。它更像一辆作战坦克,需要开到战场上去,合理地就位,瞄准敌人并在准确的时机开火。为了取得成功,你必须参与这个过程。

一些人仔细地计划他们的项目然后期待所有事都像他们计划的那样进展。
如果是这样就好了!
意外是软件项目的本性。
一些特性最后发现是不切实际的;一些看起来很容易的特性永远无法实现;一些看起来很难的特性结果根本不成问题(只是别保证一定可以)。
你必须有准备,有决心,并且灵活地完成一个相当大的软件开发项目。

一些人想在他们第一个项目上就石破天惊。
不大可能!
你应该从细微、容易管理的地方着手。软件项目规模大了就越发困难,所以还是从一些简单、花费少的地方获取一些经验。
要想学会怎么管理一个软件项目,从一个大项目开始是很痛苦的。
你可能至少有一个小项目你要去完成;也许想为你的网站改头换面,或者一个从你的网站数据库生成报告的PHP脚本。
即使你正考虑自己做这个项目,外包是一个不错的备选方案。这允许你去了解一个你很了解的项目的关键东西。这也让你有时间去完成更重要或更有利可图的任务(特别是当这个项目还没完成)。

有些人期望一个程序员就做出像他们的文本处理器一样功能强大的软件,付给他们同样的价格,如果他们从印度找到一个程序员,价格或许更低。
那种文本处理器可是由一个大公司开发的,它有一个超过百名程序员的团队来创造和维护这些功能特性。他们已经在同一个项目上工作了很多年了。
显然,一个自由职业程序员不可能编出一大帮程序员才能编出的代码。
文本处理器的价格之所以低是因为开发它们的公司数以百万计的出售它们(嗯,不错的公司,是吗?)
对于你想要的特定软件,市场是很有限的。或许你是唯一想买它的人,所以应该全部由你买单。

一个自由职业程序员可以做得非常好的是写一个用户申请,为你解决特定问题。大软件公司无法做到这一点,因为它们不能大量销售你的用户项目。

这就是我要说的,下次我们将看看3号错误,一个让有经验的人比新手还差劲的错误。

软件外包中常见的七个错误之三 - 低估了项目的大小

几个月前,Paul打电话告诉我他正尝试外包软件开发。他想从我这里获得一点建议,但这是很典型的。
结果,paul和他雇用的程序员都发现他们有点低估项目的大小了。
Paul真是既兴奋又着急。他猜想这个程序员正焦头烂额但还必须交付任务。毕竟,程序员们都努力在他们获得工作的自由职业网站上建立良好的声誉。
Paul也很着急,但在这种情况下他又不能插手。他猜想一定有些负面的东西,但不知道具体是什么。
Paul是对的,这对他或程序言都不是个好兆头。
对于这种情况,这里有一些可能的结果:
1)这个自由职业程序员坚持把工作完成。如果是这样而你不给他奖金,你就将成为一个声名狼藉的购买者。
2)这个自由职业程序员匆忙完成并转到另一个项目。只要每个人都同意采取什么样的捷径,这是可以的。如果这个捷径是程序员随机挑选的,事情可能会很糟糕。
3)买者和自由职业程序员对项目进行协商并对价格/功能特性达成一致意见。只有当你和这个程序员之间合作很愉快并且项目已经进行得很远时你可能猜想这么做。
4)当项目无望完成时,自由职业程序员可能直接放弃。在这种情况下,你只好重新再来。

你需要学会估计软件项目的大小。学会这种技能需要时间和经验,但如果你打算做若干个项目这是值得的。你不必把估计的时间具体到天,只是大概地估计一下一件事情需要花多长时间就很不错了。
在开始的一两次里,任何好的自由交易网站都会帮你做到这一点。只要联系网站的维护者并把项目描述发给他们。他们能告诉你这个项目大概得花多少钱。
尤其是那些要求你根据项目花费把项目归到小、中、大类别里那些网站,它们都能做到这一点。

那么Paul到底是怎样陷入上面这种情形的?
他选择了一个经验不足的程序员的最低出价。
Paul是怎么解决这种问题的呢?
结果很复杂。Paul强迫程序员完成项目。即使支付了程序员一小笔奖金,他仍然省下了一些钱。但程序没能满足期望的要求。
这还是说明了一点,付出多少就收获多少。
总的说来,如果Paul恰当地估计了这项工作,多付点钱,结果会比这个好。如果是这样,他会从程序员那里得到他想要的,而不是他能得到的。

这就是我要说的,下一次我们来看看4号错误,对任何对他们的新软件项目兴奋不已的人,这都是一个陷阱。

软件外包中常见的七个错误之四 - 与开发者没有共同观点

你有没有参加过一个已经开始但仍处于早期阶段工作的项目?对任何项目而言,这都可能是一个茫然的时期,尤其是对一个软件项目。
这很像警察来到交通事故现场时。一件事情,五个目击者,三个版本的故事。
不幸的是,很多时候,一个软件项目的早期阶段就像这样。
刚接触软件开发的人经常惊讶于雇用的开发者们从一个文件得出如此之多不同的解释。对一段话甚至一个句子也是如此。
让我们看看我们可以做些什么以防止我们的项目看起来就像那种事故现场。
当雇用一个自由职业开发者,大多数人回答开发者关于项目的问题并且认为如果他没有对项目的特定部分提出哪怕一个问题,那么万事OK;可以开始编码了!
但愿如此!
他们忽略了什么呢?他们忽略了所有的假设:
写项目描述时所作的假设
阅读描述时开发者所作的假设
人的本性使得我们很容易掉进这个陷阱。不然为什么你写下所有东西,从头到尾仔细地检查,你可能还要找个人帮你再检查一遍。
问题是我们倾向于从我们自己的视角写东西,甚至没有认识到我们所作的假设。帮你检查工作的人可能与你有相似的看法,所以并不像你期望的那样有帮助。
注意,你对自己的业务了如指掌,但你的软件开发者可能对此一无所知。
想想你每天在自动驾驶仪里所做的所有事情。向一个刚涉足这个领域的新手解释这些事情,你要花多久?第一次你会忘掉多少应该提到的注意细节?
好了,那么怎样解决或规避这些问题?
你的项目描述必须简明扼要。保持简洁、集中。言辞过多只会使得更容易出项不同的解释。
对于项目最重要的部分,向开发者问一些盘根究底的问题。这样你就可能发现你和开发者所作的一些假设。
尽可能早的从开发者那里获得一些有趣或有用的工作成果。

回复 | 引用 发表时间:2008/12/10 14:30:29

gem.chow
PMB:22
省份:辽宁
行业:IT软件
注册:2009/1/8
  
  
标题:Re:软件外包中常见的七个错误
1 楼
顶, 帮你补齐吧:

软件外包中常见的七个错误之六 – 让程序员管理项目
自由职业程序员喜欢编程-他们大多数不喜欢项目管理。但是需要有一个人来管理项目,这就是你的工作了。大多数犯这种错误的人没有做到这一点。他们似乎没有认识到在这笔交易中有一个管理者的角色。
不管管理一个软件项目让你有多么不舒服,事实是这项工作必须得做,而且是由你来做。一些不懂技术的人很害怕这项工作。记住,你不需要懂技术,你只需要理解你正在尝试解决的问题并且知道问题是否被交付的程序所解决。知道怎样利用技术解决问题是程序员的工作。这就是你雇用自由职业程序员的原因,获得你需要但你没有的技能。
“描述完我需要的程序并雇用了一个程序员之后,我还要做什么呢?”
你要做的有很多!
你需要确保程序员以你所想的方式阐释你的描述。
你需要确保程序员交付你所要求的。
你需要设定一些期望,监督程序员的工作以确保能够满足你的需求和质量标准。
如果发现事情比预期的要困难,或者没有按计划进行,你可能需要决定项目应该走哪条路。
这里有一些自由职业程序员不该管理项目的原因:
项目是你的!项目是什么由你说了算。给程序员这项工作就像让狐狸守护鸡窝(不,我不是在说程序员像狐狸一样狡猾,只是许多人需要被适当地管理)。
程序员不知道你的业务的详细细节、你的用户,等等。你必须提供指引,程序员根据指引创造软件。
俗话说你只要权利期望你所监督的。你必须参与项目以确保它满足你的需求。
关键之处:你是项目经理,你必须肩负起与工作相关的责任。
这就是我要说的,下一次我们将讲到7号错误,一个导致项目的问题被忽略的常见错误。

软件外包中常见的七个错误之七 - 不尽早、经常、正确地测试
测试在软件项目中是一项最重要但经常被忽视的活动之一。测试过程如何处理可以成就一个项目也可以把一个项目弄砸。
以下是软件测试的一些“黄金法则”。
程序员不能测试自己的作品。这就像校对你自己写的信,你看不到别人找出来的错误。
所有软件都有缺陷,只是有的还没被找到。一些缺陷已经被找到了,但不值得弥补,因为它们是很难弥补的小问题,或者它们很难被发现(我们最后只得称它们为‘特性’)。
在弥补缺陷的过程中,即使雇用最好的程序员也会引进新的缺陷。
这也是为什么一个特性在上一个版本中起作用在一个新版本中却不行的原因。你的测试计划是导致这种问题的原因,这就是软件的事实。
不管改动是多么的微小,也不管程序员告诉你什么, 修改经常会引入新的缺陷。
在项目周期中,越早发现缺陷,弥补缺陷所花的代价就越小。这里有一个例子:
John在写他的项目描述时发现一个被忽视了的特性(有人可能会说这是一个缺陷)。为了弥补,他就简单地在他的描述里加上一两个句子。
这很容易!
两个月后,John发现一个特性有一个缺陷就是妨碍了另一个特性的使用。由于两个特性都已经被编好了,必须在代码中的两处进行修改。
改动会引入新的缺陷,已经编好的代码必须被再次修改。
这多少有点痛苦。
两个月后,John的一个用户发现了另一个缺陷。而现在程序已经在工作了。程序管理着一些实时数据,航运部门完全依赖于这个程序来运作。
现在做修改风险很大,中断时间必须被计划好,可能需要雇用新的程序员,他们需要时间了解原来那个作者独特的编程习惯。
这真是令人头痛!
随着时间的流逝,弥补缺陷的痛苦和费用在增加。
教训:尽早测试,经常测试,测试一切东西!
随机地测试是不会很有效的。你真的需要做一个测试计划,每一个版本都按照它来进行测试。
你的测试计划应该关注程序最重要的特性。
你必须弄清楚每一次发布,程序的什么地方正在改变,什么特性可以做第一次测试。当测试初步的版本时,你应该主要关注这几个地方。
你必须对你的测试进行追踪。测试时做好记录以便问题发生时可以参考。
你应该告诉程序员的最重要的是你看到缺陷前你所做的事情。这对帮助程序员找出并改正错误是很重要的。
关键在于:尽早测试,经常测试,在每个初步的版本上测试你可以测试的任何东西,并写下你的测试日志。
这就是这7个错误了。我希望你不要在你的项目上犯其中的任何一个错误。

回复 | 引用    回复时间:2009/1/9 20:37:38

wychlzj
PMB:4
省份:河北
行业:生产制造
注册:2009/1/11
  
  
标题:Re:软件外包中常见的七个错误
2 楼
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复 | 引用    回复时间:2009/1/11 17:43:38

早起观晨曦
PMB:76
省份:陕西
行业:IT软件
注册:2009/2/2
  
  
标题:Re:软件外包中常见的七个错误
3 楼
我们准备进军外包,先学习一下看看
回复 | 引用    回复时间:2009/2/2 17:14:30

xfzjl73
PMB:105
省份:湖北
行业:工程设计安装
注册:2009/2/18
  
  
标题:Re:软件外包中常见的七个错误
4 楼
O(∩_∩)O谢谢
回复 | 引用    回复时间:2009/2/18 15:04:29

kinchen
PMB:103
省份:上海
行业:生物化工
注册:2009/3/2
  
  
标题:Re:软件外包中常见的七个错误
5 楼
发包方需有明白人负责协调。评定好承包方的能力及信用。
回复 | 引用    回复时间:2009/3/2 13:15:56

lcooc
PMB:35
省份:北京
行业:IT软件
注册:2008/5/26
  
  
标题:Re:软件外包中常见的七个错误
6 楼
很有同感啊,软件外包利弊分明
回复 | 引用    回复时间:2009/3/9 15:21:19

shmilyvivian
PMB:2
省份:上海市
行业:商业物流贸易
注册:2009/7/8
  
  
标题:Re:软件外包中常见的七个错误
7 楼
不错
回复 | 引用    回复时间:2009/7/28 13:42:47

xuyamay
PMB:2
省份:江苏省
行业:IT软件
注册:2009/7/28
  
  
标题:Re:软件外包中常见的七个错误
8 楼
我们公司也做外包,但是我是很赞同楼主的说法!
回复 | 引用    回复时间:2009/7/28 17:31:12

lutheran
PMB:9
省份:重庆市
行业:通信与网络
注册:2009/7/4
  
  
标题:Re:软件外包中常见的七个错误
9 楼
其实软件开发企业都存在这个问题。。。。
回复 | 引用    回复时间:2009/7/31 15:50:14

denglong78
PMB:4
省份:湖北省
行业:房地产
注册:2009/8/1
  
  
标题:Re:软件外包中常见的七个错误
10 楼
O(∩_∩)O谢谢
回复 | 引用    回复时间:2009/8/1 14:41:36
分页:1/3 共21条 首页 上一页 下一页 尾页 查看页 
!  您尚未登录,不能回复主题。    现在 登录  注册
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
建设运营:共创时网络
版权所有 京ICP证070584号 BBS业务许可2007第353号