谈项目管理和软件测试过程

合集下载

浅谈软件项目的管理方法

浅谈软件项目的管理方法

浅谈软件项目的管理方法软件项目的管理方法是指在软件项目开发过程中,对项目的组织、计划、控制和执行进行管理的方法和技术。

合理的软件项目管理方法可以提高项目的效率和质量,减少项目的风险和成本,对于软件项目的成功具有重要意义。

软件项目的管理方法包括项目管理流程、项目管理工具和技术、项目团队组织和管理、风险管理和质量管理等方面。

1. 项目管理流程软件项目管理流程是指对软件项目进行阶段划分、任务分解、任务依赖关系确定、资源分配、进度控制、问题解决、评审和验收等过程的管理方法。

常用的软件项目管理模型有瀑布模型、敏捷开发模型、自适应软件开发模型等。

根据具体项目的特点和需求,灵活选择适合的管理模型。

2. 项目管理工具和技术项目管理工具和技术包括项目计划工具、项目进度跟踪工具、项目问题和风险的管理工具等。

常用的项目管理工具包括甘特图、PERT图、敏捷项目管理工具等。

这些工具和技术能够帮助项目经理进行任务分配、进度跟踪、问题解决和决策支持,提高项目管理的精确性和效率。

3. 项目团队组织和管理项目团队的组织和管理是软件项目管理的关键之一。

软件项目通常由多个不同角色的成员组成,如项目经理、开发人员、测试人员等。

良好的团队组织能够提高团队的协作效率和沟通效果,减少项目的冲突和延误。

项目经理需要具备良好的领导能力和沟通能力,合理分配资源,激励团队成员,确保项目顺利进行。

4. 风险管理软件项目的风险管理是项目管理的重要环节之一。

项目经理需要对项目的各种风险进行识别、评估和应对措施制定。

风险管理的核心是风险的识别和评估,根据项目的特点和风险的严重程度,制定相应的风险应对措施,确保项目的顺利进行。

5. 质量管理软件项目的质量管理是保证项目交付的软件产品质量的关键。

质量管理的核心是制定项目质量标准、质量目标和质量计划,进行质量控制和质量保证。

质量管理的工具包括质量审核、评审、测试和验收等,能够确保软件产品的质量符合用户的需求和期望。

软件测试过程和管理浅析

软件测试过程和管理浅析
6 结 束 语
软件测试过程管理 的基本 内容包括计划 、组织和监控 ;测试过程 中存 在的问题有 : 1 . 软件质量标准定义不准确 、任务边界模糊 。 2 . 软件测试项 目的变化控制和预警分析要求高。 3 . 软件测试项 目 具 有智 力密集 ,劳动密集 的特点 ,受人力 资源的
软件开发过程 的质量决定软件的质量 , 软件测试过程的质量直接 影响测试结果的准确性和有效性。 1 软件 测试过程常用的模型
l 、 型
V 模型反 映出测试活动与分析设计活动的关系 ,指出单元测试和集 成测试应检测程序 的执行是否满足软件设计 的要求 。系统测试应检测 系统功能 、性能 的质量特性是否达到系统要求的指标 。验 收测试确定 软件的实现是否满足用户需求或合 同的要支持系统类型 的产品 , 对测试要求比较高 ,通常测 试人员 和开发人员 的比例为1 : 1 。 3 、对于特定应用系统一类产品 ,由于以后对象清楚 、范围小 , 甚 至可对应用平 台或应用环境加 以限制 ,所以测试人员可以再减少 ,但 测试人员和开发人员的比例至少保证在 1 : 2 的水平以上 。
可 以开 展 。
w模型指出软件各开发阶段 中应同步进行的验证和确认活动 ,即 测试 与开发也 应是 同步进行 的。w模 型有利 于尽早 和全面 的发现问
题。
3 、 型
、 r 模型与w模型有不妥 ,即它们都把软件的开发视为需求 、 设计和 编码等一系列 串行 的活 动,而事 实上 ,这些活动可 以交叉进行的 。H 模型揭示这一点 :软件测试是一个独立 的流程 ,贯穿于产品的整个生 命周期 中,与其他流程并发进行。 除 了上面的几种常见模型外 , 还有x 模型 、前置测试模型等 。在实 践中 , 建议以w 模型作为框架 ,及早全面地开展测试 ,同时灵活运用H 模 型独立 测试的思想 ,在达到恰 当的就绪点时就应该开展独立的测试 工作 ,同时将测试工作进行迭代 , 最终保证完成测试 目 标。

