写点什么

给成功敏捷开发的 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:405703
用户头像

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

关注

评论

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

如何维护您的知识库?

Geek_da0866

LeaRun.Java微服务快速开发平台

力软低代码开发平台

旅游吗?腾云驾雾的那种

天翼云开发者社区

深度学习公式推导(2):激活函数与偏置

老崔说架构

大数据培训中心哪家比较靠谱

小谷哥

当云走向行业垂直化,企业该如何应对?

BeeWorks

分布式系统架构设计

C++后台开发

数据库 分布式 后端开发 C/C++后台开发 C/C++开发

大数据软件开发哪里的培训比较好

小谷哥

我们还需要 SRE 吗?

Bytebase

DevOps SRE developer

盒马销量预测核心算法的技术演进

阿里技术

大数据 算法

2022 智能云边开源峰会|Kyligence 邀您“云”上相约

Kyligence

人工智能 云原生 边缘计算 开源峰会

建设医共体,患者有“医”靠!

天翼云开发者社区

十年数智求索路,餐饮SaaS头部企业客如云如何走向盈利

ToB行业头条

政企组织为什么更需要私有化的IM即时通讯平台?

BeeWorks

家电上云后,智能家居如何构建场景化应用

华为云开发者联盟

云计算 后端 IoT 智能家居

java培训班学习后怎样才能找到工作

小谷哥

Postman如何做接口测试:导入 swagger 接口文档

和牛

测试 Postman

一文讲透研发,SRE,运维,DevOps 的区别

Bytebase

DevOps SRE dba database

重新定义容器化 Serverless 应用的数据访问

阿里巴巴中间件

云计算 阿里云 Serverless 容器 云原生

INFINI 产品更新啦 20220815

极限实验室

elasticsearch infini gateway INFINI Labs 新版本/特性发布 INFINI Console

未来源码丨会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU

MobTech袤博科技

c 开源 AI

开源一夏 | 使用 CSS 的仿 GitHub 登录页面

海拥(haiyong.site)

开源 8月月更

EMQX企业版正式上架华为云OSC,助力企业实现云原生MQTT Broker的全生命周期管理

EMQ映云科技

物联网 华为云 mqtt emqx 8月月更

Gartner:云安全面临的三大挑战以及三个对应策略

BeeWorks

SPI:Java的高可扩展利器

华为云开发者联盟

Java 开发

Go-Excelize API源码阅读(十一)—— GetActiveSheetIndex()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

如何管理您的知识库?

Geek_da0866

EMAS Serverless搭建《私人云相册》小程序赢中秋好礼

移动研发平台EMAS

小程序 阿里云 Serverless 中秋节 云相册

Web Service 接口怎么测试

和牛

Python 接口 测试 Web Service

前端培训中怎么提升开发技术水平?

小谷哥

零基础前端培训学习有用吗

小谷哥

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