我所在的团队是以二次开发和维护一套大型件产品为主。不谈项目与产品的区别,只说目前的开发流程。看看大家对这种开发方式有什么建议。
1.产品有多个版本,以不同的分支并行开发。处于开发阶段的一般都是最高版本。每当发布小版本,则该小版本所有的defect item 都需要在高版本中拷贝一份(譬如clearquest clone),以便高版本中也进行修改。这样使得修正过后的代码与高版本branch同步,同时意味着高版本也修正了这些defect. 当然需要重新在高版本中再进行测试和验证。
2.因为产品有很多用户,所以很多时候需要考虑的是向后兼容性,而不是发现个defect则不管三七二十一修正了是。如果改动的影响较大,则考虑将该defect推迟至最高版本修复。至于目前,尽量让客户接受以变通方式来绕过这个defect.
3.针对每一个记录在bug tracking系统的defect,在提交变更代码之前需要在team内部做一次review。仿照PSP
(Personal Software Process)的方式,建立了review checklist.譬如有一项就是,该defect 是否真的需要在当前版本 fix.
4.每一次的版本发布,需要整理所有已修复的defect,然后基于time line挑选出最紧急和必要的项。QA也只会去测试包含在该发行版的defect, 唔,回归测试也是必需的。
5.在产品发布后,记录信息以供将来参考和回顾。如defect rate, productivity, good practice.
很明显客户与管理层非常重视产品质量,所以为了提高团队的开发质量,团队做了很多的努力,譬如建立代码团队审查制度,尽量做到no review no checkin,还有开发人员必须做unit test。
问题还是有的,很重要的一个就是生产率的降低。很多的时间都耗在了review,unit test - 其实并不是严格意义上的单元测试,因为这是一个遗留的大型平台软件系统,很多模块没法用mock。典型的就是GUI的bug
. 因为有这样的手动"单元测试"要求,导致测试很繁琐,开发人员是非常的反感。
题外话,目前的工作基本不涉及严格意义上的需求和设计,有的只是理解defect,安全的解决defect,可别inject一个新的defect. Oops, 这是我们的核心KPI.
分享到:
相关推荐
本文档主要介绍了Gitblit的搭建和Git协作开发流程,旨在帮助创业团队和小型开发团队快速搭建自己的代码服务器。同时,文档也提供了基本的开发流程,代码提交、代码上传、代码merge等流程的命令行指令。 一、概述 ...
它不仅定义了软件架构,还规范了硬件接口,以及方法论、开发流程和工具的使用,为整车厂提供了控制开发过程并降低成本和风险的技术途径。 综上所述,AUTOSAR不仅是一种技术标准,更是一种行业共识,它推动了汽车...
WEB2.0 8国语言门户系统(CMS韩国团队开发)是一个高级的网络内容管理系统,由韩国的专业团队研发,目前已被知名的互联网企业NAVER收购。这个系统的特点在于它支持8种不同的语言,使得用户能够创建面向全球不同国家和...
### 机器人比赛开发流程 #### 一、RoboCup仿真比赛概述 RoboCup(机器人世界杯足球锦标赛)是一项旨在推动分布式人工智能、智能机器人技术及其相关领域研究与发展的国际赛事。通过提供一个标准化的任务环境,...
标题中的“APP产品团队开发官网模板”指的是一个专为展示和介绍APP产品设计的网站模板,这个模板是基于HTML5技术构建的。HTML5(超文本标记语言第五版)是目前网页开发的标准语言,它提供了许多增强用户体验和交互性...
目前的研究主要是从产品协同开发过程和流程活动本身出发,注重通过技术、应用的建模方法对流程进行研究,而从人的角度出发进行产品协同开发流程管理及其在实际案例中的应用还有待研究。在国家自然基金的资助下,课题...
目前的新品开发流程包括以下步骤: 1. 销售部门收集客户需求和市场信息,编写新品开发说明书。 2. 开发部门根据说明书制定设计方案,包括功能设定、技术标准、费用估算和核心技术评估。 3. 硬件和软件设计阶段,分别...
目前的新品开发流程包括多个阶段:首先,销售部门根据客户需求、行业动态和技术竞争态势提出新产品开发说明书。接着,开发部门基于此说明书制定整体设计方案,进行硬件和软件设计,并进行调试。生产部门则依据开发部...
### 单片机主要开发流程(方便初学者有个宏观的把握) #### 一、项目需求分析与规划 在正式开始单片机项目的开发之前,首先需要进行的是项目需求分析。这一阶段主要是对项目的功能需求、性能指标以及预期目标进行...
一个好的软件开发过程能够帮助团队高效地完成任务,并确保最终产品的高质量。 #### 三、软件开发方法概述 目前主要有两种主流的软件开发方法:面向对象方法和结构化方法。 ##### 1. 结构化方法 结构化方法的基本...
目前的新品开发流程包括以下几个阶段: 1. 销售部门首先提出新品开发说明书,基于客户需求、行业动态和技术对比。 2. 开发部门制定整体设备设计方案,包括功能定义、技术标准符合性、费用估算和核心技术验证,随后...
在组建Java开发团队的过程中,涉及到多个关键步骤和知识点。以下是对这些知识点的详细解读: 1. 组建团队的过程: 组建团队首先要确定使用的技术栈,以适应业务需求和项目规模。团队成员的角色通常包括不同级别的...
【目前的开发流程】部分详细阐述了新品开发的各个步骤,从销售部门提出开发说明书,到开发部门的设计、硬件和软件开发,再到生产部门的批量生产和工程部门的施工准备,最后是产品的定价和推广。整个流程涉及多部门...
本文主要探讨了基于CMMI模型的Y公司软件开发流程优化问题,旨在提升软件开发效率和质量,适应日益激烈的市场竞争,尤其是物联网和锂电池应用领域的发展需求。CMMI(Capability Maturity Model Integration,能力成熟...
根据给定文件的部分内容,我们可以总结出以下几个关键的知识点: ...以上是关于麦肯锡新产品开发流程的主要知识点概述,这些原则和流程不仅适用于xx集团,也适用于其他希望优化新产品开发过程的企业。
- **使用git flow简化操作**:git flow是一个基于Git Flow工作流的辅助工具,可自动化创建、切换和结束分支,简化开发流程。 6. **发布代码流程** - **发布Release**:从develop分支创建release分支,开发团队完成...
通过统计代码行数,注释比例等,团队可以更好地评估项目状态,优化开发流程,并且通过对代码数据量的分析,可以对项目的规模有清晰的认识。在实际开发过程中,这样的工具能够提高团队的工作效率,促进项目管理的精细...
### 流程设计开发向导知识点详述 #### 一、RunaWFE开发者指南概述 **RunaWFE**是一款开源的工作流管理系统,自2004年起由ZAORuna发布并持续维护至今,目前版本为3.0。该系统采用LGPL许可证发布(许可证详情可参考...
为了从根本上解决这个问题,企业需要改进软件开发流程,在应用开发的整个过程中持续关注应用安全。微软在这方面有着丰富的经验,并创建了一整套名为“安全开发生命周期”(Secure Development Lifecycle for ...