【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

用例之父称敏捷需要更加明智

  • 2009-04-12
  • 本文字数:1268 字

    阅读完需:约 4 分钟

在上周举行的 Software Education SDC 大会上, Ivar Jacobson ——用例、UML 和 RUP 的作者——说道,敏捷开发需要“明智”。

他提到,信息技术行业是比较容易追求时尚的,而且总想去发现银弹。他举出了下面的例子:

  • 十五年前,大家全都在谈 OO
  • 十年前,就都变成了组件、UML、统一过程
  • 五年前是 RUP 和 CMMI
  • 两年前是 XP
  • 今天是 Scrum

这些都有好的地方——但无一是我们所需,我们需要的是更加明智的工作过。他说,“明智是敏捷的进化”。

  • 敏捷意味着灵活和适应
  • 敏捷提供了简单、轻量级的出发点
  • 明智意味着知道什么时候超越敏捷
    • 知道什么时候服从规则,什么时候打破规则
    • 知道什么时候按老样子做事,什么时候做出革新
    • 知道什么时候增长,什么时候退缩

按照 Jacobson 的话说,“明智就是敏捷 ++” 。他接着给出了一些明智(和不明智)实践和过程的例子,这些都是他在过往这些年里发现的。其中包括:

  • 人(不明智)——把过程和工具看的比人更重要

  • 人(明智) ——理解软件是人构造的,而不是过程和工具!
    “有工具的蠢货依然是 __ 蠢货_,但是是更危险的 __ 蠢货 __!”_

  • 团队(不明智) ——把团队做职责分离(需求、分析、设计等),分成烟囱管一样的小组

  • 团队(明智) ——跨功能的小型(一般是 10 个人,或者更少)自组织团队,拥有混合技能,可以承担工作。
    “软件团队就像运动队,拥有一切所需的能力去赢得成功”

  • 项目(不明智——试着遵守瀑布流程

  • 项目(明智——先做一个“皮包骨的系统”起来,证明你已经排除了所有核心风险,然后再在需要的时候往这个皮包骨的系统上加肉。
    “做远景思考,分步实施”

  • 需求(**** 不明智)——想着一开始就把所有需求都定义出来(软件开发中有一点是不变的,那就是需求总是会变)

  • 需求(**** 明智)——在轻量级的需求上做先期决策,在需要的时候再增加细节——需求是可以协商的,优先级是可以变化的。“在设计项目时考虑到需求变化”

  • ** 架构(不明智)——** 预先把所有设计都做好,没有比这更糟糕的架构了。

  • 架构(明智 ——架构够用就好,架构必须来自于可以执行的代码。“先把皮包骨的系统弄起来,一步步添肉”

  • 测试(不明智——把人分成两种,一种是开发,一种是测试。不明智的测试就是“软件世界中的清洁工”——给开发收拾残局。、

  • 测试(明智 ——整个团队都为质量负责,测试也是一等公民。“不管你做什么,在验证你确实做了想做的事情之前,这事情就没算做完”

  • 文档(不明智 ——机械式的填写文档模板,只是因为一些过程规则是这样规定的。

  • 文档(明智——了解“自然规律:人们不读文档”。只在必须的时候才写文档。“关注最根本的东西——给谈话占个位子——人们会自己找出剩余的部分”

  • 过程(不明智 ——不断追逐最新时尚,要求你按照最新的规则手册把一切重写。

  • 过程(明智 ——不要把孩子直接扔到浴缸里: 1. 先从现有的工作方式开始

    1. 找出问题所在
    2. 每次只改一个实践 _“人们不读过程方面的书,所以还是只做最关键的部分,其他方面大家会自己做好的。”_

明智的关键因素还是关注人,正如 Jacobson 所说,“这终归还是你的事”。

查看英文原文 Father of Use Cases Says Agile Needs to Get Smarter

2009-04-12 21:571763
用户头像

发布了 197 篇内容, 共 52.4 次阅读, 收获喜欢 20 次。

关注

评论

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

LeetCode题解:47. 全排列 II,回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

它可能是分布式系统中最重要的枢纽

架构师修行之路

分布式 微服务 注册

系统从初期到支撑亿级流量,都经历了哪些架构的变迁?

冰河

分布式 微服务 系统架构 SOA 垂直架构

可视化数据科学中的概率分布以帮你更好地理解各种分布

计算机与AI

学习 数据科学

什么是动态代理

Rayjun

Java 动态代理

新基建下区块链基础设施建设

CECBC

区块链

Dubbo 微服务调用时序图

Acker飏

甲方日常 39

句子

工作 随笔杂谈 日常

实用!8个 chrome插件玩转GitHub,单个文件下载小意思

程序员小富

GitHub

AES加密模式

Mars

AES

如何在微信公众号图文中插入外链

Ceelog

微信公众号

一次艰难的内存泄露排查,BeanUtils的锅

AI乔治

Java 架构

30 岁的码农人生 ——人生至暗时,你依然能窥见光明

cxuan

程序员 程序人生 感悟

即构SDK10月迭代:新增多款语音音效、外部采集码流控制及Android SDK 最低支持操作系统版本调整

ZEGO即构

android RTC

算法学习1-- 数组常见问题

菜鸟小sailor 🐕

算法和数据结构

【JSRC小课堂】Web安全专题(一)认证缺失和认证缺陷漏洞

京东科技开发者

WEB安全

你有时间吗?

池建强

时间

今天你的idea崩了吗?分享6种“白嫖”正版idea的途径,真香定律

小Q

学习 架构 面试 开发 IntelliJ IDEA

英特尔老矣,尚能“转”否?

脑极体

为你总结了N个真实线上故障,从容应对面试官!

AI乔治

Java 架构 GC

区块链助力跨省、零材料办理 成都武侯打造“中国政务服务第一链”

CECBC

区块链

阿里巴巴专属著作超赞,就是名字起得有点狂“成神之路”???

Java架构师迁哥

中国银行前行长李礼辉:区块链技术优势与产业前景

CECBC

区块链 数字货币

"全能"人才的概念真的对吗

supernova

创业 读书笔记 随笔杂谈

谈谈贪官污吏

空山

谷歌朝南,华为朝北

脑极体

32个问题,学习Java虚拟机的运行时数据区

AI乔治

Java 架构 JVM JVM虚拟机原理

分布式系统使用网关到底是好还是坏?

架构师修行之路

分布式 微服务 网关

记一次Jvm参数调优实战

AI乔治

Java 架构 JVM 编程思维 jvm调优

JVM系列-第一节:JVM简介、运行时数据区、内存分代模型

诸葛小猿

Java JVM JVM简介 运行时数据区 内存分代模型

10 张图打开 CPU 缓存一致性的大门

小林coding

缓存 cpu 操作系统 计算机

用例之父称敏捷需要更加明智_研发效能_Shane Hastie_InfoQ精选文章