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 ...
随机推荐
- Python list 操作
创建列表sample_list = ['a',1,('a','b')] Python 列表操作sample_list = ['a','b',0,1,3] 得到列表中的某一个值value_start = ...
- linux查看访问windows共享目录NT_STATUS_DUPLICATE_NAME问题解决
linux查看访问windows共享目录NT_STATUS_DUPLICATE_NAME问题解决 [jason@superfreak ~]$ smbclient //powerhouse-smb.my ...
- Mycat配置文件schema.xml参数配置
Mycat原理: Mycat的原理中最重要的一个动词是"拦截",它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析.路由分析.读写分离分析.缓存分析等 ...
- linux tr命令详解
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您也可以用它来除去重复 ...
- HTTP请求之:PHP函数header常用功能
1.页面重定向 当浏览器接受到头信息中的 Location: http://xxxx 后,就会自动跳转到 http://xxxx 指向的URL地址,这点有点类似用 js 写跳转.但是这个跳转只有浏 ...
- VC++ MFC 按钮的全部样式Style
Button Styles BS_3STATE 与复选框一样本样式按钮可被单击变暗.变暗状态通常用于指示本样式的按键正处于禁用状态. BS_AUTO3STATE 与三状态的复选框一样当用户选中它本 ...
- DIOCP之数据接收事件
一.不引用编码器与解码器的情况下(ECHO的DEMO) 类TIOCPtcpclient,接收服务器的数据事件:OnRecvBuffer 类TDiocpTcpServer,接收客户端数据事件:OnRec ...
- [转载] Android Studio 上第一个 Xposed 模块
本文转载自: http://www.open-open.com/lib/view/open1451364108964.html 环境: 已root手机一枚 Android Studio一枚 官方文档参 ...
- DrawingControl控件在Add Page时报故障的问题
Visio二次开发用到了Drawing Control控件.在控件上添加新页面时,visual编译器报内存保护故障“尝试读取或写入受保护的内存.这通常指示其他内存已损坏.”,这个问题困扰了我很久,最后 ...
- xcode archive 一直是灰色的
把配置选择为device才能选build and archive的,模拟器的肯定不能build and anchive