您的位置:软件测试 > 软件项目管理 > 开发管理 >
软件开发公司管理手册
作者:网络转载 发布时间:[ 2013/6/9 14:37:17 ] 推荐标签:

9. 产品设计开发

产品设计开发是两个主要成本之一(另一个是市场宣传及销售)的产生过程。产品设计开发失败是很容易发生的——以次充好应付某些客户的形象工程项目另当别论,虽然终通过销售证明的失败可以将责任推给市场销售环节或市场形势等等其他因素,但大多数情况的隐患与风险从产品设计阶段可以看到的,也是应该解决或规避的。产品设计不是开发部门的内部事务,而是全公司所业务部门共同参与的过程,单纯技术出身的主要经营者或单纯销售出身的主要经营者很容易在这方面摔跟头。

产品负责人是公司的长期核心高级管理人员,对某个或某类产品负责的时间应该跨越若干个经营周期,工作中主要对产品的重点功能定义、市场份额、成本效益等负责。产品的设计开发可以以主要版本升级的形式进行。产品开发(主要版本的升级)的计划应该在公司的经营周期经营计划之中制定。产品开发计划的制定是对已有产品、销售渠道、客户、市场、技术、资金流、政策等等方面通盘考虑、平衡的结果。产品开发计划应该包括版本重点功能定义、宣传重点、进度、成本、关键技术等。对于客户定制型软件开发项目工程而言,产品开发计划可以作为投标书或工程项目建议书。产品开发计划文档的写作的质量是将来产品质量的预示。“忙得没时间”写文档的产品负责人通常以口头方式向下传达,等手下写好了自己审阅,如果手下也忙而照此行事,则领导看见的很可能是一线员工的作品,而且经念得没准歪到哪里去了。

产品开发计划的版本重点功能定义可以作为项目负责人的初步方案;宣传重点可以作为市场部的宣传理念的基础;进度计划可以作为各部门工作安排、协调的进度基准;成本计划可以作为财务部的资金调度计划基础;关键技术可以作为开发部的技术攻关、技术储备的目标;质量管理、生产发货后勤人事等各环节可以根据相关的计划安排自己的计划。

产品设计开发的过程是连续的出现问题、解决问题的过程,部门间的矛盾冲突的大小与频繁程度是检验产品负责人工作状况的简单指标。

开发部的项目负责人(以下简称项目负责人)是开发部的核心人员,不一定长期固定于某个产品,产品设计启动时由开发部负责人根据情况指定,工作中对开发部负责人及公司产品负责人双重负责。在开发部负责人的协调下,项目负责人与开发部各专业子部门负责人商讨协调人员组成项目组。项目组的每个员工对专业子部门负责人及项目负责人双重负责。项目负责人主要进行方案设计(主要版本功能定义的进一步细化),以及质量、进度、技术等管理。根据产品设计的不同阶段可以增减的项目组的成员,但项目负责人及专业核心骨干要保持稳定。对于承接客户项目工程的情况,项目负责人的方案设计可以作为合同技术附件。

开发部负责人主要对专业子部门负责人及项目负责人进行管理,具体对所有运行项目的质量、进度、技术进行管理,同时对开发部所有人员的工作负荷等进行管理。

专业子部门负责人对各项目中与自己专业相关的技术、质量、进度进行管理,同时对子部门的人员的工作负荷等进行管理。专业子部门负责人确保从自己部门交出去的工作结果代表部门的水平(质量、技术等),而不是某个设计人员的个人水平。

产品开发的过程可以简单化分为方案(原型)、功能设计、代码设计、质检、测试等几个阶段,实际的项目运行是这些阶段的调整与重复。方案设计是用开发的语言对产品主要版本功能的描述,如功能实现或业务流程等。方案是项目负责人写给产品负责人看的。对于客户定制型软件开发项目工程而言,方案是项目负责人写给客户的领导或项目负责人看的。功能设计是系统架构、用户界面、数据及数据库定义、通讯协议、类或函数的定义等等。功能设计是给编码、质检等具体设计人看的。对于客户定制型软件开发项目工程而言,功能设计中的系统架构、用户界面等也是给客户的项目负责人或具体操作人员看的。

产品开发过程的阶段划分及重复是对产品负责人及项目负责人能力的真正考验。整个开发过程中只出一两个中间版本很容易将大问题留到后才发现,但中间版本出得太多会导致返工量、重复工作量太大。公司整个经营团队对产品的认识成熟程度(或定制客户的成熟程度)、成本压力、骨干技术力量缺乏等等均会对此过程产生重大影响。产品负责人及项目负责人的职业精神往往是重大困难面前的解决因素,好的做法是在自己被解职前顶住各种压力将工作按照既定做法计划进行下去,尽大可能完成。