软件项目开发管理流程

软件项目开发管理流程

软件项目开发管理流程软件项目开发管理流程是指为了高效、有序地完成一个软件项目的全过程所需遵循的一系列步骤和管理方法。

一个好的管理流程能够帮助开发团队提高工作效率,降低项目风险,保证项目按时、按质完成。

下面将从项目启动、需求分析、设计开发、测试交付、运维支持等几个方面详细介绍软件项目开发管理流程。

一、项目启动阶段项目启动阶段是整个项目的前期准备阶段,包括项目立项、需求调研、项目规划等内容。

在这个阶段,需要明确项目目标、项目范围和时间、人力资源以及工作分配等。

1.确定项目目标:明确项目的目标和核心问题,确定项目的可行性以及预期效果。

2.需求调研:收集、整理和分析用户需求,明确项目的具体功能和特性,以便后续的项目规划和设计。

3.项目规划:根据需求调研结果,制定项目计划,包括任务分解、时间节点、人员分配、风险管理等。

二、需求分析阶段需求分析阶段是整个软件项目开发过程中最为关键的一环,它直接影响到后续的设计和开发工作。

1.需求澄清:通过与用户进行深入的沟通和讨论,进一步澄清和细化项目需求,确保清楚准确地理解用户的需求。

2.需求文档编写:根据需求澄清的结果,编写详细的需求文档,包括功能说明、用例分析、系统设计等。

3.需求评审:组织开发团队成员进行需求评审,确保需求的完整性、一致性和可行性,避免后期需求变更导致的额外工作量和项目迭延。

三、设计开发阶段设计开发阶段是按照需求分析阶段的结果进行具体的系统设计和编码开发。

1.系统设计:根据需求文档编写详细的系统设计文档,包括数据库设计、模块设计、接口设计等。

2.编码实现:根据系统设计文档,进行具体的编码和实现,采用适当的编码规范和开发工具。

3.代码评审:组织开发团队成员进行代码评审,确保代码的质量和可维护性,避免潜在的问题和漏洞。

4.软件集成:将各个模块进行集成和组合,进行系统测试,确保各个模块的功能和接口的正确性。

四、测试交付阶段测试交付阶段是对已开发的软件系统进行全面的测试和验证,并按时交付给用户。

软件开发流程从需求到交付的全过程管理

软件开发流程从需求到交付的全过程管理

软件开发流程从需求到交付的全过程管理在软件开发领域,有效的项目管理和流程控制是确保项目顺利完成的关键。

本文将从需求分析、设计、开发、测试、交付等方面,探讨软件开发全过程的管理。

一、需求分析需求分析是软件开发的起点,也是重要的一步。

在需求分析阶段,项目团队需要与客户充分沟通、理解客户的需求和期望,确保开发出符合客户要求的软件产品。

为了有效管理需求分析,建议项目团队采用以下流程:1. 收集需求:与客户进行会议或访谈,了解需要解决的问题和功能要求,记录并整理需求。

2. 需求优先级确定:根据需求的重要性和紧急程度,确定需求的优先级,以便在开发过程中优先考虑。

3. 需求可行性评估:评估需求的可行性,包括技术可行性、资源可行性、时间可行性等方面。

4. 需求明细化:将高层次的需求细化为具体的功能需求,包括输入输出、界面设计等。

5. 需求确认:与客户进行确认,确保需求完整、准确,并获得客户的认可。

二、设计设计阶段是将需求转化为可执行方案的过程。

在设计阶段,项目团队需要根据需求分析的结果,制定合理的架构设计和系统设计,以确保软件开发过程高效有序。

为了有效管理设计阶段,建议项目团队采用以下流程:1. 架构设计:确定系统的总体结构,包括系统层次结构、模块划分和模块之间的关系。

2. 详细设计:基于架构设计,进行更加详细的设计,包括数据库设计、算法设计、界面设计等。

3. 设计评审:进行设计评审,确保设计方案符合需求,并得到开发团队的认可。

4. 设计文档编写:编写详细的设计文档,记录设计过程和设计决策,为开发人员提供参考。

三、开发开发阶段是根据需求和设计进行具体编码的过程。

在开发阶段,项目团队需要按照设计要求,进行代码编写、模块集成和单元测试,以确保软件的功能和质量。

