39
2010 Confidential 软软软软软软 - 软软 JIRA+SVN 软软软软软软软 软软 Mail:[email protected] MSN:[email protected] 2010 软 6 软 软软软软软软软软

软件研发管理 - 基于 JIRA+SVN 的版本管理交流

Embed Size (px)

DESCRIPTION

软件研发管理 - 基于 JIRA+SVN 的版本管理交流. 白 冰 Mail:[email protected] MSN:[email protected] 2010 年 6 月 欢迎大家沟通交流. 目录. 一、软件研发价值新趋势 二、软件研发、交付环节暴露的问题 三、 JIRA+SVN 软件版本管理 四、 JIRA 的其他功能. 一、软件研发价值新趋势. Size makes differences. Tens to hundreds. 10 4 ~10 7. Low. High. No. Yes. Usually one person. - PowerPoint PPT Presentation

Citation preview

Page 1: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

软件研发管理- 基于 JIRA+SVN 的版本管理交流

白冰 Mail:[email protected] MSN:[email protected] 年 6 月欢迎大家沟通交流

Page 2: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

一、软件研发价值新趋势二、软件研发、交付环节暴露的问题三、 JIRA+SVN 软件版本管理四、 JIRA 的其他功能

目录

Page 3: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

一、软件研发价值新趋势Size makes differences

Small program Working system

Code size (lines)

Complexity

Repeated updates

Developer(s)

Reliability requirement

Tens to hundreds 104~107

Low High

No

Usually one person

Yes

Usually many people

Low High

Page 4: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

一、软件研发价值新趋势软件研发的发展趋势有以下几个特点:1. 客户越来越成熟,分工越来越细致 要求:对业务咨询能力、需求前瞻能力要求提高 转变:软件供应商独家交付咨询服务商 + 软件开发商协同研发2. 企业管理越来越专业化、精细化 要求:用户对软件的功能细节、可用性,用户体验的要求越来越高3. 监管法规、行业政策等促使企业管理的持续改善 要求: 1. 软件供应商的研发管理能力、版本管理能力等 2. 用户对软件质量要求越来越高

业务驱动力– 协作– 新业务– 资金– 财务共享中心

– 营销– 物流– 分析– 数据中心

– 用户体验– 平台无关– 集成– 技术路线

技术驱动力

融合催生 安全 Portal/SSO 等等

策略管理 内控 合法合规

财政部 证监会 审计署 银监会 保监会 关于印发《企业内部控制基本规范》的通知 ( 本规范自 2009 年 7 月 1 日起实施 )

Page 5: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

一、软件研发价值新趋势 软件生产定义的工作范围是刚性要求 , 是交付成果物,是我们的工作目标。

能够赢得客户赞誉和附加值的是质量、可用性、性能、相应及时性、团队工作氛围、信任度等软指标

Page 6: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

一、软件研发价值新趋势二、软件研发、交付环节暴露的问题三、 JIRA+SVN 软件版本管理四、 JIRA 的其他功能

目录

Page 7: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

二、软件研发、交付环节遇到的问题

需求传递失真

非功能性需求被忽略

需求管理

开发

分析设计

测试

实施运维

版本交付节奏失控

软件需求管理

单元测试缺失

集成测试

用户验收测试

问题管理与修正随意

版本发布失控

持续版本升级

版本持续集成

个性化需求

需求变更

分阶段上线

客户供应商

软件版本无规划

Page 8: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

一、软件研发价值新趋势二、软件研发、交付环节暴露的问题三、 JIRA+SVN 软件版本管理

– 1 )代码提交与问题单相结合 (JIRA+SVN)– 2 ) JIRA 多版本管理– 3 ) JIRA+SVN 版本管理案例

四、 JIRA 的其他功能

目录

Page 9: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

Issue

PMO

QC

Developers

1. 报告问题

Issue Issue Issue

创建项目,版本,模

块,项目组成员权限分

配等

问题分拣问题监控统计分析

问题跟踪解决 - 常规流程

6. 重新打开问题

2. 分拣问题

PM/PSM

5. 确认解决

3. 受理问题 4. 解决问题

三、 JIRA+SVN 软件版本管理1)JIRA+SVN

Page 10: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

缺陷跟踪:缺陷跟踪采用 JIRA 为平台进行管理,与配置管理SVN 相结合,将问题 Key+ 问题描述与 SVN 的代码提交相结合,让问题的追溯和版本更新更清晰。

三、 JIRA+SVN 软件版本管理1)JIRA+SVN

Page 11: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

添加修改代码文件

1

将修改后的文件提交到 SVN ,在 Message 对话框中填写

JIRA 中的问题号 + 问题概要描述

2

在 JIRA 环境中即可查看到与此问题相关的原文件的改动,

起到关联可追溯的目的。

3

1)JIRA+SVN

Page 12: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

SVN Log Messages

三、 JIRA+SVN 软件版本管理1)JIRA+SVN

Page 13: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

JIRA Subversion Commits

1)JIRA+SVN三、 JIRA+SVN 软件版本管理

Page 14: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

基于开发机进行版本管控

1.Bug 修复(与 SVN 结合)

版本释放:版本号中包括源代码 Revision 信息 SVN:29309

2. 整理热点补丁、热点回退补丁,补丁说明等。

3. 验证测试后进行补丁发布