质量管理应该贯穿产品开发的整个过程、各个环节,包括产品负责人的工作。虽然整个公司应该有统一的质量管理方法与质检部门,但产品负责人而不是质检部门负责人应该对产品终负责,项目负责人是质量的具体负责人。质检部门应该当作一个专业部门看待。贯穿于整个开发团队的质量管理责任、思想及方法而不是质检部门是真正保证质量的决定因素。具体开发设计工作开始前的标准、规范制定是确保质量的好方法。每一个专业子部门的工作人员的工作成果在交出去之前必须要经过专业负责人的质量检验(技术审核见后),重要情况可以进行多级检验。每一项具体开发设计工作结果的接收者、使用者应该首先对结果进行质量验收。出现质量问题应该实行追溯制,从质量问题发现点到质量问题原因点之间所有相关的人员,包括具体设计人、接收人、专业子部门负责人、项目负责人、产品负责人、质检部门人员及负责人(如果涉及到的话),都应该被追究责任。如果是已送交生产的成品或交付客户的产品出现质量问题,对公司造成经济或信誉损失,则整个项目组及涉及的管理人员,包括“无辜管理人员”及“无辜设计人”,应该共同被追究责任,承担处罚。质量管理的重要性应该超过进度管理及技术管理;与成本管理的重要性比较则视实际情况而定。在有效的质量管理制度及严格责任追究体制下,各级人员会自发的产生许多切实可行的质量保证方法。出现质量问题只追究具体设计人而不追究管理人员的责任是质量管理失败的根本原因。

进度管理的本质是解决变化与平衡的问题。产品负责人有自己的进度计划表,其它各部门以此编排各自的进度计划表,开发部负责人、项目负责人以及专业负责人以此编排专业开发及质检进度计划。各级管理人员应该每天检查自己所管理的每一个项目的进度运行情况,尤其是计划中的“关键路径”。项目运行中因为各种问题导致进度拖期(也有提前)是非常正常的情况。进度出问题很多情况下是可以预见的,具体设计人、专业负责人、项目负责人应该及时评估进度问题的严重性,并及时向上级管理人员汇报以便解决。进度问题的终责任人是产品负责人。出现进度问题后,应该尽可能在尽量小的范围内解决,保持整体进度计划的稳定性。某个部门的进度计划一旦进行调整很可能涉及其它多个部门的进度计划,应该慎重对待。开发部内部的进度问题应该由部门负责人、项目负责人、专业负责人共同解决,专业负责人要有预先准备。从产品负责人开始,逐级进度计划应该保留一定量的冗余时间以便调度。在承接外包项目时,与客户共同编排的联合进度计划应该作为合同附件。在不影响产品主要功能特点实现的情况下,进度管理的重要性超过技术管理。“无所不能”的技术高手容易在排进度计划时犯错误,往往到后不得不熬夜加班。市场部、销售部门向市场客户的吹牛是进度管理的敌人,由此产生与开发部的矛盾的责任应该归咎于产品负责人。

技术管理是解决如何实现产品竞争力的问题。技术包括功能定义、开发技术及专有(专利)技术等。功能定义是指对产品功能的描述或对客户业务的描述,来自长期的客户需求分析、接触沟通等。开发技术是指软件开发的方法及技术,通常来自对开发工具及开发接口的学习及实际应用。专有(专利)技术是公司针对特定的功能定义自行开发的体现主要竞争力的技术,需要的情况下可以申请专利保护。在整个行业的技术应用链中,从底层的基础技术产品到上层的应用技术产品,越是上层的产品的更新换代越快。从技术开发的角度看,底层产品的竞争力主要体现在专有技术方面,上层产品的竞争力主要靠功能定义的准确及时的更新换代来实现。通常产品负责人侧重于功能定义(或专有技术),而项目负责人侧重于开发技术,专业技术团队(子部门)则是技术的真正实现者。功能定义的高可变(可适应)性、专有技术的稳定性以及开发技术的适度与及时更新等三者之间的平衡是产品负责人、项目负责人技术管理的主要工作,当然还要考虑与其他管理的平衡。重要的专有(专利)技术可以作为公司内部产品进行管理。产品开发项目中技术难关的预先定位,以及技术攻关是项目负责人与专业负责人的责任。专业技术开发规范的制定是专业负责人的责任。每一个专业子部门的工作人员的工作成果在交出去之前必须要经过专业负责人的技术审核,重要情况可以进行多级审核,以确保工作成果代表专业部门的技术水平,而不是某个专业人员的水平。在项目开发的适当阶段可以进行互相审核、审阅,以互相借鉴及提高。基础技术及产品的重大进步是行业开发技术及产品“革命性”变化的开始,忙得顾不上学习应用的产品负责人、项目负责人要做好被淘汰然后“从头再来”的心理准备,找机会、找借口躲到其他管理职位只是淘汰过程的开始。某些对开发工具及开发接口深入研究、无比熟悉的技术高手想做什么都能做出来,但经常不知道该做个什么东西,这是一路紧跟着开发工具供应商往前走的书呆子们的悲哀,而且经常因为与应用需求的技术差距而产生“寂寞高手”的痛苦。简单听信、迷信新开发技术能提高产品竞争力并付诸行动导致失误是项目负责人及产品负责人的责任。

上一页1234567下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd