软件外包不是一个传统的行业,往往也没有很多规律可循,这对新手来说都是一个挑战。要做好软件外包,或者国外的软件项目,需要避免的第一个错误便是:不懂用户需求
这是一个致命的错误!一些人对软件项目采取一种“如果你建他们就会来”的策略。那样的项目是彻底的失败,因为
它们不能满足用户的需求。为了避免这种错误,你需要花费一些心思了解那些将会使用你的软件的人。这是确保你清楚地知道你的程序应该做什么的唯一途径。 如果这是显而易见的,继续读下去;大多数人没有足够重视这一点。了解你的用户给予你关键的点子以使你的程序超出他们的预期。你需要知道:
- 用户期望软件为他们做什么
- 他们希望输入什么
- 他们期望什么的输出
- 他们将对输出做什么
- 用户怎样与程序进行交互
- 程序怎样与现实世界相适应
你必须比大多数用户更好地理解你正在解决的问题。你通过与许多使用者交谈来做到这一点。好了,让我们来看看当你与10位用户进行交流时事情通常是什么样的。通常会出现以下几种情形:
- 10位用户中差不多3位完全是在浪费时间。他们并没有真正思考周围的环境,或是他们不想与你分享他们的想法。一旦你确定某人正是这类人,礼貌但快速地结束谈话。
- 10位中有4位会提供给你很好的信息,那些你需要知道的东西。在一些问题上,一些人会有一些细微的差别。大多数人告诉你的与其他人相同。这类人为你的程序应该包括的基本功能特性提供了坚实的基础。
- 剩下的3个人会带给你灵感,或者在你从其他7个人所学到的基础上激发一些很棒的想法。这就像捡到金子一样!
试想一下,其他7个人(也就是用户群的70%)会怎么想,当你创造的程序突破性地超出了他们的预期。
现在有一条通向成功的路了!
提醒一句,当你与用户交谈时,有时你的情绪会有点过火。有些人真的让你拿他没办法。别往心里去,记笔记吧!当在讨论中陷入这种情况,你已经找到一个帮他们解决重大问题的机会了。
我知道的一个人,我们经常叫他Pete,他拒绝与那些说“Joe知道什么啊?他只是个搞航运的。”之类话的用户交谈。严重错误!
- Joe知道任务完成的期限,这是电脑应该为他做的。
- Joe知道那些未完成的工作(或者那些完成得很差的工作),因为它们让人头疼。
- Joe知道发货的最有效率的步骤。
- Joe知道那些不涉足航运业的人所不知道的许多东西。
现在,Joe可能无法出来将上面几点都解释清楚,但我保证你在一杯咖啡的时间里可以了解个大概了。以一种有用的形式把你所了解到的组织起来是很容易的。即使你没从Joe那里学到任何东西,至少在这个项目上他会买你的帐。这很重要,因为将你的程序付诸实施你需要合作。记住,许多人惧怕电脑并且拒绝改变,你可能需要帮他们转变这种想法。
另一个我听过的不和用户交流的借口是“我没有时间。”
对此我想说的是,如果你没有时间和用户交谈,那你哪有时间大干一番呢?省下一些时间、金钱,还有忧伤,第一时间和你的用户谈谈。
根本所在:让你的用户成为最重要的特性。如果你不想要某个特性了,并且它不是业务所必需的,别在上面浪费时间了,不管别人认为它是一个多么好的想法。
这就是我这次所要说的,与你的用户交谈去吧!