您的位置:首页 > 其它

软件研发那些事儿——项目和产品的前期准备

2010-08-16 19:03 211 查看
对于软件项目和软件产品,前期准备的内容有所不同,这也是由项目和产品的各自特性决定的。软件项目的个性化内容更多一些,也就是要根据用户的需求量身定做,需要完全契合某一用户的需求特点。而软件产品在开发时,研发团队的自由度相对高一些,在考虑潜在用户通用需求的前提下,可以适当的取舍一些个性化需求。

项目是为用户的个性化考虑。在用户开始有项目意向之时,软件公司的销售人员要及时跟进,人力充足的公司还可能会配备专门的售前人员,从业务和技术角度为销售提供帮助。人力不充足的公司,该角色就有可能由项目经理或经验较丰富的其他工作人员兼任。也就是说,对于软件公司经营的项目,前期和用户接触时,应准备商业和技术两个方面的人力资源。

售前咨询人员需要具备潜在项目所需的行业知识和一定的技术能力,在和用户进行业务交流时,能够基本掌握用户所述的概要需求,并站在一个更高的位置,通过分析概要需求,为用户的系统建设提供更为高瞻远瞩的建议和规划,也就是通常我们所述的项目方案书。项目方案书中主要包括系统架构、技术方案、业务功能规划、实施计划等方面的内容,一份好的方案书能大大调动用户进行系统建设的兴趣,又能为下面真正的项目实施提供重要的指导。所以,写方案书的售前咨询人员的逻辑分析能力和总结概括能力必须要强,在以往的工作中积累了对同类项目足够的业务和技术知识,然后总结分析到每份方案中。同时,他还必须具备较强的沟通和快速反应能力,在配合销售人员一起跟用户沟通时,能够引导用户说出其真正的系统需求,在头脑中快速分析之后,当时给出用户清晰明确的建议。回到公司,在用于允许的时间范围内,尽快编写出更为规范的方案书文档。概要需求的交流可能不止一次,方案书也可能要经过反复的修改,最终达到让双方都满意的程度。需要注意的是,方案书阶段的概要需求沟通通常不涉及太深的义务,但范围要广,以便于综合所有相关的因素,分析出重点。

如果用户对方案书持肯定态度,则表明该项目拿下的可能性非常大,剩余的工作主要是合同额的确认。有人会说,具体需求还没有完全确定下来,合同额如何计算出来?我想说的是,如果尚未签订合同,就开始进行需求,需求分析完成后再计算合同额,签订合同,那样风险就太大了。其实大部分的软件公司都是出方案书后就开始签订合同了,方案书中约定的内容基本可以作为合同额计算的依据,有经验的软件公司在这方面的估计出入不会太大。当合同签订之后,公司即可成立专门的项目组,组织相关的人力资源进行项目开发了,此时,项目的前期准备阶段也就宣告结束。

总之,项目前期准备阶段的主要工作就是销售推进项目的成单,售前咨询负责业务和技术的分析,并提交方案书。由于售前咨询需要全力配合销售的工作,与客户进行沟通,分析总结,编写方案书,因此,售前咨询必须具备较强的沟通能力、业务能力和文档编写能力。

产品的前期准备工作比项目要复杂,需要准备的内容也多,大致需要准备四方面的内容:业务分析、技术分析、市场调研、财务分析。

现在绝大多数的软件产品都是针对某一个行业,或是行业中更小的分支,在产品正式立项之前,有必要对行业的业务知识进行分析总结,也就是明确产品的业务定位。在研发软件产品方面,公司应配备专门的产品经理,负责这部分的内容。产品经理不做技术层面的要求,但是他对产品面向的行业必须要熟悉,也就是具备较强的专业能力,能够提炼出亟需的行业需求,并提炼成软件功能,从而明确软件产品的业务功能定位。也有些软件公司受制于财力和人力,并无产品经理的岗位设置。在决策一个新的软件产品时,都是主管领导根据个人臆断,拍脑而定。然后再成立项目组,由项目组的项目经理和程序员去做需求。这种完全把产品当项目来做的方式大部分时候会导致产品的失败,或者大大延迟产品推出的时间,实在得不偿失。也有的公司会考虑将某些具备一定潜质的项目经理或程序员培养成产品经理,这种方式对那些专业知识不强的软件产品,如企业管理类软件,存在一定的可行性。但对于专业深度较强的软件,结果就不太乐观。行业知识的积累非一朝一夕而成,专业人员必然要在其行业中浸淫多年,才能在产品的业务分析和功能定位上提出更可靠的思路。如果仅为了节省人力而不配备专门的产品经理,一味想让程序员成为万能人才,其结果还是那句话,不是把程序员累死,就是把公司累死,术业有专攻,谁都不是万能的。

有了产品定位,有了功能定义,还要以此为目标作技术的可行性分析。有些软件功能看上去是很好,而且也确实能解决用户面临的实际问题,但计算机技术不一定能实现。虽然这种情况很少,但是还是非常有必要在产品立项前好好做技术分析,即使都能用技术实现,也可以通过这种方式来分析出各部分功能实现的难度,为产品的技术设计提供成熟的思路。技术分析的内容包括技术的重点、难点、整体实现思路、开发语言、开发工具等。开发软件产品不是搞学术研究,必须要尽快商业化,以快速实现产品的盈利为目的,所以选择合适的开发技术和开发工具很重要。同样的软件产品,单从功能的角度来考虑,也许大部分开发语言都能实现,但是必须选择最合适的。也就是,在保证软件的运行效率前提下,开发语言的易读性和开发效率必须要保证。经过多年的发展,什么类型的软件适合采用什么样的语言来开发,大部分已有了定论,但是技术分析阶段还是要从多个角度好好对比一下。

软件产品最终能不能为公司带来盈利,还要看市场容量。不过,对于国内的软件应用环境来说,市场容量一直不存在问题,因为还没有哪个公司在自己所处的行业领域达到一枝独秀的高度。而且由于国内软件公司在管理方面的种种弊端,好多中小公司都是前赴后继的生存方式,这也为后来者提供了不小的发展和竞争空间。早起的鸟儿有虫吃,晚起的鸟儿也有虫吃,无非是吃多吃少的问题。吃过几次,就要看谁的产品好,谁的管理好了。往往是具备这种软实力的公司发展的更为迅速,而且能够一直吃饱,直到自己的公司经营出现一定的问题。另外,由于广大用户对软件的服务要求越来越高,越来越在乎服务的及时性,软件服务的本地化也就成为了一个问题。公司在研发产品时,最起码还是要好好调研一下软件产品面向的最终地域,以便有针对性的定制合适的销售策略。

软件产品有一定的周期性,在推向市场之前,公司是没有收入的,完全是支出。推向市场之后,还要经过一段时期的销售,才能达到收支平衡,收支平衡之后才能谈盈利的问题。比较坏的结果是,产品刚要盈利时,可能已到了被淘汰的地步,需要大规模升级,公司面临又一轮的投入。正因为如此,产品正式立项之前有必要做财务方面的分析,对支出和收入预期做一下研究,避免产品研发由于资金问题半途而废。

由此可以看出,做产品比做项目更需要全面且规范化的管理,好的开始是成功的一半,这句话非常适合项目和产品的前期准备工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: