IPD模式下开展敏捷开发的一些问题汇总
1、 我们现在普遍用的是老系统情况下,什么时候把软件和硬件在敏捷项目里面集成?
答:有两种场景:第一种场景是把软件分几个迭代,最后把软件和硬件一起集成;第二种场景是更好的一种场景,每几个迭代后,就把开发出来的部分软件和硬件在一起集成测试,不管这个硬件是开发了一部分或者是整体,软件完成后,在迭代末尾做一个更广泛的整体测试。总的来说,集成和测试越早开始越频繁越好。有个医疗仪器公司,他们有一个非常庞大复杂的系统,这家公司为了提高仪器质量,甚至改变硬件开发流程,把软件分成多个模块来开发。每开发一个模块就先测试这个模块,而不是像以前一样,把整体产品开发出来后进行一个大规模的非常昂贵的测试,导致发现缺陷比较晚。开发出来每个模块后就进行测试,开发出来几个模块后进行集成,这样效率和质量都提高。在产品开发中,不管是硬件还是软件,最大的问题是集成的问题。解决方案是迭代结束后就展开测试,集成测试越早开始越频繁越好。虽然集成是大问题,但是要做到每两个迭代就做一次大集成是很困难的。我们可以退而求其次,第一个阶段,提前一个月来做集成。如果渐渐觉得做的不错,可以提前两个月来做集成和测试,分步骤的循序渐进的做。还有一种情况是比较难做的,一个团队是瀑布式是开发,一个团队是敏捷迭代式开发,这两个团队就需要协商,瀑布式开发的团队需要把写代码和单元测试时间提前一个月进行。
2、 Story依赖硬件怎么处理
如果Story依赖硬件,而硬件需要在版本后期才能完成,对于这种情况,前面的迭代Story没法交付,怎么办?如果把所有的Story累积到最后交付,不能做到持续交付,风险非常大。
一种办法是把Story拆分成两个,一个是可以在仿真系统或者老硬件上进行某某操作,另一个是在新硬件进行某某操作。前一个Story,可以在前面的迭代交付,后一个Story,只能等新硬件完成后才能交付。软件方面大部分的工作,都已经在前一个Story完成,后一个Story,主要是跟硬件的联调工作。
另一种办法是硬件提前开发;或者硬件分阶段开发,先提供DEMO板;或者先提供部分单板。这样Story实施时,相应的硬件已经具备,可以直接测试。
3、 在产品架构烂、自动化测试程度低、人员技能低的情况下,我们什么时候可以开始实施敏捷实践?
星期一就可以(注:我们的交流是在周四和周五进行的)。敏捷/精益思想的本质是持续改进。敏捷不是一天就可以做到,而是一个不断调整、不断适应的过程。当发现并标识出重点问题后,去解决问题才是关键。
4、 华为的设备是电信级的高可靠性设备,只有Internet产品才适合迭代开发。
这是一个误解,美国军方都已经修改了标准,在1994年12月,发布IID模型的498标准。但他们的失误浪费了全世界纳税人的钱,其他政府的修改要慢的多。美国NASA航天飞机软件的核心部分就是一个70年代迭代开发的成功案例,31个月,17次迭代,平均每8周一次迭代。
5、 迭代开发如何做架构?不分析完所有需求,架构能稳定吗?
答:在迭代的早期,我们需要尽早的理解架构上的关键需求,这只是全部需求的一个子集,而且架构性的需求很多是非功能性的质量需求,如可靠性、安全性等,和功能性需求关系不大,容易把握。在迭代的中期,架构的需求和功能性的需求可以并行开发。
6、 按特性组建开发团队,谁来做架构?谁来考虑共享?
答:在敏捷方法中,架构团队是存在的,当然可以是虚拟的,也可以是实体的,各特性团队中的首席程序员/架构师会组成产品的架构团队,在迭代的早期参与架构的设计和开发工作,当架构工作完成后,他们又会回到特性团队中工作。在需要的时候,仍可以召集相关人员对架构进行讨论和优化。
IPD模式下开展敏捷开发的一些问题汇总的更多相关文章
- XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化
XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化 我们现在用的就是典型的XP+devOps模式,已经放弃scrum了 现在还很多公司弄docker虚拟化docker非常复杂,当然 ...
- 杨学明老师推出全新课程--《敏捷开发&IPD和敏捷开发结合的实践》
课时:13小时(2天) 敏捷开发&IPD和敏捷开发结合的实践 讲 师:杨学明 [课程背景] 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Developmen ...
- IPD体系向敏捷开发模式转型实施成功的四个关键因素
文/杨学明 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...
- MVC开发模式下的用户角色权限控制
前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...
- 告诉你吧,一套皮肤在winform与wpf开发模式下实现的界面效果同样精彩,winform界面和wpf界面。
一.同一资源: 二.先上软件界面: (1)wpf界面: 在wpf中实现这样类似web风格的软件界面就不用我多说了,在wpf实现这样的风格是很简单的,完全像网页设计一样的. (2)winform界面 在 ...
- 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...
- Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时 ...
- ART模式下基于Xposed Hook开发脱壳工具
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik ...
- 基于dalvik模式下的Xposed Hook开发的某加固脱壳工具
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77966109 这段时间好好的学习了一下Android加固相关的知识和流程也大致把A ...
随机推荐
- JS宝典
hammerjs 终止事件流 window.event.returnValue = false; return false; 页面显示调用方法.类似viewWillApper IOS和android表 ...
- sublime ctags
安装 ctags: 下载ctags,复制exe到系统目录或者sublime text的目录中 sublime: 安装ctags插件 使用: 快捷键 Command Key Binding Alt Bi ...
- 关于隐藏input输入内容问题
如果想通过获取焦点输入改变内容,type不能是hidden的 <input type="hidden" id="test"> // 这种是不行的,只 ...
- JavaScript入门
本篇内容是学习慕课网相关课程后,总结出可能未来会忘记的内容 (一)JavaScript入门操作 1.js代码插入位置,以及执行顺序 <head> <script type=" ...
- SQLSERVER | 查询数据库中所有的表的名字 | 查询数据库中的所有数据库名
SQLSERVER 1.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 2.查询数据库中的所有数据库 ...
- CADisplayLink以及和NSTimer的区别
什么是CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器.我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个r ...
- ios block和函数的区别
block是封装了一段代码的OC对象,可以被设为Property, 在调用block的地方block都会被替换成相应的代码,相当于内联函数. 函数可以使代码更加整洁易读,使用block会使代码可读性变 ...
- 由tombstone文件解析jni代码过程
Android开发测试会经常遇到crash. (1)adb shell (2)cd /data/tombstones/ (3)adb pull /data/tombstones/tombston_00 ...
- 现成的HTML5框架
1>sencha-touch 2>phoneGap 3>jQuery mobile 4>bootstrap
- android_开发环境配置
在学习 Android 之前,需要配置开发环境. 我用的是 eclipse ,简单说下 eclipse 的 Android 的环境配置. 如果没有JDK得先下载:http://www.oracle.c ...