在进行外包时,最终收到的却是糟糕的代码或者是我们无法读懂的文档。但在大多数情况下,没有达到预期效果的原因不是因为软件外包公司的自身能力问题,而是他们误解了需求。软件外包公司的一大风险就是不能有效的定义项目需求。公司的项目经理可能要求开发团队迅速完成,特别是项目交货时间比较紧张的时候,对需求分析不够重视。但是如果忽略初期的项目需求文档,那么后期就可能产生问题,数量居多且解决起来花费巨大。如果能很好的描述需求,那么开发团队就能做出满意的产品。
一个庞大,过分详细,可能要花费数月时间的项目说明和只有一页纸大小,一点也不充分的项目概念之间是有明确界限的。但是通常,项目在开始的时候对项目说明的定义越清晰,项目经理就越能够理解你想得到什么,你怎么样得到,并且完成它。这一步骤有多重要呢?根据卡耐基梅隆大学的软件工程研究所(SEI)的一项研究发现糟糕的需求定义或者不清晰的项目需求是软件项目失败或者延迟的最主要原因。应对措施:不要逼迫软件外包公司去猜你要做的东西是什么?有许多不同的方法来完成一个产品,但是并不是所有的你都可以接受。为了避免失望,你应该定义明确的需求。要想减少由于误解项目需求而产生的风险,一个重要的方法就是在开发正式开始之前就要把需求分析作为一个最重要的阶段来做。这需要一系列的讨论。当然这些时间花费是值得的。
项目经理在以下3个阶段收集信息提出项目需求:1)收集最初的用户需求:在创建系统用例之前,项目经理要会见用户,询问他们对系统期待的特性以及功能。他们需要了解完整系统的商业需求,从客户公司搜集高层系统需求和系统包括的用户界面。2)分析系统需求:包括预期系统的可接受性、可实施性、可测试性。3)检查需求:包括预期系统需求的综合考虑,目的是为了明确需求中发现的由于模棱两可或者是不一致而导致的问题或者错误。这份文档还包括问题追踪以及在问题产生后如何处理的计划。
我们的微信
我们的微博