写点什么

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

  • 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:572110
用户头像

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

关注

评论

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

如何实现空间分布变化的材料设置 --- 2

思茂信息

cst CST软件 CST Studio Suite

从4C到C4,在a类竞赛中以赛促学!清华指导发布AI通识教育白皮书

ModelWhale

清华 人工智能教育 A类竞赛

微擎生态驱动的数字化内容阅读

微擎应用市场

用好 JUnit 5 的高级特性:提升单测效率和质量

xiaoxi666

Java 单元测试 JUnit 测试 单元测试 junit5

开源能源管理系统:筑牢企业安全自主可控防线​

开源能源管理系统

开源 能源管理

测试开发工程师AI智能体通关秘籍,15年大厂架构师手把手教学!

测试人

亮点满满,龙蜥社区走进中兴通讯 MeetUp 即将举办

OpenAnolis小助手

开源 AI 操作系统 龙蜥社区 龙蜥meetup

揭秘混合休闲手游爆款制造机 Supersonic:3 分钟征服用户的“黄金FTUE”设计法则

极客天地

AI教育大模型及其应用

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

AI教育 AI技术开发 软件外包公司

App Uninstaller for Mac(mac软件卸载工具)

Geek贝

为什么用了代理IP后访问网站还是被拒绝了?

kookeey代理严选

代理商 海外IP代理 动态代理IP 配置IP 静态住宅IP

图挖掘在反作弊场景的应用

百度Geek说

Grafana与MyEMS的比较分析

开源能源管理系统

开源 能源管理

微擎生态驱动的门店数字化管家

微擎应用市场

chemdraw2023激活码 附详细安装教程

Rose

Cornerstone for Mac(SVN管理工具)

Geek贝

Mac 软件

ISO 50002能源审计标准与MyEMS开源能源管理系统

开源能源管理系统

开源 能源管理

开发实践,通过融云 IM + Dify 实现 AI 机器人

融云 RongCloud

大数据-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog

武子康

大数据 hadoop hive Hive SQL

Aloudata 诚挚招募合作伙伴:携手共创数据智能新未来

Aloudata

人工智能 数据分析 ETL agent

远程跨屏共享黑科技:细数三款热门远控软件里的神奇功能

小喵子

远程 远程控制 向日葵 ToDesk TeamViewer

DeepSeek+低代码,或许才是To B企业的正确打开方式!

优秀

低代码 DeepSeek

YashanDB数据库常见问题解答:解决用户疑虑

数据库砖家

Navicat Data Modeler Ess for Mac(数据库建模与设计工具)中文版

Geek贝

客户案例 | 某大型综合性券商借助白鲸开源产品打造全链路智能调度与数据集成平台

白鲸开源

DataOps 证券行业 白鲸开源 WhaleStudio WhaleScheduler

微擎生态驱动的全场景 IM 社交与商业赋能平台

微擎应用市场

微擎生态驱动的内容数字化管理平台

微擎应用市场

YashanDB数据库常见问题及其解决方案

数据库砖家

同济大学的AI赋能经管学科创新探索,清华指导发布AI教育白皮书

ModelWhale

清华 人工智能教育 文科+AI 同济

详解鸿蒙Next仓颉开发语言中的全屏模式

幽蓝计划

AI阅读APP的主要功能

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

软件外包公司 APP外包公司 AI阅读

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