写点什么

给成功敏捷开发的 26 条建议

  • 2009-11-08
  • 本文字数:1084 字

    阅读完需:约 4 分钟

Keith Swenson 最近编制了一份给敏捷软件开发的 26 条建议。Keith 提到他常常收集一些不同主题的至理名言,这份列表是这一系列至理名言的精华,肯定能很好地帮助到敏捷软件开发。

在他的博文中,有人评论说很多建议可能并不是专门针对敏捷的,而是面向如何更好的软件开发和设计。Keith 回应说对于有资历的敏捷实践者而言,那些建议可能听起来太平常了,但是还是有更多的受众对那些实践并不是太了解。他补充说:

我正和几个团队在日本一起工作,他们使用一种很严格的瀑布开发模式。对于这种团队来说,我提到的那些建议,可能有一半都“令人惊奇”,甚至可能被认为是很激进的意见。比如“先写测试再写代码”以及“没有必要就永远不要去实现”这些对他们来说就是很激进的概念。他们自豪于“全面”实现功能,甚至去杜撰客户并未提出的用例。结果当然就是代码过度,这是另一种浪费。他们有时候等 6 个月来完成测试。对于在严格的瀑布模式中进行实施的人们来说,测试只是一种“辅助”,正确工作的程序员不需要它。很惊奇哦?

Keith 提议的某些“不是非常常见” 的有趣建议有:

  • 完整地做完第一件事后再开始第二件。软件开发的一个大问题就是同时做几件事情,这将不可避免地使得某些工作被废弃从而造成浪费。用厨房来比喻就是:“先上这道菜,再开始烧下一个。”
  • 不要害怕做决定;不要害怕改变先前的决定。最大可能地延迟决策,直到必须做决定的时候。一旦有新的信息了,不要害怕改变先前的决定。
  • 度量、度量、度量。敏捷开发帮助处理了未来不确定性的问题。但是对于过去,应该没有不确定的事。
  • 设计是为了人,而不是系统。太多的程序员偏离了设计的目的,而更关注技术本身。软件最终的成功取决于让人们有效合作并增加商业价值。
  • 过早地进行优化是万恶之源。仅仅基于对代码的静态理解就直觉地判断什么对整体性能最为重要,结论几乎总是错误的。相反,应该衡量整个系统的行为,随后来识别性能问题。
  • 决不过度强调功能的通用性。这也就是著名的“YAGNI——你不会需要它的(You Aren’t Going to Need It)。”
  • 不要用代码行数来度量代码。完成特定任务所需的代码行数,不同的程序员之间和编码风格之间差异很大。应该去统计功能用例的数目。
  • 软件是可塑的。不像实体制造业,软件可以很容易地获得显著改变。
  • 不要去发明新的语言。XML 的出现引领了无休止的专门订制“脚本语言”的潮流,想来应该会让软件开发更加趋同。这种推理的缺陷在于,离开某个特定实施的环境,几乎从来都没能很好地精确定义操作行为。

想获得更多的信息,请访问这份完整的建议清单。如果你觉得有什么重要的观点遗漏了,请留言。

查看英文原文: 26 Hints for Successful Agile Development

2009-11-08 06:405357
用户头像

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

关注

评论

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

如何进行知识管理

易成研发中心

知识管理 知识管理软件

优化Shopify API的调用性能

北京木奇移动技术有限公司

Shopify 软件外包公司 跨境电商平台

Web3项目开发中常见的挑战

北京木奇移动技术有限公司

软件外包公司 web3开发

解锁软件测试新境界:AI如何助力发现潜在缺陷

测试人

软件测试

BetterYeah AI获2024世界互联网大会新耀场景奖

BetterYeah AI

离线任务已支持复用任务参数 | ModelWhale 版本更新

ModelWhale

人工智能 gpu HPC

通过低代码快速迭代助力创新行业系统化管理

明道云

【YashanDB知识库】如何查看共享集群共享盘的挂载关系

YashanDB

数据库 yashandb

计算虚拟化软件介绍

天翼云开发者社区

云计算 虚拟化

CPU的指令周期

天翼云开发者社区

cpu

零代码的MOM之路

明道云

电商API的奥秘:数据爬手的底层逻辑解析

代码忍者

API 接口 pinduoduo API

OpenSearch & AI 开放平台,实现0代码图片搜索!

阿里云大数据AI技术

阿里云 解决方案 OpenSearch AI搜索

BetterYeah AI x 添可 AI客服项目入选沙丘社区AI Agent最佳实践案例

BetterYeah AI

为什么数据平台需要敏捷版?

奇点云

【YashanDB知识库】主备集群用yasboot在线缩容后无法托管到YCM

YashanDB

数据库 yashandb

【YashanDB知识库】使用c-调用yashandb odbc驱动执行SQL时报YAS-08008 not all variables bounded

YashanDB

数据库 yashandb

借助HAP推动旅游业数字化转型,12家客户的实践案例与心得

明道云

九诚七乔借助HAP超前服务:多行业客户的成功实践

明道云

半导体制造行业MES系统解决方案

万界星空科技

mes 半导体行业 万界星空科技 制造业转型 半导体mes

域名和空间有什么关系和区别?如何购买域名和空间?

国科云

NAT原理:概念、使用场景、转发流程及规则

天翼云开发者社区

网络安全 NAT

媒体报道 | 原钉钉副总裁AI赛道创业融资过亿,新品发布助力「双11」电商AI升级

BetterYeah AI

BetterYeah AI CEO张毅:企业级AI智能体正成为新质生产力

BetterYeah AI

了解GaussDB性能调优之隐式转换,解决慢SQL问题

华为云开发者联盟

数据库 sql 性能调优 GaussDB

卤制品自动化生产MES系统解决方案

万界星空科技

mes 万界星空科技mes 食品加工 卤制品 卤制品行业

选择合适的Web3外包团队

北京木奇移动技术有限公司

软件外包公司 web3开发 web3开发团队

见证无限可能!火山引擎边缘云邀你参加冬季 Force 大会开发者论坛

火山引擎边缘云

边缘计算 边缘云 AI 大底座 边缘智能

从本地成功到国际拓展:启舵科技与 HAP 的战略合作

明道云

为什么数据平台需要敏捷版?

奇点云

数据平台

【YashanDB知识库】如何设置yasql客户端的字符编码

YashanDB

数据库 yashandb

给成功敏捷开发的26条建议_研发效能_Vikas Hazrati_InfoQ精选文章