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