4.2 标准层次
国际竞争有三个层次:第一个层次是价格和质量的竞争、第二个层次是专利技术的竞争、第三个层次是标准和制度的竞争。谁掌握了标准的使用,谁掌握了标准的制定权,谁就可以抢占先机。一流企业卖标准,二流企业卖品牌,三流企业卖产品,四流企业卖企业。我国软件企业要适应更高层次的竞争,就要在标准领域占据一席之地。
标准主要包括技术标准和业务标准两大类(当然还可以其他分类如基础标准、产品标准、质量标准、管理标准、工作标准、安全标准、术语标准等等)。对标准化领域中需要协调统一的技术事项所制定的标准,称为技术标准。技术标准包含两个方面:一是作为软件开发企业的软件行业技术标准,包括知识体系指南、过程标准、建模标准、质量管理标准、程序语言标准、数据库标准;二是软件开发服务对象所在的行业技术标准,如安全保密标准、技术性能标准。业务标准指的是软件开发服务对象所在的组织或行业制定的业务流程标准和业务数据标准等。
运用统一的技术与业务标准是对于质量能够做出重大而且显著贡献的因素之一,有助于减少无效的讨论,有助于不同的产品之间的兼容和衔接。
标准要不断地与时俱进,因此,标准是种动态信息。
4.2.1 标准作用范围级别
项目标准:项目团队在软件开发周期的早期就确定下来的相互达成一致的标准集合;
企业标准:企业自行制定的规范整个企业架构和所有企业级交付产品的标准集合;
地方标准:由一个国家的地方一级行政机构(省、州或加盟共和国)制定的标准,称为地方标准。它一般由地方所属的各企业与单位执行。同样是一个行业,每个地方可能有不同的业务政策、业务数据标准、业务流程标准;
行业标准(部颁标准):指没有国家标准而又需要在全国某个行业范围内统一的技术要求。行业规定的全国本行业必须遵守的的业务数据标准、业务流程标准,标准编号一般以行业名称的拼音头个字母打头,如环境HJ、电力DL、公安GA;
国家标准:是在全国范围内统一的技术要求。由国家规定的标准,主要是数据标准,行业之间的接口标准,标准编号一般以GB、GB/T、GB/Z打头。
国际标准:涉及到国际上多个国家或地区必须遵守的如金融、电信、财务、贸易等业务标准。国际标准一般由国际标准化组织制定,如ISO、ANSI、IEEE等等,这也是标准编号的打头字母,如ISO9001。
4.2.2 标准强制程度级别
强制标准:保障人体健康、人身、财产安全的标准和法律、行政法规规定强制执行的标准是强制性标准,其他标准是推荐性标准;如编号以GB、HJ、DL、GA字母开头的标准,一般业务数据标准是强制标准。
推荐标准:推荐性标准又称非强制性标准或自愿性标准。是指生产、交换、使用等方面,通过经济手段或市场调节而自愿采用的一类标准。如GB/T、HJ/T、DL/T、GA/T,一般业务流程标准、工作规范或指南等是推荐标准。
指导性标准:对标准化工作的原则和一些具体做法的统一规定,称为指导性标准。例如:产品型号编制规则、各类标准编制导则等。如GB/Z、HJ/Z、DL/Z、GA/Z编号的标准。
4.2.3 软件开发常用技术标准
知识体系:软件工程知识体系指南SWEBOK2004、项目管理知识体系指南PMBOK2000(最新的是PMBOK2004) 、组织管理标准等等;
过程标准:CMMI、PSP、TSP、RUP、软件工程规范国家标准;(AP、XP、ASD等开发过程思想好像还不能称其为标准)
建模标准:UML、软件工程规范国家标准;
质量管理标准:ISO9001:2000、TQC、6σ;
程序语言标准:Java、C++、PB、编程规范;
数据库标准:Oracle数据库后台规范。
4.3 人员质量管理层次
人员质量是所有工作质量的基础。要提高工作质量,就要以人为本,根本的问题是提高人的质量。人员质量就是人员素质,层次分为个人素质、团队素质、组织素质、行业素质、国民素质。
4.3.1 个人素质
软件开发的个人素质的内涵很广,包含多个方面,包括学习能力、总结能力、学识经验、进取精神、社交能力、责任心、自我控制、成就动机、灵活性、创造性潜力、管理潜力、工作态度、诚实水平等等。关键是根据自身特点发挥自己的特长,同时要有过硬扎实基本功的真才实学,不做表面功夫花架子的花拳绣腿。这一点在做程序员的时候大家都会很注意学习,但在从程序员提升到设计师、分析师、项目经理时,往往存在不注意学习新角色所需知识技能,学了皮毛就觉得什么都会的情况。
4.3.2 团队素质
软件开发的团队素质的范围涉及到很多团队管理方面的知识经验技巧。关键是能够合理地按照成员的特点分配工作任务,同时计划好各个工作人员的工作接口,鼓励互相补位。团队素质的提高在于团队建设,团队建设活动包括为提高团队运作水平而进行的管理,以及采用的专门的、重要的个别措施。团队精神就是团队的精神,因此要问某个团队有没有团队精神,不问某个成员有没有团队精神。
软件开发团队素质可以学习参考TSP、RUP、SWEBOK、PMBOK、CMMI、ISO9001等要求进行提高,也可以借鉴AP、XP、ASD等开发经验(不管那种都不一定要完全照搬实施)。
4.3.3 组织素质
软件开发的组织素质内涵涉及到很多组织管理方面的知识经验技巧。组织应当为实现共同的愿景,建立学习型的组织,不断持续改进。企业组织高层领导可以不必需要那么多软件开发的专业知识,最主要是要认识到人是一切活动的核心,是一切活动成功的前提,所以要尊重专业人员使其发挥作用。根据彼得原理,大部分领导因为在某些方面突出而被提拔到他无法胜任的位置,因此有些被提拔上去的领导急于证明自己样样精通是可笑的。领导最重要的是选对人、用对人、激励人、提高人,使每个人都充分发挥应有的作用。
4.3.4 行业素质
行业素质有两层意思,一是作为软件开发企业的软件行业,另一个是软件开发服务对象所在的行业。行业素质可以从几个方面看,如行业机构的健全程度,行业学术的活跃程度,行业标准制定的完整程度、适用程度、先进程度,行业标准规范的推广力度和程度,行业从业人员的规模及总体水平,行业外贸出口金额,例如,为什么印度的软件外贸出口金额让中国望尘莫及?为什么印度可以拥有那么庞大的软件蓝领队伍?印度软件企业对CMMI是什么态度,中国软件企业对CMMI是什么态度?为什么对于AP、XP、“颠覆软件工程”的片面理解在中国大有市场?
(注意:《软件工艺》实际上是从另一个角度来强调“个人素质”的重要性,实际上是要说明组织性规范性和创造性特色性之间的平衡,就像《软件工艺》自己所说的那样,“软件工艺并非与软件工程或者计算机科学针锋相对,格格不入。与科学和工程学相比,软件工艺是另一种完全不同的教义,但又能与这两者很好地共存,并从中获益,它融合了艺术、科学、工程学三者”。如果因为强调“个人素质”的作用,强调作坊工艺的作用,而否定团队开发、和使用有效地分析设计方法和过程,就是走向了另一个极端。《软件工艺》把软件的缺陷狭隘地定义成“程序员所犯的错误”,所以其结论是“真正决定项目成败的,是作为个体的程序员的技能、知识和经验。”实际上如果在需求、分析或设计上犯了错,或者在项目管理上犯了错,其造成的缺陷比“程序员所犯的错误”的影响不知道要大多少。另外极限编程所需的程序员随时直接与用户交谈的条件也是大多数软件开发项目很难满足的。)
4.3.5 国民素质
中国的国民素质与其他国家相比,有些地方是高的,有些地方是不足的。我们要发扬我们的优点,同时也要学习别人的优点,弥补自己的缺点。自己过去为什么会被人看不起、会被人侵略?发几句牢骚,喊几句口号起得了什么作用?我们应当从自己和他人两个方面同时查找原因。关键是不断提高自身的整体素质,增强国力。如果我们看看欧美日等国家的企业是如何进行质量管理的,就不难理解他们的产品质量为什么那么好,甚至连印度在软件质量管理等方面也有很多值得我们学习的地方。
5 结语
人是一切人类活动的基础,要提高软件开发质量,就必须以人为本,首先提高人的质量。通过标准化、规范化的建设和落实,通过创建良好的社会和企业质量环境,在企业内部不断改进开发过程质量、项目管理质量,改进质量措施。针对具体项目进行良好的分析设计规划,编写出质量优良的系统程序,确保数据(信息)及其管理的质量,为客户、为社会提供满意的产品和服务。
6 参考文献
Oddur Benediktsson :Software Engineering Body of Knowledge and Curriculum Development;
IEEE :Guide to the Software Engineering Body of Knowledge, 2004 Version;
Mary B Poppendieck、Thomas D Poppendieck:A Rational Design Process – It’s Time to Stop Faking It;
Pete McBreen《软件工艺》(熊节译);
居德华教授:信息化建设需要抓好四个工程;
Harold Kerzner:《项目管理—计划、进度和控制的系统方法》(第7版)(电子工业出版社,杨爱华等译);
Harold Kerzner:《项目管理的战略规划:项目管理成熟度模型的应用》(电子工业出版社,张增华 吕义怀等译);
Neal Whitten:《管理软件开发项目》(第二版)(软件项目管理系列丛书,孙艳春等译);
Bhuvan Unhelkar:《基于UML的软件项目的过程质量保障》(软件工程丛书,曹学军等译);
《计算机软件工程规范国家标准汇编2003》中国标准出版社;
郑人杰、殷人昆、陶永雷:《实用软件工程》第二版(清华大学出版社);
Roger S.Pressman:《软件工程:实践者的研究方法》(第5版)(机械工业出版社-计算机科学丛书);
Stephen R. Schach《软件工程:Java语言的实现》(机械工业出版社-计算机科学丛书);
《质量总监至尊管理》现代企业高层管理课题组(杰出高层经理人手册);
龚波《能力成熟度模型集成及其应用》(中国水利电力出版社);
陶笃纯等《网站建设项目管理》(人民邮电出版社-项目管理丛书)
耿继秀《信息工程—创建企业计算机信息系统的工程》(清华大学出版社)
王功民《以人为本》(企业管理出版社-人力资源管理教室)
《ISO9001:2000质量管理体系的要求》;
《PMBOK-2000》PMI;
《PMBOK-2004》PMI;