西安软件公司如何在软件开发过程中形成适合自己的软件开发管理模式
目前大部分软件公司,无论是产品型软件公司还是项目型软件公司,大部分软件公司没有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。
同时,随着软件开发规模及软件开发公司的逐渐增大,软件开发不再是向过去那样一二个软件开发人员即可解决的事情。迫切需要一种开发规范来规范每个软件开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对软件开发人员的要求,从而降低产品研发成本。
我国软件市场还处于起步与发展阶段,真正称得上商品的软件很少,绝大多数的软件公司的规模很小,国内软件软件开发人员超过100人的公司很少。软件公司的用户几乎全是国内用户,加之国内软件专业的学校教育与实际软件开发脱节严重,软件开发人员工作不稳定,以及技术的高速发展以及开发工具的变更,导致软件软件开发人员缺乏必要的技术积累,表现为整体素质偏低。同时,由于没有合适的内部与外部环境也很难造就高水平的研发管理人员,从软件开发到开发管理都不能适应市场的要求。
国产软件目前称得上产品的主要以财务软件、防病毒软件、家庭教学软件及一些初级的工具软件。总的说来基本为专用型产品、满足特定功能,即便是专用型产品其各专项子系统大多也缺乏整体考虑。大多厂家产品不具备构成大型应用系统的整合能力,目前一些公司已开始进行这方面工作。
项目型软件公司大多以项目为主,产品化程度比较低。不具备推广的条件,经济效益较差,影响公司的发展。
在大型软件开发项目中,可以将每个角色赋予不同的个人。对小型项目,一个人可以肩负多个不同的角色。每种角色的人员在项目中起着同等重要的作用。每种角色都有其特定的任务及技能要求。
产品管理:产品经理负责建立及更新项目的商业模型,在确定及设置项目目标方面起关键作用。产品经理应确保项目成员清楚理解项目商业目的,并根据商业需求的优先级确定功能规范。同时,产品经理负责高层的项目沟通,如:商业项目的成本核算、合同洽谈,及向相关人员通报项目进展等。
程序管理:程序经理负责确定软件特色及功能规范,根据软件开发标准协调日常开发工作确保及时交付开发任务。协助产品经理完成项目需求文档,并根据需求文档起草软件功能规范。同时负责与系统分析、规范及框架结构有关的各种活动。管理与协调与外部标准与系统的互操作性,控制项目进度。程序经理是项目组成员间沟通与协调的核心。
程序开发:软件开发公司负责交付符合功能规范的软件系统。软件开发公司应积极参与功能规范的制定,在建立项目原型时软件开发人员与程序经理可以同步进行并提供技术可行性。在功能规范确立后,软件开发人员必须与程序经理就如何解决重大疑难问题达成一致。
测试与质量保证:测试与质量保证是保证系统符合功能规范的保证。为保证“零误码”测试/QA人员应积极参与开发过程,确保开发出交付符合功能规范的软件系统。测试/QA人员负责准备测试计划、测试用例、自动测试程序、执行测试工作、管理并跟踪Bug。测试工作与开发工作是独立并行的。
用户培训:培训人员负责设计编写离线及在线培训文档,包括演示材料。用户培训人员应参与用户界面和系统的设计与构造,并参与安装程序与安装过程的设计。参与系统的可用性测试及设计改进,与程序管理与开发有密切的关系,并确保系统的变化及时反映到文档中去。
后勤支援:后勤支援包括确保项目顺利进行的各方面工作。
对于一个项目组,建立一个良好的团队氛围是非常重要的,每个角色在项目中都是不可缺少的,项目的成功是团队成员共同努力的结果。鼓励成员的积极进取、高效、参与的团队精神,提高成员的责任感,避免造成团队或项目的成功依赖于少数个人的贡献。