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

2011 年 11 月 12 日

近日,一些评论员提出了是否可将敏捷方法应用于硬件开发项目中的疑问。
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:54 1257
用户头像

发布了 108 篇内容,共 406081 次阅读,收获喜欢 2 次。

关注

评论

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

git的几种实用操作(合并代码与暂存复原代码)

良知犹存

git

易观方舟Argo+CRM | 让企业数据发挥更大价值

易观大数据

面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

小林coding

乐观锁 高并发 操作系统 计算机基础

Spring-boot 单元测试

陈靓-哲露

从想当亿万富翁到职场、创业、爱情、抑郁、学医学武,我的程序人生

陆陆通通

Java 创业 程序员 爱情 程序员生活

区块链支付系统开发技术方案,USDT支付系统搭建

13530558032

智慧公安重点人员管控系统平台开发,智慧警务系统

13530558032

Spring Boot CLI 介绍

hungxy

Spring Boot Spring Boot CLI

HTTP必知必会

陈靓-哲露

跨专业学习6个月,成功上岸阿里|滴滴,分享学习路线供大家参考

小Q

Java 学习 架构 面试 基础

天猫成立房产部门,利用区块链承载交易多项服务功能

CECBC区块链专委会

区块链 房地产

当代开发者的好帮手,浅析.NET敏捷开发框架的优势与特点

Philips

敏捷开发 软件开发 .net core 开发工具

QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考

科技缪缪

架构 编程语言

为什么企业需要CRM系统?CRM的作用及其重要性分析

力软.net/java开发平台

软件开发 信息化 CRM

区块链技术智能合约有哪些实际的应用场景

CECBC区块链专委会

智能合约 区块链技术

AWS在线技术峰会2020探班回顾,四大看点不容错过

Yumiko

云计算 AI 云原生 金融 医疗

LeetCode题解:622. 设计循环队列,使用双向链表,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

Java异常面试题(2020最新版)

Java架构师迁哥

数字经济时代来临 区块链护航数字资产安全

CECBC区块链专委会

金融 数字时代

TCP和HTTP中的KeepAlive机制总结

陈德伟

nginx TCP 性能 网络 HTTP

DDD+微服务实战:什么是DDD?

深度码农

微服务 领域驱动设计 DDD

入行架构师之前,这7项技能你要先了解一下

华为云开发者社区

架构 架构设计 架构师

实战案例丨GaussDB for DWS如何识别坏味道的SQL

华为云开发者社区

数据库 sql 算子

本以为自己MySQL够牛逼了,直到亲自去阿里受虐了一次!

Java架构师迁哥

赞!腾讯T4分享web性能笔记,竟包含大量网络协议的优化技巧

周老师

Java 编程 程序员 架构 面试

Java-技术专题-JMX超详细解读

李博@Alex

未来已来!全球一流科技盛会——云栖大会9月17日线上隆重举办

北柯

数字货币交易所技术开发,交易所源码

13530558032

数字资产钱包开发方案,区块链数字钱包软件源码

13530558032

Java-技术专题-AQS和Volatile和Synchronized实现原理

李博@Alex

银行数仓体系发展之路

易观大数据

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