为了有效管理开发阶段,建议项目团队采用以下流程:1. 任务分配:根据设计要求和人员技能,合理分配开发任务,并设定明确的工期和目标。

2. 编码实现:根据详细设计和编码规范,进行代码编写,并进行适当的注释和文档编写。

项目管理与软件开发流程

项目管理与软件开发流程

项目管理与软件开发流程随着信息技术的不断发展,软件开发已成为了现代企业发展必不可少的一部分。

在软件开发的过程中,项目管理是关键因素之一。

只有通过科学的项目管理,才能保证项目的顺利进行,减少不必要的损失。

本文将结合实际情况,从项目管理与软件开发流程两个方面,探讨如何提高软件开发效率和质量。

一、项目管理项目管理是一组技能和技术,通过计划、组织和控制来达到特定的目标。

它有助于确保项目在时间、质量和资源限制条件下成功完成。

项目管理包括项目计划、执行、监控和收尾等多个方面。

为了保证项目管理的有效性,以下几点需要特别关注:1.明确项目目标在项目启动之前,需要明确项目的目标和需求,了解客户的具体要求和期望,这有助于为项目制定合理的计划和时间表。

只有在明确了项目目标之后,才能有针对性地开展项目管理工作和软件开发流程。

2.建立高效的组织机构在项目管理中,需要建立一套高效的组织机构,包括明确岗位职责、任务分工和职权等。

一个良好的组织结构可以将工作分配对应的人才和资源,实现工作效率的最大化。

同时,组织结构还可以有效减少项目的沟通成本,提高团队的协同效能。

3.制定科学的计划计划是项目管理中的关键环节,计划内容需要涵盖项目需求、风险、资源分配、进度安排、质量控制等多个方面。

一个科学、合理的项目计划可以为项目的实施提供明确的指导方针和保障措施。

4.有效的风险管理风险是项目管理中必须要面对的问题。

在项目执行过程中,可能会出现不同类型的风险,这些风险可能会对项目造成严重的负面影响。

因此,在项目管理中,需要建立风险管理机制,及时预警、分析和应对可能存在的风险,以最大程度地降低风险对项目正常执行的影响。

5.全程监控在项目执行过程中,需要进行全程监控,及时跟进项目进度和质量。

监控主要包括收集、分析和报告相关数据,并及时评估项目执行效果。

只有进行全面、有效的监控,才能及时发现问题并及时处理。

二、软件开发流程软件开发流程是指在软件开发过程中,通过特定的方法和规范,将从需求分析、设计、编码、测试和部署等一系列活动按照一定的先后顺序和时间限制进行,以满足客户需求和质量标准。

软件开发测试流程及规范手册

软件开发测试流程及规范手册

软件开发测试流程及规范手册第一章软件开发测试概述 (3)1.1 软件开发测试的目的 (3)1.2 软件开发测试的原则 (3)第二章需求分析 (4)2.1 需求收集 (4)2.2 需求确认 (4)2.3 需求文档编写 (5)第三章设计阶段 (5)3.1 软件架构设计 (5)3.2 模块划分 (6)3.3 数据库设计 (6)第四章编码规范 (7)4.1 编码风格 (7)4.1.1 命名规范 (7)4.1.2 代码排版 (7)4.1.3 代码结构 (7)4.2 代码注释 (7)4.2.1 注释原则 (7)4.2.2 注释格式 (8)4.3 代码审查 (8)4.3.1 审查内容 (8)4.3.2 审查流程 (8)第五章单元测试 (8)5.1 单元测试策略 (8)5.1.1 测试范围 (8)5.1.2 测试方法 (8)5.1.3 测试优先级 (8)5.1.4 测试环境 (9)5.2 单元测试执行 (9)5.2.1 编写测试用例 (9)5.2.2 测试执行 (9)5.2.3 调试与修复 (9)5.2.4 测试报告 (9)5.3 单元测试报告 (9)5.3.1 测试概览 (9)5.3.2 测试详情 (9)5.3.3 错误分析 (9)5.3.4 测试覆盖率 (9)5.3.5 改进建议 (10)第六章集成测试 (10)6.1 集成测试策略 (10)6.1.2 测试策略 (10)6.2 集成测试执行 (10)6.2.1 测试准备 (10)6.2.2 测试执行 (10)6.3 集成测试报告 (11)6.3.1 报告内容 (11)6.3.2 报告格式 (11)6.3.3 报告提交 (11)第七章系统测试 (11)7.1 系统测试策略 (11)7.2 系统测试执行 (12)7.3 系统测试报告 (12)第八章功能测试 (13)8.1 功能测试策略 (13)8.2 功能测试执行 (13)8.3 功能测试报告 (13)第九章安全测试 (14)9.1 安全测试策略 (14)9.1.1 测试目标 (14)9.1.2 测试范围 (14)9.1.3 测试方法 (15)9.2 安全测试执行 (15)9.2.1 测试准备 (15)9.2.2 测试执行 (15)9.3 安全测试报告 (16)9.3.1 报告内容 (16)9.3.2 报告格式 (16)第十章测试管理 (17)10.1 测试计划 (17)10.2 测试进度管理 (17)10.3 测试风险管理 (17)第十一章缺陷管理 (18)11.1 缺陷报告 (18)11.2 缺陷跟踪 (18)11.3 缺陷分析 (18)第十二章测试团队管理 (19)12.1 测试团队组织 (19)12.1.1 团队规模与结构 (19)12.1.2 职责分工 (19)12.2 测试人员培训 (20)12.2.1 测试基础知识 (20)12.2.2 软件开发流程 (20)12.2.3 测试工具与技能 (20)12.3 测试团队沟通与协作 (20)12.3.1 定期会议 (20)12.3.2 信息共享 (20)12.3.3 缺陷管理 (20)12.3.4 测试用例管理 (20)12.3.5 测试结果反馈 (21)第一章软件开发测试概述1.1 软件开发测试的目的软件开发测试是软件工程中的一环,其主要目的在于保证软件产品的质量,提高用户满意度,降低维护成本。