版本管控 - 脱机管理

Page 15: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

质量管控总结

1.Bug 修复(与 SVN 结合)

版本释放:版本号中包括源代码 Revision 信息 SVN:29309

2. 整理热点补丁、热点回退补丁,补丁说明等。

3. 验证测试后进行补丁发布

如何把版本维护、持续升级过程中的问题有效管理起来?

版本管控 - 脱机管理

Page 16: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

需求变更特点:1. 变更频繁和琐碎2. 需求管理,需求功能规格实时同步工作量大;分阶段同步内容容易遗漏。

探索:1. 分阶段交付 ”需求规格说明书 .doc”2. 阶段内变更与升级 JIRA 配置管理

1) 需求规格说明书 -第一阶段 .doc2) 需求规格说明书 -第二阶段 .doc

a) 软件版本规划:制定版本的交付节奏 - 范围 ( 需求、缺陷 )

三、 JIRA+SVN 软件版本管理2)JIRA 多版本

Page 17: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

a) 软件版本规划:制定版本的交付节奏 - 时间

JIRA 为多版本管理提供了支撑

影响版本: bug 在哪些版本中被发现修复版本: bug 计划在哪个版本中修复

例如:- 影响版本,如一个 bug 可能影响版本 1.1 和 1.2 。- 修复版本,如 bug影响版本 1.1 和 1.2 ,可能在 2.0版本上被解决。

版本的三种状态:发布 /released 、未发布 /unreleased 、归档 /archived

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 18: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Issue

QC

Developers

1. 报告问题

Issue Issue Issue

b) 问题跟踪解决日常流程

2. 分拣问题

PM/PSM

JIRA 为多版本管理提供了支撑

创建问题 -选择影响版本

分拣问题 - 修改修复版本

按照交付节奏解决问题4. 解决问题

Page 19: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ):• Open issues( 打开的问

题 )• Roadmap( 路线图 )• Release report( 发布报

告 )• Change log( 修改日志 )• 趋势分析

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 20: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ):Roadmap( 路线图 )

PM/PSM通过需求、改进点、缺陷的分拣,实现交付节奏的控制

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 21: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ):Release report( 发布报告 )

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 22: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ):Change log( 修改日志 )

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 23: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ): 趋势分析

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 24: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ): 趋势分析

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 25: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ): 趋势分析

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 26: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

c) 版本控制报告 ( 自动生成 ): 趋势分析

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 27: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

心得:1. 版本要早规划早定义,而不是开发后再确定版本号2. 使用工具辅助开发管理,让“异地开发管理” 变得简单;3. 作为介质,为开发管理的持续改进提供了数据支撑

已发布已发布

已发布

2)JIRA 多版本三、 JIRA+SVN 软件版本管理

Page 28: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

重点:1. 软件需求和交付节奏2. 需求变更与缺陷跟踪

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

运行维护

可能是 n次迭代

VSS

Page 29: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

每个版本包含三个要素:1. 需求和缺陷的集合2. 决策优先级3. 结合团队交付效率的合理完成时间

1-1 版本定义

PM/PSM

Page 30: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

注意:1. 指定修订版本2. 分配责任人,关注人等

1-2 需求 / 问题分拣

PM/PSM

分拣问题 - 修改修复版本

Page 31: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

注意:…

2 系统设计

Designer VSS

Page 32: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

注意:1.SVN 源代码配置库要全面 :*.java,*.jsp,*.xml,*.sql,…2. 配置目录结构 PSM 要做好规划;3.每位研发团队成员按规范操作。

3-0 SVN 规划PSM

SVN 样例

eb/QYG40921

Trunk

Tags

SSC

Web App

Report Files

DB Script

SSC_v1.3.5_online_formal

SSC_v1.3.6_online_formal

Page 33: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

关键:按照交付节奏进行问题的受理与修订

3-1 受理需求 / 缺陷

Developer

3-2 开发与单元测试

3-4 解决问题

3-3 代码提交

Developer

Developer

Developer

Page 34: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

4-0 修改系统“关于”

PSM

代码提交

注意:1. 填写 版本号 1.4.12. 填写 SVN 修订号 382093. 填写 版本日期 2010.05.26

Page 35: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

4-1 打包 /make WAR

4-2 测试 / 关闭问题

JIRA 配置库

以下机制相互衔接建立联系1 、软件研发规划版本 ( 版本号,范围定义 )2 、 JIRA 版本(版本号,问题需求清单)3 、 SVN 标签4 、应用程序包命名5 、程序“关于”中版本提示(如 V1.4.1 build 38209 )

QC

PSM QC

Page 36: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

3) 案例三、 JIRA+SVN 软件版本管理

软件交付节奏

系统设计

软件实现

验证测试

版本发布

5-1 发布版本

5-2 版本发布通告

PSM

QCPSM

Page 37: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

Dead line: 创建任务 / 缺陷时指定完成期限 (dead line)工期管理:创建任务,评估工期、反馈工期 / 工作记录 (一个任务可以多次反馈 )任务管理风险管理…

四、 JIRA 的其他功能

Page 38: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

价值观

言必信,行必果,硁硁然小人哉。

师者,所以传道受业解惑也

Page 39: 软件研发管理 - 基于 JIRA+SVN 的版本管理交流

2010Confidential

Questions & Answer

Good idea !