写点什么

能否在硬件项目中应用敏捷方法?

  • 2011-11-12
  • 本文字数:1449 字

    阅读完需:约 5 分钟

近日,一些评论员提出了是否可将敏捷方法应用于硬件开发项目中的疑问。
Neil Johnson 在电子工程专辑中发表了一篇文章:敏捷型硬件开发——荒唐还是很有必要?

他提出了一个问题:

将敏捷方法应用到硬件开发中的做法是否存在争议?那些用来指导敏捷软件开发团队的方法论,在片上系统(SoC,System on Chip)的团队中是否仍旧有着相同的指导意义呢?在这两个截然不同的领域中是否存在很大差异?

接着,他在文章中提到了一段关于敏捷宣言( www.agilemanifesto.org )的讨论,以及其如何使敏捷方法成为软件开发的指导思想。然后引出了他的问题——在硬件开发中敏捷行为是否适用?他提到:

对于那些将硬件研发作为一个创新过程的团队来说,很难否定敏捷的价值观是否直接受用。但仅仅关注价值观层面显然是不够的。从某种意义上来讲,抽象的价值观需要转变为具体的实践。幸运地是,软件开发团队已经积累了丰富的实践经验,这些实践恰好体现了敏捷的价值,同时也可在硬件开发中发挥指导性的作用。

他首先承认了在软件和硬件研发活动中存在的不同有着一定的必然性,然后还鼓励硬件团队要在硬件环境中进行敏捷实践的尝试。

接着,他以软件开发中的持续交付为例:

最有代表性的一项实践,就是为客户提供更早地或持续地部署。对于大多数敏捷型软件团队来讲,持续部署对项目的成功起着决定性的作用。不幸地是,在硬件研发中适用性的缺乏,意图打破敏捷的这个特征。尤其对于专用集成电路(ASIC,Application Specific Integrated Circuit)来说,实施持续交付显然不现实。但是,一个实践的不理想并不意味着将整套实践体系否定。没有哪个敏捷型软件开发团队能将敏捷开发的思想实现的淋漓尽致,对于硬件团队,我们也应该持相同的态度。

在最后的结论中,他向以硬件为主的组织提出了倡议:

在硬件开发中需要有所改变。不管这是从改变规范、人员调整、团队激励还是技术开始,变化都无法避免。那些为了获得更好成绩而放弃现有思想的团队,在敏捷宣言的带领下,将会在硬件开发领域重振旗鼓,并取得更好的突破。相反,那些墨守成规的团队,将会在现代化的硬件开发大潮下,继续从事着徒劳且低效的工作。

Larry Maccherone 于今日也以类似的方式写谈论了关于在硬件项目中实施敏捷的 10 个首要问题

他提供了一个列表,在列表中记录了硬件项目中的相关问题以及他的回复,意在以此来引导敏捷思想的实施:

  1. 在进行非软件项目时(固件类、电子类、机械类等),敏捷实践的思想和过程是否仍旧有效?
  2. 要想使 Scrum 过程框架在这些项目中发挥作用,需要做哪些调整?
  3. 在围绕最小可市场化功能(Minimal Marketable Feature)、紧急设计(Emergent Design)以及保持设计垂直瘦小(thin vertical slices)层面,我们期望有哪些调整?
  4. 在用户故事层面,我们期望有哪些调整?
  5. 用户故事如何根据为用户带来价值的不同,来确定优先级?
  6. 用户故事是我们做需求管理时唯一可以使用的工具吗?
  7. 用户故事甚至在 Scrum 中都没有被列为官方要求,那我们为什么就不能沿用传统的需求调研管理方法呢?
  8. 当我们需要将一个电路板(或原型)发送给生产厂商,此时,连一次完整的迭代还未完成,又该如何去做呢?
  9. 依赖和关键路径分析如何去做?
  10. 或许我们不必持续地做关键路径的分析,但是我们仍然有专家并非永久致力于团队。这种局面我们如何去面对?

在每个问题之后,他都进行了简要的回答,然后就实际实践中可能遇到的冲突和如何去解决问题进行了讨论。

敏捷实践真的能适用于硬件研发么,要想敏捷的思想发挥作用,还需要做出那些改变呢?

查看英文原文: Can Agile Development Work in Hardware Projects?

2011-11-12 11:542628
用户头像

发布了 156 篇内容, 共 55.2 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

简单入门计算机网络

宇宙之一粟

计算机网络 2月月更

聊聊API安全的重要性及治理思路

陈俊

安全 API 应用架构

微服务架构实践原则

俞凡

架构 微服务

微信朋友圈高性能复杂度分析

唐尤华

架构实战营

ReactNative进阶(四十七):移动端调试利器 vConsole

No Silver Bullet

ReactNative 2月月更 vconsole

JDK9响应式流使用详解

蜜糖的代码注释

Java Java9 2月月更 响应式流

JVM进阶(一):初识 JAVA 栈

No Silver Bullet

Java JVM 2月月更

ReactNative进阶(五十一): 常见样式梳理

No Silver Bullet

CSS ReactNative 2月月更

Spotify系统架构

俞凡

架构 大厂实践 2月月更 spotify

ReactNative进阶(四十八):Mobile App 适配性优化实战

No Silver Bullet

适配 ReactNative 2月月更

ReactNative进阶(四十五):渐变组件 react-native-linear-gradient

No Silver Bullet

React Native 2月月更

MySQL架构设计

JavaEdge

2月月更

WebRTC 如何在安卓系统上采集视频数据 | 社区征文

liuzhen007

音视频 新春征文 2月月更

浅析 Python 中的 Collections 模块

宇宙之一粟

Python 2月月更

怎样设计一个广告系统

俞凡

架构 大厂实践 2月月更

ReactNative进阶(五十):IOS 系统 Crash 日志分析实战

No Silver Bullet

ios React Native 2月月更

Promise 基本方法的简单实现

编程三昧

JavaScript Promise 2月月更

在线格式时间计算时间差

入门小站

工具

Java9特性-响应式流(Reactive Stream)

蜜糖的代码注释

Java 响应式 响应式编程 2月月更

使用 React、Solidity 和 Web3.js 构建真实世界的 dApp

devpoint

dapp React Solidity Web3.0 2月月更

《卡片笔记写作法》读书笔记 - 重新认知思考和写作

懒时小窝

读书感悟 读书总结

(2-1/26) 滑雪的准备

mtfelix

300天创作

【拥有新时代的通信协议,引领云原生迈向更高的舞台】解密Dubbo3从微服务升华到云原生 | 社区征文

码界西柚

云原生 Cloud Native Dubbo3 新春征文 2月月更

原型与原型链

编程三昧

JavaScript 前端 1月月更

精度丢失问题

编程三昧

2月月更

Kubernetes初学者指南

俞凡

架构 Kubernetes 云原生 2月月更

Linux之killall命令

入门小站

Linux

树概念总结

en

数据结构

再解 JavaScript 原型 与原型链

编程三昧

JavaScript 前端 原型 原型链 2月月更

Firefox 登录后无法同步书签

TroyLiu

firefox 工具 浏览器 数据同步 书签

也谈一下Web3.0-01

wood

300天创作 Web3.0

能否在硬件项目中应用敏捷方法?_研发效能_Shane Hastie_InfoQ精选文章