软件开发项目管理

软件开发项目管理

软件开发项目管理的全过程:规划、团队、需求、设计、编码、测试、部署上线、维护软件开发项目管理是一种利用系统化、结构化和科学化的方法,对软件开发项目进行规划、组织、指导和控制,以达到项目目标的过程。

本篇将详细阐述软件开发项目管理的各个环节,包括项目规划、团队建设、需求分析、设计、编码、测试、部署上线、维护等阶段。

一、项目规划项目规划是项目管理的第一步,主要确定项目的目标、范围、时间表、预算等。

在项目规划阶段,需要明确项目的目标,并对项目进行可行性分析,评估项目的风险和收益。

同时,还需要制定项目的初步时间表和预算,为后续的团队建设和任务分配提供依据。

二、团队建设团队建设是软件开发项目管理的关键环节之一,包括组建项目团队、分配角色和职责、制定团队沟通机制等。

在团队建设阶段,需要选择具备相应技能和经验的成员,并根据项目需求进行角色和职责的分配。

同时,还需要制定团队的沟通机制,确保团队成员之间的信息流畅和工作协同。

三、需求分析需求分析是软件开发项目管理的重要环节之一,主要确定用户需求和项目需求,并进行分析和评估。

在需求分析阶段,需要与用户进行充分沟通,了解用户的需求和期望,并对需求进行分类和评估。

同时,还需要编写需求文档,明确项目的需求和功能要求。

四、设计设计是软件开发项目管理的核心环节之一,包括系统架构设计、模块设计、数据库设计等。

在设计阶段,需要根据需求分析的结果,制定系统的整体架构和模块结构,并确定数据库的结构和数据的流向。

同时,还需要制定详细的设计文档,为后续的编码和测试提供依据。

五、编码编码是软件开发项目管理的核心环节之一,主要根据设计文档进行编码实现。

在编码阶段,需要遵循一定的编码规范和标准,确保代码的质量和可读性。

同时,还需要进行代码的版本控制和代码审查,确保代码的稳定性和安全性。

六、测试测试是软件开发项目管理的重要环节之一,主要对系统进行全面的测试,确保系统的稳定性和可靠性。

在测试阶段,需要进行单元测试、集成测试和系统测试等多种测试类型,以确保系统的各个部分都能够正常工作并协同工作。

软件测试项目管理实施与经验总结

软件测试项目管理实施与经验总结

软件测试项目管理实施与经验总结在软件开发过程中,软件测试是一个非常重要的环节。

而软件测试项目管理的实施和经验总结,则是软件测试项目顺利进行的关键。

在这篇文章中,我将为大家介绍如何有效地实施软件测试项目管理,并总结一些宝贵的经验。

软件测试项目管理的实施需要明确的目标和计划。

