项目管理中的质量管理
质量管理的实质通俗地讲就是“把要做的写下来”,“把写的做出来”,“把做的过程记下来”,大家可能注意到一点:其中主要说的就是两个字“做”和“写”,与我们一般做事方法不同之处在于多了个“写”的动作,因此用“文档”管理“过程”成为质量管理的一个重要特点。我们举一个简单例子说明如何通过各种文档控制一个过程,一般这需要三种文档: 1)记录:记录活动的过程和结果,最常见的记录就是表格。 一个过程可能涉及A、B、C和D四个活动,并由不同的人员执行。每个人完成各自活动后就记录处理过程和结果,并签字确认。因此这个表格留下了所有人相关人员处理的“痕迹”,一旦出了问题就可以回溯,确定是哪一步出了什么问题。 2)规程:光有一个表格还不行,还需要一个文件规定活动的执行顺序和要求,这样的文件就是规程 。规程表示按A-B-C-D顺序执行,复杂的规程还可能包括条件分支,每一步骤的具体操作和要求也应该在规程中描述。 3)状态:有了记录和规程还会发生问题 。比如,记录丢失了而不知道谁负责(甚至根本不知道丢失了)。这是因为不知道记录的状态当前在谁手里,处理的结果如何。因此还需要状态文档。 这确实多了一些“额外”的工作,不光需要员工额外的“文字”工作,还可能增加专职的管理人员,所以质量管理需要一定的“代价”。IT企业中,几乎所有开发人员都知道“质量”的重要性,但却不能正确看待质量的“代价”。一旦需要他们填写表格或者严格遵照流程工作时,多数都会说“太麻烦了”“效率太低了”。的确,如果没有文档工作一定程度上可以提高效率、节约成本,但长期看因管理混乱和质量低劣带来的损失可能远远大于短期的利益。还有一种常见的错误看法是“质量就是凑齐文档”,表现为在进度压力下违规操作,待完成项目后匆匆补文档。坦率地说,如果补的是中间文档(例如部分详细设计)还情有可原,如果补“过程记录”则实在不甘恭维。例如,笔者就见过在项目完成后补《测试错误记录》的情况,其实这时补这些文档对测试过程的管理已经根本没有意义,花时间精力仅仅是让项目看起来规范一些,可以算是一种“粉饰太平”的行为。个人认为,如果你真的认为一个过程不需要文档也可以控制,则可以进行适当的裁剪。其实项目并非越规范越好,应该根据具体的质量要求平衡质量和进度、成本三者的关系。 质量管理活动基本包括质量保证和质量控制两类。质量保证是在项目过程中实施的有计划、有系统的'活动,确保项目满足相关的标准,典型的例子是评审和审计。质量控制指采取适当的方法监控项目结果,确保结果符合质量标准,还包括跟踪缺陷的排除情况,典型的例子就是测试。对于软件开发来说,重要的质量活动包括: 1)评审:检查项目中间产品,早期发现缺陷以减少后期修改和返工的工作量。 2)测试:直接检查软件产品中的缺陷,确保产品符合要求。一般通过单元测试、功能测试、集成测试、压力测试实现。 3)缺陷追踪:记录和追踪缺陷从发现到解决的整个过程,确保所有的问题都有结论(注意,并非一定都能解决,解决不了的要进行评价)。 这是与评审和测试配合使用的一个重要管理过程。 4)审计:对项目的工作过程进行检查,确保所有活动遵循规程进行。 5)变更控制:在前面的章节中谈过,这也是一个重要的质量活动。 6)配置管理:记录这些中间和最终产品(配置项)变化的历史,确保他们的正确性和一致性。 质量管理不是一堆文档就可以解决问题的,要想确实作好有三点很重要:一是培训,要确保员工知道为什么要这样做?能解决什么问题?具体如何做?没有这种培训,员工很容易把质量管理理解为填写各种表格的繁文缛节。二是与客户交流,笔者发现很多时候因厂商没有与客户进行必要的交流,客户总觉得“什么事都要填表”是在故意刁难;通过解释客户往往非常理解,觉得这正是厂商做事规范的表现,因此会变得很配合。三是慎重选用SQA。SQA在软件质量管理中责任重大,最好有一定的开发经验,并愿意从事质量管理活动。SQA典型职责如下: 1)根据项目特点对过程进行裁剪,并审定最终的质量标准; 2)帮助项目经理制定计划并最终审批,过程中对变更进行审批; 3)进行日常的项目审计,确保项目按规程工作; 4)在阶段点对项目的基线进行审计,配置管理情况; 5)收集和分析各种度量数据,并向高层报告项目情况; 6)对项目组成员进行培训。 总之,质量管理主要通过“文档”控制“过程”。质量管理需要一定代价,要平衡与进度和成本的关系。质量保证是确保最终产品质量的一系列活动;质量控制是确保最终产品满足要求一系列活动。软件项目中的质量管理的重要角色是SQA。
项目质量管理
他是在一定时间内满足一系列特定目标的多项相关的总称
项目有六个特点
1一次性(从时间)
2系统性
3单件性
4多目标属性
5生命周期属性
6可变性
质量是指一组固有特性满足要求的程度
定义可以通过六个方面理解
1固有特性是指某物或某物中本来就有的,是茶农,是过程或体系的一部分尤其是永久性特性
2要求是指明示的,通常隐含的或必须履行的需求或期望。明示只是合同,规范,标准,技术,文件,图纸中明确规定的
3质量不仅指产品质量,也可以是某项活动或过程的工作质量,还可以是质量管理体系运行的质量
4质量所反映的是 满足要求的程度 ,而不是反映为 特性总和
5质量具有动态性,即质量要求并不是固定不变的
6质量具有相对性,不同国家,不同地区因自然环境条件的不同,技术发达程度不同,消费水平不同和风俗习惯等的不同,会对产品提出不同的需求、
不合格:就是未满足要求,产品合格与否不是以是否满足“规定的要求”
作为判断依据,而直接以“要求”--明示的,习惯是隐含或必须,履行的要求或期望‘’作为判断的依据
缺陷:与不合格是两个不同的概念
1项目质量就是项目的固有特性满足项目相关方要求的程度
2满足要求就是应满足明示的,通常隐含的或必须履行的要求和期望
建筑工程特性
适用性,耐久性,安全性,可靠性,经济性,与环境的协调性
概念阶段:识别需求
开发阶段:提出解决方案
实施阶段:执行项目
收尾阶段:结束项目
项目概念阶段:
项目概念阶段主要进行项目的可行性研究和项目的决策
项目开发阶段
项目实施阶段:
项目实施是形成项目质量的决定性环节
项目收尾阶段:
项目收尾阶段对项目的质量影响是对项目质量的确认和对项目嘴中橙光质量的保证
人,机,料,法,环
人:领导者的素质
人的理论,技术水平
人的生理缺陷
人的心理行为
人的错误行为
人的违纪违章
机械设备:机械设备的选项
机械设备的主要性能参数
机械设备的使用,操作要求
材料,构配件:材料质量标准
材料质量的检(试)验
材料的选择和使用要求
方法:技术方案
工艺流程
组织措施
监测手段
施工组织设计
环境:工程技术环境
工程管理环境
劳动环境
人将会对项目质量产生最直接,最重要的影响
材料,使用不合格的材料是产生质量问题的根源之一
根据性划分:影响项目质量的罂粟又分为 偶然因素和系统因素
1影响因素多
2项目目标的职业性:项目质量与项目的时间,费用等目标互相统一,又互相矛盾。
3质量的变异性:指质量指标的不一致性
4评价方法的特殊性:不同类型的项目,其适用的质量评价方法也不相同
1质量管理是在质量方面只会和控制组织的协调活动
2在质量方面的只会和控制活动,通常包括定制质量方针和质量目标以及质量策划,质量控制,质量保证和质量改进
(对项目)计划,组织,领导,控制
发展史
1质量检验阶段,统计质量管理阶段与全面质量管理阶段
质量检验阶段:事后检验
统计质量管理阶段:事后,事前都
休哈特 质量统计
全面质量管理 费根保姆
三全
1指广义质量,不包括产品质量,还包括服务质量和工作质量
2全过程的质量管理
3全员参加的质量管理
约瑟夫M,朱兰 质量保证
项目质量管理是指围绕项目质量所进行的指挥,协调,控制等活动。是项目管理的重要内容
项目管理过程
1质量规划
2实施质量保证
3实施质量控制
项目质量管理特点
复杂性
动态性
不可逆性
系统性:项目的质量并不是孤立存在的,它收到其他罂粟和目标的制约,同事它也制约着其他的因素和目标。
1项目质量管理的客体是项目
2项目质量管理的主体是项目的各相关方
3项目质量管理的宗旨是实现项目的质量目标,并使项目的相关方都满意
项目管理的主要活动包含 项目质量策划,质量控制,质量保证和质量改进、
1以顾客为关注焦点
2领导作用
3全员参与
4过程方法
5管理的系统方法
6持续改进
7以事实为决策基础
8与供应商保持互利的关系
1全面考虑所有相关方的需求
2为项目编制可行的质量计划
3在领导方式上,领导者要做到透明,务实和以身作则
4设定富有挑战性的质量目标
5营造一个合适项目特点的质量文化环境
6对员工在项目质量管理方面的贡献给与肯定和激励
7提倡公开和诚恳的交流和沟通
将相互关联的过程作为系统加以却,理解和管理有助于提高项目目标实现的效果和效率
在项目质量管理过程中采用系统方法,就是将项目作为一个系统,对组成项目系统的各个过程加以识别,理解和管理,从而实现项目的质量目标。
项目的相关方不断地改进其工作质量,提高质量管理体系及对过程的效果和效率
项目的质量的持续改进是无止境的,应成为项目进展过程中的一个永恒的主题
1使持续改进成为一种制度
2对员工进行持续改进的方法和工具的培训
3使项目质量的持续改进成为项目所有参与者追求的目标
4为项目的持续改进指定目标和实施指南
5对改进的结果加以肯定,并加以推广应用
1在项目质量管理过程中,决策将会随时伴随其中,决策的有效性将决定质量管理的有效性
2有效的决策应简历在对数据和信息有效分析的基础上
3在质量管理过程中,必须避免盲目的决策或只凭个人的主观意愿的决策
1供应商提供给项目的资源将对项目质量产生重要的影响
2项目的承包商与供应商是互相依存,互利合作的关系,这种关系可增强双端的创造价值能力
1系统原理
2PDCA循环原理
3全面质量管理原理
4控制原理
5保证原理
6合格控制原理
7监督原理
P表示计划 plan
D表示实施 DO
C表示检查Check
A表示处理 Action
由美国的管理专家戴明博士提出,戴明环
pdca分为四个阶段
1计划阶段
(1)分析质量现状,找出问题
(2)分析问题原因
(3)从原因中找主要原因
(4)针对主要原因,找对策,拟定改进原理
2实施阶段
(5)执行计划和措施,
3检查阶段
(6)检查效果,发现问题
4处理阶段
(7)总结经验,纳入标准
(8)将问题流转到下一个循环
内涵是指质量管理的范围不仅仅限于产品质量本身
将茶农质量扩大到工序质量,工作质量和管理质量
全面质量管理是一种涵盖全员,全面,全过程的质量管理体系
在项目质量管理中,运用全面质量管理的思想,就是将项目的质量管理看成一个有机整体,对影响项目质量的各种罂粟进行综合管理,实现项目的综合目标
质量与效益是相互统一的又是相互矛盾的
统一的一面 合理的质量可以减少质量事故,降低项目的返工费和维修费,同时又可以降低项目的运营费用
矛盾的一面体现在,质量越高,需要的费用就越高,项目的效益可能就会降低。
在影响项目质量的诸因素中,人的因素是首要因素
提高项目质量的根本途径在于不断的提高所有参与者的素质,充分调动和发挥人的积极性和创造性
强调预防为主,是全面质量管理与传统质量管理的重要区别
在项目质量管理中,预防为主,就是要预先分析影响项目质量的各种因素,找出主导性因素,并采取措施加以控制
技术是保证项目质量的基础
主要内用包括专业技术和管理技术两方面
三项工作职能:保证职能预防职能和报告职能
质量监督包括 政府监督,社会监督,自我监督
如何做好项目的质量管控
导语:如何做好项目的质量管控?质量管理不能就事论事,必须学会和掌握从分析项目对象的基本特点着手,找出影响工程质量的规律性的东西和其主要矛盾,进行全面的和有重点的管理。 如何做好项目的质量管控 一、 进度控制 1.编制各个阶段的进度计划。为了确保总工期目标,必须实行分段控制,根据总进度计划制订月计划、旬计划(周计划),用旬计划保月计划,用月计划保总计划,制订计划时一定要留下余地。 2.实施动态控制。在项目实施过程中,要依据变化后的情况,在不影响总进度计划的前提下,对进度计划及时进行修正、调整。 3.与业主保持密切的沟通。定期向业主报告工程进展,对业主提出的“变更指令”和“赶工”或“加快指令”及时作出反应和处理。与业主的良好合作是顺利实施进度计划的一个重要条件。 4.材料要保证供应。甲供和施工单位自行采购材料要保证供应,项目部要及时做好材料进场检验。甲供和施工单位自己采购材料,在规格、品种、质量和数量上都要满足工程质量和进度的要求。 5.及时支付工程进度款。为了使工程按合同要求进行,建设单位一定要严格执行合同,按合同要求及时支付工程进度款,以确保工程进度。作为施工单位也要按合同要求确保工程进度和质量。在施工过程中,因甲方的原因影响工期,应由甲方签证,顺延工期。 6.提高劳动效率。提高工效可以在不增加成本前提下,加快工程进度。因此,项目经理部要采取一切能够调动职工积极性、提高工效的激励政策,对提高工效的职工在经济上给予一定奖励。 二、质量控制 1.明确工程质量目标。在工程开工前根据业主要求、工程的实际情况和企业的规划确定工程项目的质量目标。 2.搞好技术交底。班前对工人进行技术交底,使工人心中明确达到的质量要求,以及必须把握好的技术难点。 3.严把材料质量关。甲方采购的材料和乙方采购的材料都要符合国家规范标准(含环保标准)和设计要求,严格执行材料验收制度。 4.确保主体结构质量。主体结构质量关系到整体工程质量和安全,关系到每个职工生命安全,因此,必须确保主体结构质量。 5.抓好关键部位施工。越是人们不常去的地方,或者容易发生质量问题的部位,既是施工的难点,又是检查的重点,更应引起项目部的高度重视。 6.积极推广应用新技术新材料。随着科技进步,新材料、新技术不断涌现,施工企业要及时掌握这些信息、积极应用到工程中来。 7.加强培训,提高员工素质。施工企业对施工管理人员要进行定期培训,开展继续教育,不断提高管理水平和业务素质。 8.坚持“三检”制度。即每道工序完后,首先由施工人员提出自检,再由项目经理组织有关施工人员、质检员、技术员进行互检和交接检。隐蔽工程在做好“三检制”的基础上,请监理工程师审核并签证认可。对于工程施工过程出现的质量事故,一经发现,组织力量,严肃进行处理,事故的处理均由质量监理工程师负责全权组织。 如何做好项目的质量管控 一、以人为本,把好质量关 1.1过硬的专业技术知识是保证施工质量的前提。 对于整个施工过程来说,过硬的专业技术就是施工质量保证。专业技能的欠缺导致的结果就是把施工质量变成纸上谈兵。所以施工前要对项目经理、技术员、质检员、材料员、安管员等施工人员进行严格的赛选,并组织统一的培训,确保施工过程的顺利、安全、按照要求有序的进行。 1.2团结、交流是施工质量的可靠依托。 专业技术再精湛的个人,创造不了一个建筑史上的精品。然而专业技术强的团队却可以创造很多的建筑精品。所以在施工过程中内部的团结和交流是必须的。遇到问题多交流、多沟通,不可盲目自信或者得过且过,一切大事故的成因都是由于小原因堆积的。把威胁质量的隐患消灭在萌芽中,这就要求我们不但要团结,还要以一种虚心的姿态多与相关人员交流。使整个施工信息掌握在整个工程的施工人员手上,使施工人员的施工更有计划、更有目标。 1.3“精神”是保证施工质量的保险单。 在一个企业的发展中,离不开企业文化、企业精神。在工程施工过程中精神食粮也一样的重要。一.要让参与施工的人员充分认识到安全的重要性、质量的重要性,把每个施工过程都当做为自己创建家园一样用心。二.要对施工人员进行思想政治教育,培养施工人员的自觉性质量意识和团结、合作的精神。三.要对施工人员的职业道德进行教育,让施工人员认识到保证施工质量的必然性和强制性。也就是说任何一项对建筑整体有利的工艺程序都是我们必须遵守和应该做的,不能因为怕麻烦或其他借口推脱、简化工作流程。 二、机械的管理不容忽视 2.1要做到整齐,也就是说机械设备、施工工具的存放不能凌乱,任何一个施工人员都能轻松、准确的找到想用的设备、工具。 2.2是严格执行持证上岗要求,不能因为管理者认为他干这活没问题,他开这机械没问题,一旦出现安全事故将是追悔莫及,即使很顺利的情况下,谁又能保证他的作业水平。所以在使用机械过程中必须执行持证上岗的要求,这是对自己负责,也是对施工质量负责。 2.3是要做好人机固定、责任到位的要求。人机固定一方面可以保证机械的高效实用,另一方面可以确保机械的.正常、有效的维护,同时还可以把责任明确化,谁的操作出现失误就是谁的责任,是岗位责任制更加明确化。 2.4是做好交接班。要做好交接班,一要做好交接记录,二要在交接时对整个工作的进程、环境、状况等情况进行沟通,以保证接班人员工作的快速投入和状态的良好性。 2.5是要确保机械的安全使用。在机械使用过程中一定要保证机械设备的定期检查和保养。一方面是为了延长机械设备的使用寿命和提高机械设备的工作效率;另一方面则是排除机械故障,消灭不安全因素。总之,机械设备和工具的管理必须做到有条不紊,有制度可循,才能保证机械施工的安全、高效。 三、做好材料管理是施工质量的保障 3.1要严把质量关。在建筑业中,材料品种繁多且材质相差悬殊,再加上社会上的一些潜规则,极有可能把劣质的材料采购回来,严重影响施工质量,影响企业形象和企业的发展。因此,对所有采购材料都要抽检,先报验再根据检测报告决定是否使用,一切都由数字、由科学说了算。即使长期合作的单位也不能忽略这一程序。同家单位不同批次的货品同样要检验。做到采、验、用的严格把关和执行。 3.2要把材料分类堆放,本着方便、安全、不影响材料质量和使用性能的原则分类、分量堆放。这样不但可以保证材料领取、使用的效率,还能有效避免因为材料混放或放置不当引起的一些损失。 3.3是材料的发放,在材料发放中首先要按量、按需领取,杜绝小仓库的形成,保证材料的质量;其次已领取的材料如不能及时使用,必须按要求返库或按要求存放,避免乱堆、乱放现象的发生。这样才能保证材料的质量进而达到保证施工质量的目的。
什么是项目质量,如何做好项目质量管理?
项目质量是指项目所提供的产品、服务或成果是否符合要求,以及是否能够满足客户的期望和需求。项目质量涉及到项目管理中的各个方面,包括计划、实施、监控和控制等。项目质量的目标是确保项目成果的质量达到或超出客户的期望,同时最大限度地满足利益相关者的需求和期望,以确保项目的成功。项目质量管理是指在项目管理中,对项目质量进行计划、管理和控制的过程。项目质量管理包括制定项目质量计划、执行质量保证、进行质量控制等活动,旨在确保项目交付的成果符合预期质量水平。项目质量管理的核心是从项目开始时就设定合理的质量标准,然后按照标准执行质量保证和控制,以最终实现项目质量的目标。项目质量管理涉及到人员、流程、工具、技术等多个方面,需要综合运用各种管理技术和工具来实现项目质量目标。做好项目质量管理,需要关注一下几点:制定项目质量管理计划:确定项目质量目标和标准,明确质量保证和控制的方法和程序,规定质量检查和测试的标准和流程,以及制定纠正和预防措施。进行质量保证:通过质量保证活动,确认项目的产品、服务或成果符合预期质量标准,并确保其持续有效。进行质量控制:对项目过程中的产品、服务或成果进行监控和检查,确保其符合预期质量标准。质量控制包括产品检查、测试、审核、验证等活动。确定质量问题并采取纠正和预防措施:对质量问题进行识别、评估和处理,包括制定纠正措施和预防措施,并采取有效措施以防止质量问题再次发生。管理质量相关数据和信息:对项目质量相关数据和信息进行收集、分析和记录,并将结果用于改进项目过程和实现项目质量目标。确保团队成员的质量意识和参与度:培训和提高团队成员的质量意识和技能,鼓励他们参与到项目质量管理中,以确保项目质量的成功。质量在任何项目中都至关重要,需要采用最合适的方法和工具来维护项目的质量。8Manage PM项目管理软件为你提供质量规划、质量保证 和质量控制工作流程,从而对项目进行质量管理。使用该软件,你可以简化与质量管理相关的计划和监视任务,有效衡量项目质量标准,以此更好地控制项目可交付成果。通过以上的内容和活动,项目质量管理旨在确保项目的产品、服务或成果符合预期质量标准,并且能够满足客户和利益相关者的需求和期望,最终实现项目成功的目标。
项目质量管理及保证措施
项目质量管理旨在保证项目达到既定的质量要求,保证项目产品能够发挥既定的功能,从而满足项目相关方的特定需求。
因此,在项目中进行质量管理并做好质量管理对项目管理来说十分重要,项目管理者需要识别项目及其可交付成果的质量要求和标准,并制定项目质量管理计划。
在制定项目质量计划时,一个很重要的原则就是——以客户为导向。即以客户为中心,把客户的满意度作为衡量质量的标准。
项目质量管理计划的主要内容包括:
(1)项目的质量政策。可以直接引用组织的质量政策,也可以对组织的质量政策略加修改。
(2)项目的质量目标。包括项目的总体质量要求和高层级质量标准,如项目必须符合某个行业标准中的规定。
(3)质量角色的职责。谁应该对项目质量承担什么责任。
(4)质量管理程序、活动和工具。用于履行职责和实现目标的程序、活动和工具。
(5)对工作过程和成果进行质量评审。哪些工作过程和成果必须接受质量评审?将如何进行质量评审?将如何利用评审结果?
在管理项目质量的过程中,主要要做的是以下几点工作:
(1)让主要相关方确认项目将要达到的质量标准。
(2)执行质量管理计划中规定的质量管理活动,确保项目工作过程和工作成果达到具体质量测量指标和高层级的质量标准。
(3)编制将用于质量控制的质量测试与评估文件。
如何做好项目的质量管理
如何做好项目的质量管理 项目的时间、成本及质量的三大要素是缺一不可。这三方面的符合程度直接决定了项目的成败与否。那么如何做好项目的质量管理呢?一起来学习学习! 1、分析阶段 项目的开始阶段,也是质量控制的开始。在这个阶段中,主要的工作是从客户方获得足够多的项目需求,并准确地记录在案,而且要使得项目组的成员对于需求足够得了解。先说说这个项目的基本情况:一个信息管理系统,而且是在原来的版本上进行的功能增加。项目组的成员,除了我以前参加了前一个版本的开发,其它的人员都不了解这个项目。就是这样的一个项目,在开始阶段,我先是安排了组员对以前版本的需求文档进行了阅读,并安装使用了软件。随后对新的需求进行了研究,分析了它们对于原有系统的影响。由于是在旧有系统的文档进行增加,所以加入的新内容并不是很多,需求文档很快就完成了。所谓的分析阶段的里程碑也就结束了。 在需求阶段"顺利"结束的同时,问题也随之留下来,并对后面的阶段起到了"乘数效应"――影响变得越来越大: A. 对旧系统的理解不足 由于开发人员没有参与过上一个版本的开发工作,他们对于旧系统并不了解.虽然在阅读了以前的需求文档以及使用了软件之后,大概对系统的功能有了一个初步的认识.但是对于系统中出现的各种逻辑关系并没有深入了解下去.作为项目经理,在这项工作中,失误之处在于任务的结果(即输出)没有事先定义清楚,从而也就导致无法确认目标是否已经达到,再加上需求文档描述的也不是十分清晰.最后,只是在开发人员觉得已经理解该系统的基本上,进行了下一步的工作.没有进行进一步的确认工作,不知道组员进行旧系统已经了解到了什么样的程度。这个问题的结果,就是直接导致了后期的开发过程中,由于对于原先系统的逻辑关系不是很清楚。对于旧代码理解和新代码编写进行地不是很顺利。 B. 对新需求的分析不够 这还是个老问题,但又不是一个问题.说它是个老问题,因为分析需求要求考虑细致全面,并且能引导客户,启发客户提供更有价值的信息。事实上,需求分析我们做的算是很尽力了,同时客户把需求一条条的列出来给我们,相对来说需求已经很清楚了。我们在接到这些需求后,不仅研究了新功能,还把他们对于旧系统的影响都做了分析。但还是有些问题没有能在需求文档中反映出来,后面的影响也是可想而知的了。我以前的文章中才曾提到过相关的问题,在这里就不再重复了。不过,从另一个角度来看,它又不是一个问题。为什么这么说呢,因为需求实在不是能够在分析阶段就能完全理解透彻的,甚至有的需求客户也模模糊糊,直到交付以后才提出了改动的要求。软件开发经过这么多年的发展,大家已经认识到了一点:需求是变化的。要达到能够拥抱变化的要求,我们要对开发方法进行改进,相关的问题我在后面也会提到。 需求分析阶段出现的问题,解决的可操作性不是很大,更多的是从思想或经验上解决,而后面几个阶段出现的问题都相对具体一些。 2、设计阶段 设计阶段的问题相对比较明显――结构设计不合理,或者说还不够。一个传统的C/S结构的系统,基本结构我们采用了经典的三层模型来划分系统。由于是在旧有系统上的改进,我们在尽量不改变原有系统的基础上添加新的功能。 主要的问题可能就是体现在没有对旧系统进行改进。旧系统本身有一些复杂的功能,逻辑关系也比较复杂,耦合度非常高。所以,在新需求来临的时候,我们的第一反应就是尽量不去动原来的设计与代码,保证原有系统功能不会发生变化。这一点就暴露出了我们没有去拥抱变化的决心与胆量。虽然旧系统很复杂,但是我们不能去故意回避它。对于旧系统中设计的'不合理的地方,应该主动大胆的去进行重构。其实重构的作用就是对不合理结构的进行改进,设计模式更是在设计结构的变化改进中才能体现它的价值。而这些东西,在我们的项目中都没有应用.这可能跟我们的保守心理有关:只要不出问题,我们就不去动它,哪怕结构是多么的错综复杂。这种消极的观念在当今的充满变化的世界中是不太有前途的。项目经理要有足够的决心去做,同时,也不要担心去变化。当然,可能有人会说,时间紧怎么办,其实这种付出对于项目的整体是只有好处没有坏处的,因为结构合理会让开发人员会更少的时间去理解代码,减少代码开发的复杂度,提高代码编写的质量。唯一需要考虑的就是如果改动的话,如何来保证这种变化对原有系统的功能不产生影响。这就需要有更多的测试,最好是单元测试来保证,这就是下面会谈到的问题。 3、编码阶段 编码主要还是受了设计的限制,我们的主要工作就只是在原有的结构上添加一些类与方法,以及对原有的代码进行修改。前面也提到了,我们采用了比较保守的作法,没有对代码进行重构,放任这种高耦合的代码存在,导致我们在编码过程中花费了不少精力和时间去理解它们,并在其中加上一两条更加加深耦合度的代码。其实到了编码阶段,很多问题都纠缠到了一起,已经分不清因果了。比较说单元测试,首先我需要承认的一点就是没有足够的决心去做充分的单元测试,思想上也没有做好充分的准备。除去主观的因素之外,还有一点就是设计的结构不合理,很多的逻辑被处理在表示层中,数据处理则被加到了逻辑层中。没有划分出更多的接口供单元测试来验证。但反过来说,没有单元测试用例的支持,也降低了我们想要进行重构的决心。除了上述的问题之外,还有一些细节的地方,如硬编码,命名规则等都在一定程度上对代码的质量产生了影响。 改进的办法,一是从主观上接受变化的现实,主动的对代码进行改动。单元测试一定要进行,最好结合统计覆盖率的工具一并进行,这样对于每个接口,都保证有充分多的测试用例来跑完尽可能多的路径。在项目的质量管理上面,要求还需要更加严格一些,一定要按照规范来进行编码。 4、测试阶段 代码完成之后,测试的工作也随之展开。但是由于成本的原因,我们并没有再加入专业的测试人员来进行,而只是用开发人员自己来进行系统测试,让开发人员互相测试别人实现的功能。由于开发人员与测试人员所需的专注点不同,造成了开发人员很多问题在测试中没有被发现,缺乏测试的经验。从另一个方面说,是开发人员不能够及时的转换自己的角色,而是还把自己定位在开发人员上面,更加关注的问题出在什么地方并立刻去解决它,而不是设法去发现隐藏的Bug。当然,还有一些细节的地方,比如说测试都应该是开发人员发布一个安装包,然后单独进行测试,但有的时候为了图省事,有的功能在调试状态下发现通过了,在安装包中就没有再验证,有时也会出现意想不到的情况发生。 ;