Upload
herman-poole
View
268
Download
0
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
2010Confidential
软件研发管理- 基于 JIRA+SVN 的版本管理交流
白冰 Mail:[email protected] MSN:[email protected] 年 6 月欢迎大家沟通交流
2010Confidential
一、软件研发价值新趋势二、软件研发、交付环节暴露的问题三、 JIRA+SVN 软件版本管理四、 JIRA 的其他功能
目录
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
2010Confidential
一、软件研发价值新趋势软件研发的发展趋势有以下几个特点:1. 客户越来越成熟,分工越来越细致 要求:对业务咨询能力、需求前瞻能力要求提高 转变:软件供应商独家交付咨询服务商 + 软件开发商协同研发2. 企业管理越来越专业化、精细化 要求:用户对软件的功能细节、可用性,用户体验的要求越来越高3. 监管法规、行业政策等促使企业管理的持续改善 要求: 1. 软件供应商的研发管理能力、版本管理能力等 2. 用户对软件质量要求越来越高
业务驱动力– 协作– 新业务– 资金– 财务共享中心
– 营销– 物流– 分析– 数据中心
– 用户体验– 平台无关– 集成– 技术路线
技术驱动力
融合催生 安全 Portal/SSO 等等
策略管理 内控 合法合规
财政部 证监会 审计署 银监会 保监会 关于印发《企业内部控制基本规范》的通知 ( 本规范自 2009 年 7 月 1 日起实施 )
2010Confidential
一、软件研发价值新趋势 软件生产定义的工作范围是刚性要求 , 是交付成果物,是我们的工作目标。
能够赢得客户赞誉和附加值的是质量、可用性、性能、相应及时性、团队工作氛围、信任度等软指标
2010Confidential
一、软件研发价值新趋势二、软件研发、交付环节暴露的问题三、 JIRA+SVN 软件版本管理四、 JIRA 的其他功能
目录
2010Confidential
二、软件研发、交付环节遇到的问题
需求传递失真
非功能性需求被忽略
需求管理
开发
分析设计
测试
实施运维
版本交付节奏失控
软件需求管理
单元测试缺失
集成测试
用户验收测试
问题管理与修正随意
版本发布失控
持续版本升级
版本持续集成
个性化需求
需求变更
分阶段上线
客户供应商
软件版本无规划
2010Confidential
一、软件研发价值新趋势二、软件研发、交付环节暴露的问题三、 JIRA+SVN 软件版本管理
– 1 )代码提交与问题单相结合 (JIRA+SVN)– 2 ) JIRA 多版本管理– 3 ) JIRA+SVN 版本管理案例
四、 JIRA 的其他功能
目录
2010Confidential
Issue
PMO
QC
Developers
1. 报告问题
Issue Issue Issue
创建项目,版本,模
块,项目组成员权限分
配等
问题分拣问题监控统计分析
问题跟踪解决 - 常规流程
6. 重新打开问题
2. 分拣问题
PM/PSM
5. 确认解决
3. 受理问题 4. 解决问题
三、 JIRA+SVN 软件版本管理1)JIRA+SVN
2010Confidential
缺陷跟踪:缺陷跟踪采用 JIRA 为平台进行管理,与配置管理SVN 相结合,将问题 Key+ 问题描述与 SVN 的代码提交相结合,让问题的追溯和版本更新更清晰。
三、 JIRA+SVN 软件版本管理1)JIRA+SVN
2010Confidential
添加修改代码文件
1
将修改后的文件提交到 SVN ,在 Message 对话框中填写
JIRA 中的问题号 + 问题概要描述
2
在 JIRA 环境中即可查看到与此问题相关的原文件的改动,
起到关联可追溯的目的。
3
1)JIRA+SVN
2010Confidential
SVN Log Messages
三、 JIRA+SVN 软件版本管理1)JIRA+SVN
2010Confidential
JIRA Subversion Commits
1)JIRA+SVN三、 JIRA+SVN 软件版本管理
2010Confidential
基于开发机进行版本管控
1.Bug 修复(与 SVN 结合)
版本释放:版本号中包括源代码 Revision 信息 SVN:29309
2. 整理热点补丁、热点回退补丁,补丁说明等。
3. 验证测试后进行补丁发布
版本管控 - 脱机管理
2010Confidential
质量管控总结
1.Bug 修复(与 SVN 结合)
版本释放:版本号中包括源代码 Revision 信息 SVN:29309
2. 整理热点补丁、热点回退补丁,补丁说明等。
3. 验证测试后进行补丁发布
如何把版本维护、持续升级过程中的问题有效管理起来?
版本管控 - 脱机管理
2010Confidential
需求变更特点:1. 变更频繁和琐碎2. 需求管理,需求功能规格实时同步工作量大;分阶段同步内容容易遗漏。
探索:1. 分阶段交付 ”需求规格说明书 .doc”2. 阶段内变更与升级 JIRA 配置管理
1) 需求规格说明书 -第一阶段 .doc2) 需求规格说明书 -第二阶段 .doc
a) 软件版本规划:制定版本的交付节奏 - 范围 ( 需求、缺陷 )
三、 JIRA+SVN 软件版本管理2)JIRA 多版本
2010Confidential
a) 软件版本规划:制定版本的交付节奏 - 时间
JIRA 为多版本管理提供了支撑
影响版本: bug 在哪些版本中被发现修复版本: bug 计划在哪个版本中修复
例如:- 影响版本,如一个 bug 可能影响版本 1.1 和 1.2 。- 修复版本,如 bug影响版本 1.1 和 1.2 ,可能在 2.0版本上被解决。
版本的三种状态:发布 /released 、未发布 /unreleased 、归档 /archived
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
Issue
QC
Developers
1. 报告问题
Issue Issue Issue
b) 问题跟踪解决日常流程
2. 分拣问题
PM/PSM
JIRA 为多版本管理提供了支撑
创建问题 -选择影响版本
分拣问题 - 修改修复版本
按照交付节奏解决问题4. 解决问题
2010Confidential
c) 版本控制报告 ( 自动生成 ):• Open issues( 打开的问
题 )• Roadmap( 路线图 )• Release report( 发布报
告 )• Change log( 修改日志 )• 趋势分析
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ):Roadmap( 路线图 )
PM/PSM通过需求、改进点、缺陷的分拣,实现交付节奏的控制
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ):Release report( 发布报告 )
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ):Change log( 修改日志 )
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ): 趋势分析
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ): 趋势分析
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ): 趋势分析
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
c) 版本控制报告 ( 自动生成 ): 趋势分析
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
心得:1. 版本要早规划早定义,而不是开发后再确定版本号2. 使用工具辅助开发管理,让“异地开发管理” 变得简单;3. 作为介质,为开发管理的持续改进提供了数据支撑
已发布已发布
已发布
2)JIRA 多版本三、 JIRA+SVN 软件版本管理
2010Confidential
重点:1. 软件需求和交付节奏2. 需求变更与缺陷跟踪
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
运行维护
可能是 n次迭代
VSS
2010Confidential
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
每个版本包含三个要素:1. 需求和缺陷的集合2. 决策优先级3. 结合团队交付效率的合理完成时间
1-1 版本定义
PM/PSM
2010Confidential
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
注意:1. 指定修订版本2. 分配责任人,关注人等
1-2 需求 / 问题分拣
PM/PSM
分拣问题 - 修改修复版本
2010Confidential
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
注意:…
2 系统设计
Designer VSS
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
2010Confidential
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
关键:按照交付节奏进行问题的受理与修订
3-1 受理需求 / 缺陷
Developer
3-2 开发与单元测试
3-4 解决问题
3-3 代码提交
Developer
Developer
Developer
2010Confidential
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
4-0 修改系统“关于”
PSM
代码提交
注意:1. 填写 版本号 1.4.12. 填写 SVN 修订号 382093. 填写 版本日期 2010.05.26
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
2010Confidential
3) 案例三、 JIRA+SVN 软件版本管理
软件交付节奏
系统设计
软件实现
验证测试
版本发布
5-1 发布版本
5-2 版本发布通告
PSM
QCPSM
2010Confidential
Dead line: 创建任务 / 缺陷时指定完成期限 (dead line)工期管理:创建任务,评估工期、反馈工期 / 工作记录 (一个任务可以多次反馈 )任务管理风险管理…
四、 JIRA 的其他功能
2010Confidential
价值观
言必信,行必果,硁硁然小人哉。
师者,所以传道受业解惑也
2010Confidential
Questions & Answer
Good idea !