在开始测试项目之前,我们需要明确测试的范围、目标和时间计划。

通过与相关的项目负责人和开发团队进行沟通,确保测试的目标与项目需求一致。

同时,制定详细的测试计划,包括测试的任务分配、资源需求和测试进度等。

测试团队的组建和协作是软件测试项目管理的关键。

在组建测试团队时,我们需要考虑每个成员的专业技能和经验。

不同的测试人员可以负责不同的测试任务,包括功能测试、性能测试、安全性测试等。

在测试团队协作过程中,我们需要建立有效的沟通和协作机制,确保团队成员之间的信息交流畅通,并能够及时解决问题和调整测试计划。

第三,测试用例的设计和执行是软件测试项目管理的核心。

测试用例是测试的基础,它们描述了测试的步骤、预期结果和测试数据。

在设计测试用例时,我们需要考虑到功能点的覆盖率和边界条件的测试。

并且,测试用例的执行需要严格按照测试计划进行,并记录下测试的结果和问题。

通过有效的测试用例设计和执行,可以提高测试的效率和准确性。

第四,问题的跟踪和解决是软件测试项目管理中不可或缺的一部分。

在测试过程中,我们经常会发现问题和缺陷。

及早发现和解决问题,可以保证软件质量和项目进度的达成。

因此,我们需要建立问题跟踪系统,记录和追踪测试中发现的问题。

同时,及时与开发团队进行沟通,协调解决问题的优先级和进度。

软件测试项目管理的经验总结是提高测试效果的关键。

在每个测试项目的结束后,我们需要对整个测试过程进行经验总结和反思。

这包括测试项目的评估、团队成员的评估和测试工具和技术的评估等。

通过经验总结,我们可以发现测试过程中的不足和问题,并为以后的测试项目提供指导和改进的方向。

综上所述,软件测试项目管理的实施和经验总结对于保证软件质量和项目进度的达成至关重要。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

谈项目管理和软件测试过程1软件测试在公司的组织保障是基础1.1 研发部组织结构介绍以华友公司研发部的组织结构为例,测试部门属于研发部副总裁直接管理,见如下结构图公司研发部的组织结构图对于从事软件研发的组织来说,工作类型至少包括项目管理、产品设计、编码、测试、质量确保和软件设置管理,及其他人员,如文件编制人员和美工人员/系统硬件管理人员等。

根据职能需要,能以半独立方式进行部门和项目的矩阵管理,即职员要对项目经理/组长负责,也要对部门经理/总监负责,工作考核由双方一起完成,标准的组织应包括技术研发部/组(主要是编码和设计人员),产品研发部/组(产品需求和项目管理),测试部/组,设置管理部/组(因为设置管理人员基本上是按20个技术人员配一个设置管理人员,所以一般部门规模较小,或只是设置管理组),软件质量保障部/组,其他部/组(如系统/文件/美工等)。

华友公司组织结构中,研发部是公司软件研发的核心部门产品研发Ⅰ部、Ⅱ部、和应用研发部主要负责:和软件产品部或内容产品部配合,协助完成内容产品的可行性、合理性分析;平台、网关、应用产品的研发项目的立项和方案评审;研发项目的概要设计、周详设计工作;研发项目的编码、单元测试工作;组织公司相关部门进行研发产品的培训;协助相关部门做好产品的售前技术支持工作;协助相关部门进行软件的安装和调试;根据相关部门的需求做好产品的售后服务工作,保障软件的运行正常。

测试部隶属研发部,主要职责如下:和内容产品部和软件产品部配合完成软件需求分析讨论,并根据需求说明书制订《项目测试方案》,编写《测试用例》,建立测试环境;负责完成研发部各研发组研发的软件产品研发过程和投入运营之前的新增软件和修改升级软件的模块测试和系统测试;建立、推广并维护实施软件版本管理系统CVS和VSS;使用并维护软件缺陷管理系统Bugzilla,负责软件问题解决过程跟踪记录;负责推广实施软件研发文件规范化工作,管理研发产品相关文件;负责配合软件运维部门等对于新业务软件或修改升级业务软件的上线测试工作,并提供上线测试报告;负责监督软件研发流程的执行,并负责提出软件研发过程改进建议,提高软件产品质量。

1.2 软件产品研发各部门的组织结构分解1)华友公司从2003年10月开始,对项目组制订明确指标的独立考核,各研发部门是技术总监带队,再细分各项目经理具体负责项目计划和执行,对项目具体研发成员进行分工。

