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模式下开展敏捷开发的一些问题汇总的更多相关文章

  1. XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化

    XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化 我们现在用的就是典型的XP+devOps模式,已经放弃scrum了 现在还很多公司弄docker虚拟化docker非常复杂,当然 ...

  2. 杨学明老师推出全新课程--《敏捷开发&IPD和敏捷开发结合的实践》

    课时:13小时(2天) 敏捷开发&IPD和敏捷开发结合的实践 讲  师:杨学明 [课程背景] 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Developmen ...

  3. IPD体系向敏捷开发模式转型实施成功的四个关键因素

    文/杨学明  集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...

  4. MVC开发模式下的用户角色权限控制

    前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...

  5. 告诉你吧,一套皮肤在winform与wpf开发模式下实现的界面效果同样精彩,winform界面和wpf界面。

    一.同一资源: 二.先上软件界面: (1)wpf界面: 在wpf中实现这样类似web风格的软件界面就不用我多说了,在wpf实现这样的风格是很简单的,完全像网页设计一样的. (2)winform界面 在 ...

  6. 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...

  7. Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时 ...

  8. ART模式下基于Xposed Hook开发脱壳工具

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik ...

  9. 基于dalvik模式下的Xposed Hook开发的某加固脱壳工具

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77966109 这段时间好好的学习了一下Android加固相关的知识和流程也大致把A ...

随机推荐

  1. QTP实现功能测试的时候,当新版本的页面都改变了,应该如何解决

    去更改对象仓库的属性和更改对象仓库.

  2. activeamq启动失败

    启动activeamq,启动时控制台显示: INFO: Using java '/usr/bin/java'INFO: Starting - inspect logfiles specified in ...

  3. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

  4. C++ 创建和遍历二叉树

    一个简单的创建和遍历二叉树的C++程序,二叉树的其他操作程序待更新. #include <iostream> using namespace std; struct BiTNode{ ch ...

  5. 正则表达式python和C++对比

    pattern格式(基本通用): pattern格式 符号 说明 ^ 匹配开头 $ 匹配结尾 . 匹配任意一个字符 [...] 匹配任意一个指定的字符 [^...] 匹配任意一个非指定的字符 * 匹配 ...

  6. Python自动化 【第八篇】:Python基础-Socket编程进阶

    本节内容: Socket语法及相关 SocketServer实现多并发 1. Socket语法及相关 sk = socket.socket(socket.AF_INET,socket.SOCK_STR ...

  7. ios category,protocol理解

    category: 向现有的类中增加方法,同时提供方法的实现,现有类不需要做任何改动. protocol:(相当于Java或C#中的接口interface,当很多类都要需要类似的方法,但是方法具体实现 ...

  8. Android文件系统的结构

    Android 4.2.2 版本的文件系统 内核版本为 3.0.31 版本号为JDQ39 factory//估计是存放网络通信协议的登录密钥的|-- bluetooth|-- hdcp.keys|-- ...

  9. Mysql 与日期和时间相关的函数

    目录: 常用日期函数 时间加减函数 date_forma函数 1. 常用日期函数 now() current_timestamp() sysdate() 实例一: 从上图可以看出三个函数都是用来获取当 ...

  10. C语言-------多文件编译

    (1)前段时间,学长讲解宏的一些知识  也提起了那个多文件编译,同过看别人的博客,自己也懂了一些,现在来总结一下这个多文件编译,其实和java里面的那个class的调用好像有联系 其定义即可以理解成: ...