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