对于测试部门制订年度测试部门任务计划/考核表,如SMS业务销售额指标完成:目标1:9900万(奖金提取比例为0.01%);目标2:16800万(奖金提取比例为0.02%);目标3:23200万(奖金提取比例为0.03%)周详给出财务目标和业务运营目标。

在每周的研发经理工作会议上交流报告任务进展情况,并提出最近测试需求,测试部门经理负责制订测试计划、测试用例和测试实施方案,安排测试工程师和对应的研发人员交流完成测试执行工作。

测试部经理负责研发流程管理和人力资源、测试用软硬件资源调配,需要和研发之外的部门定期交流掌控下周或近期可能测试任务,所有其他外部接口都由测试部经理负责完成,和其他项目组和产品部门协调项目进度。

2) 工作汇报关系为:研发部门:Team Member->Team Leader->研发总监->研发部副总裁->总裁。

测试部门:测试工程师->测试小组经理->测试部经理/总监->研发部副总裁->总裁。

3)项目成员结构:公司通常的研发项目组为6到8个研发人员,最多不超过10人。

华友公司的经过三次改造后的组织结构和项目组结构,各个业务部门分类非常细,任务明确,软件研发的每一个步骤都有专门的部门、专门的人员负责,从最基础的研发人员到负责统领全局的总监和副总裁,层层管理,沟通渠道畅通。

而在软件测试上,由于有限的测试资源,首先体目前公司的组织结构上,集中表现为测试部门不得不面对公司级管理部门的缺失和管理的交叉上,没有质量管理部门,部门质量管理工作测试部门兼做。

公司从成本角度考虑,测试部门规模较小,测试人员总数不超过10人,几乎每个测试人员接收处理10个研发人员的测试任务需求。

从实际情况出发,首先明确测试部门和软件研发部门相对独立的组织关系,确保测试人员的工作不受研发小组的控制,实现测试客观、公证。

华友公司要想有效地保障产品质量,首先就要在构架合理的组织结构和测试流程上下功夫,这就如同盖高楼首先要打好地基相同,地基不打牢,结构和流程不合理,其他方面再下功夫也是徒劳。

从实践经验看,一年前首先成立测试部,把属于研发部门的测试工程师归口到独立的测试部门管理,其次建立规范的测试流程,和研发部门交流,需求每周提出测试需求,再根据现有的资源制订每周测试计划,同时向人力资源部门提出招聘计划,随着测试工作的成绩不断被研发部门和上级领导认可,再推广实施软件研发过程规范化的管理,通过测试实践的优良成绩来确立测试部门在公司的地位和作用,经过一年的奋斗测试部门从无到有,从最初两人到目前十人,软件设置管理和缺陷跟踪系统已被60%的研发人员自愿使用和接收。

总结本人在华友一年多测试工作经验,深深体会到在国内从事软件项目研发难、从事软件测试和质量确保工作更难,需要具有扎实的技术功底同时,不断提高测试项目管理能力,寻找工作的突破口。

世上无难事,只怕有心人,不过只要你努力献身于软件测试工作,打出一片天地是有可能的。

(待续)2设置管理系统是项目经理的"眼睛",是软件测试有效实施的前提在软件质量体系的诸多支持活动中,设置管理系统处在支持活动的中心位置,他有机地把其他支持活动结合起来,形成一个整体,相互促进,相互影响,有力地确保了质量体系的实施。

建立公司设置管理系统非常容易得到公司领导层的支持,几乎没人反对。

更重要的是建立设置管理系统后测试人员的工作有了系统确保,测试工作的"矿藏资源"有了明确的位置,能主动积极开展测试工作。

2.1 项目管理存在的主要问题华友公司测试部门去年刚成立时,以建立、规范和推广使用设置管理系统CVS为突破口,同时建立缺陷跟踪系统Bugzilla提高测试流程的管理水平。

我做为测试负责人首先分析华友公司几个软件项目在研发管理上的现状,。

存在问题一、公司几个核心项目仍然过分分依赖少数个人的作用,没有建立起协同作战的氛围,没有科学的软件设置管理流程; 技术上只重视系统和数据库、研发工具的选择,而忽视设置管理工具的选择,导致即使有些项目有设置管理的规程,也由于可操作性差而搁浅。

