最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

从 Smart 看选择敏捷方法

  • 2009-05-21
  • 本文字数:1350 字

    阅读完需:约 4 分钟

Sander Hoogendoorn 最新发表了 Accelerated Delivery Platform 的敏捷软件开发平台,与此同时,也提出了一个叫作"Smart"的新敏捷方法,本文将介绍这方法并作出简短分析。

Sander 在文中首先介绍该经验累积的背景,Smart 原先是由 RAD 和 DSDM 实践开始,及后并亦加入一些 Scrum 及 XP 的实践。然后介绍了 Smart 开发方式的特点:

  • 紧密协作Smart 项目要求客户和项目团队包括开发团队和测试人员紧密合作。
  • Smart 用例驱动在 Smart 项目使用他们发明的 Smart 用例,而且 Smart 用例也是用作他们估算和计划的粒度。
  • 短迭代以两星期或四星期迭作, Smart 开发周期还包括不同项目的迭代类型: Propose(计划) Scope(范围定义) Realize(实现) Finalize(定妥) Manage(管理)
  • 测试驱动每个 Smart 项目都要求單元测试 Smart 测试。"Smart 單元测试"是用在 Smart 用例(通常是基于活动图,activity diagrams)去定义及执行功能测试的技巧。
  • 交付驱动尽量频密地交付,在 Smart 项目中软件可于每天交付(每个 Smart 用例)、迭代完结、发布(通常是三个月发布一次)。
  • 角色虽 然不像 Scrum 和 XP 等那么少,但是比 RUP 或者 DSDM 较少的,角色包括有 Project Owner(项目负责人)、User(用户)、Project Manager(项目经理)、Requirement Analyst(需求分析员)、Lead Developer(首席开发人员)、Developer(开发人员)、Tester(测试人员)、Configuration Manager(配置经理)。
  • 敏捷仪表板(Agile dashboarding)用的可能是报事贴、也可以是电子仪表板,加上 Burndown 图,监察进度及早发现问题。

网站还有不同关于这方法的详情,如果对此方法有兴趣,可以到该网站看看

相信Smart 这开发方式还算可以称得上"敏捷"的实践,如果大家对此有所迷罔,一个简单的方法是看看 敏捷宣言 以及其 原則 。心水清的读者亦很容易察觉到Smart 很有DSDM(现称Atern)和RUP 的味道,并且发觉XP 十分提倡而亦很常在Scrum 团队中见到的测试驱动开发、重构、持续集成却没有提到。

Mike Cohn 就曾经做过一个 “Selecting an Agile process” 的演讲,里面用一些指标作比较,笔者就尝试根据这些指标为Smart 作出以下分析:

个体与交互 (Individuals and Interactions) 授与权力自我管理团队 团队有多个角色内有几层架构 消除阶段 在周期中包括计划、范围定义、实现、定妥、管理的阶段,而且还是按次序进行 使用最少计划 在进行实现之前要完成计划和范围定义 伸缩性(Scalable) 根据 Sander 在网站上指出这方法已用在一些大型项目使用 持续过程改善 没有强调 可以工作的软件(Working Software) 增量和迭代 大致上都算是,只是周期中有五个阶段 以可以工作的软件作为进度的基本量度 不是,而是强调使用 Smart 用例 要求交付最少的文档、图表(Artifacts) 同上 客户协作(Customer Collaboration) 持续客户参与 是 适应性、以实际经验作为依据的客户关系 是 相应变化(Responding to Change) 演变式的需求 是 频密监察 没有强调

如果跟 Mike Cohn 在该演讲内容提到的其他方法比较,Smart 相对上是不太敏捷的。

最后,这分析绝不是提倡为敏捷而敏捷,交付软件和替客户增值才是最重要,还有,用什么方法,始终团队最能够以了解当前状况去作出决定。

大家对这个新的方法有什么想法呢?不妨也一同分享。

2009-05-21 00:042294
用户头像

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

关注

评论

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

cmake使用教程(三)-安装,程序员去大公司面试

android 程序员 移动开发

王者荣耀商城异地多活架构设计

缘分呐

架构设计

Coroutine 基本原理,吃透这份阿里P8纯手打Android面经

android 程序员 移动开发

esp8266~lwip突破MTU最大1500限制,apt编译时期自动生成代码&动态类加载

android 程序员 移动开发

模块七:王者荣耀商城异地多活架构设计

apple

Canvas加动画,实现火柴人跳绳效果,2021Android开发面试解答

android 程序员 移动开发

Python爬虫私活,代码公开!采集了20000+漫展历史数据,一言不合就开源

梦想橡皮擦

11月日更

Code Review&编程习惯(1),安卓网络通信开发

android 程序员 移动开发

DialogFragment探索与实现,android高级工程师面试题

android 程序员 移动开发

FFmpeg之OpenGL绘制与Native Window绘制(五),安卓面试题及答案2020百度

android 程序员 移动开发

BindService的生命周期分析【我读源码你不读,我吃螃蟹你吃土(1)

android 程序员 移动开发

BindService的生命周期分析【我读源码你不读,我吃螃蟹你吃土

android 程序员 移动开发

测试用例又双叒叕失败了,NLP帮你来分析

华为云开发者联盟

软件 测试 nlp 测试用例

Python代码阅读(第53篇):字符串重复拼接

Felix

Python Code 字符串 阅读代码 Python初学者

Flutter 1,基于h5框架的移动app开发

android 程序员 移动开发

cmake使用教程(三)-安装(1),kotlin入门项目

android 程序员 移动开发

云小课|大数据时代的隐私利器-GaussDB(DWS)数据脱敏

华为云开发者联盟

EI智能体 DWS数据脱敏 数据仓库服务GaussDB(DWS)

cmake使用教程(九)-关于安卓的交叉编译,腾讯&字节&爱奇艺&网易&华为实习面试汇总

android 程序员 移动开发

Context都没弄明白,还怎么做Android开发?,靠着这份面试题跟答案

android 程序员 移动开发

kubernetes系列随笔02:docker技术原理

谦寻

Docker Kubernetes 容器

BottomSheetDialog 使用详解,设置圆角、固定高度,移动开发工程师

android 程序员 移动开发

Code Review&编程习惯,安卓工程师面试题

android 程序员 移动开发

Dagger2入门系列一:基础使用,从基础到源码统统帮你搞定

android 程序员 移动开发

DialogFragment探索与实现(1),2021年是做安卓开发人员的绝佳时机

android 程序员 移动开发

Flutter 2(1),字节跳动高工面试

android 移动开发

CountDownLatch 源码分析示例,《Android面试题及解析》分享给大家

android 程序员 移动开发

CAS机制详解,android开发基础知识点

android 程序员 移动开发

cmake使用教程(一)-起步,移动应用开发就业

android 程序员 移动开发

架构训练营模块七作业-王者荣耀商城异地多活架构设计

李焕之

Flutter 2,面试官问的那些Android原理你都懂吗

android 程序员 移动开发

Dalvik 和 ART 有什么区别?深扒 Android 虚拟机发展史,真相却出乎意料

android 程序员 移动开发

从Smart看选择敏捷方法_研发效能_麦天志_InfoQ精选文章