以上种种原因导致研发过程中普遍存在如下一些问题: 调查说明华友研发成员的变动的比率达到30%,几乎每周都有新加入的员工或辞职人员,一个新成员熟悉项目的最佳途径就是通过设置管理系统阅读项目文件,甚至阅读同行代码,达到快速学习、一起提高的目的。

一个辞职人员能利用设置管理系统保留部分一段时间工作,最大程度减少对项目研发造成的损失。

存在问题二、研发管理松散。

领导了解工作完成情况重视口头交流,忽视书面文件。

有些部门主管无法确切得知项目的进展情况,项目经理也不知道各研发人员的具体工作,项目进展随意性非常大,可"左"可"右"。

"左"时按领导下达的"期限"进行,到期时,似乎一切已顺利完成,大家一阵胡弄,交差完成,反正领导看的是界面,至于里面是什么,留到施工时再说。

施工时的工作因此变成了无法汇报、无法理清的无休止的维护。

"右"时则项目工期无休止地延期。

对我们软件工程来说,总的特点是先"左"后"右"。

在领导面前表现"左",在用户面前表现"右"。

有个测试人员经常利用上班时间学习英语,过了一个多月,看她依然如此,我做为项目领导进行批评教育,这名员工并不认为自己错了,她争辩,公司采取弹性工作时间,考核员工是分配的任务是否完成等理由。

同时、我对她批评结果遭到她的恶意报复,她给有关领导报告新来的经理怎么不懂公司业务,采取不适合公司的管理方式等,由于领导无法了解真相,使得我的工作在一段时间开展非常困难,直到过去半年,这名员工辞职出国学习领导才明白发生了什么。

存在问题三、项目之间沟通不够。

各个研发人员各自为政,每个项目经理都像个"地主",编写的代码不仅风格各异,而且编码和设计脱节。

每个项目组的人力资源和硬件资源成了"私有财产",自己人员即使暂时空闲,让他从事所谓的新技术研究,也不考虑友邻项目需要他们帮助的现状。

本来研发中错误在所难免, 进展早一点的项目组或人力资源强的项目组已积累类似问题的解决经验,也不愿意分享给其他项目组。

研发大量重复, 留下大量难维护的代码。

典型案例是有个短信项目D两年来在这个研发人员Y 的研发支持下运转效益非常好,不过三个月之前,研发人员 Y因为待遇问题和公司领导谈判失败,提出辞职。

项目D仍然在运行,不过最近移动公司规范修改、系统升级,需要修改程式,没人能看到及时更新的文件,尽管有一堆代码库,不过后来的程式员都没办法分析明白程式结构。

公司领导出面请研发人员Y来协助,因为没有文件记录,Y忙于新公司的工作也不能解决修改。

存在问题四、文件和程式严重脱节。

软件产品是公司的宝贵财富,代码的重用率是相当高的,怎么建好知识库,用好知识库对公司优质高效研发产品,具有重大的影响。

但研发人员的一句名口号是:"叫我干什么都能,但别叫我看别人的程式"。

当然,研发人员的工作态度要转变,但客观上有一个非常重要的原因是:前人留下的程式既无像样的文件(即使留下了文件 ,其和源程式也严重脱节),研发风格又不统一,就像一堆垃圾,要研发人员到垃圾中去捡破烂,从这个角度上看,研发人员的需求是合理的。

存在问题五、测试工作不规范。

仍然停留在"小姑娘做测试"的底水平上,传统的研发方式中,测试工作只是人们的一种主观愿望,根本无法提出具体的测试需求,加之研发人员的遮丑,测试工作往往是走一走过场,测试结果既无法考核又无法量化,当然就无法对以后的研发工作起指导作用。

存在问题六、虽然项目施工时间不长,但软件版本更新周期过短,几乎每天都修改在线运行系统,且研发人员必须亲自现场或远程登陆操作,全国十几个地点软件内容多少都有点差别,这些差别都记录在几个骨干人物的脑袋里。

由于应用软件的特点,各个不同的施工点有不同的需求,研发人员要手工地保持多份不同的拷贝,即使是相同的问题,但由于在不同地方提出,由不同人解决,其做法也不同,程式的可维护性越来越差。

久而久之,最后连自已都分不清晰了,代码的相互覆盖现象时有发生,且这苦水还无法倾诉,因为怕别人笑话,甚至别人问起,还得想法搪塞,可谓费尽苦心。

相关文档
最新文档