首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >敏捷场景,哪个是正确的?

敏捷场景,哪个是正确的?
EN

Stack Overflow用户
提问于 2009-07-15 08:14:54
回答 5查看 632关注 0票数 5

假设您有用户故事1,它需要一个方法的实现:

代码语言:javascript
运行
AI代码解释
复制
public static void MyMethod(string paramA);

有几个类将使用此方法,MyMethod完成用户故事1所需的所有操作,但仅此而已。

您非常肯定,在以后的迭代中,会出现另一个故事(用户故事2),它将要求方法变成:

代码语言:javascript
运行
AI代码解释
复制
public static void MyMethod(string paramA, int paramB);

以前对MyMethod的调用将需要重构,需要添加一些对MyMethod的新调用,以满足用户场景2的要求(只使用paramA调用MyMethod从来没有意义)。

在处理用户故事1时是敏捷地思考:

1)只实现:公共空MyMethod(string paramA);

2)实现: public void MyMethod(string paramA,int paramB);-但是暂时不使用第二个参数。此时调用将0传递给第二个参数。

3)实现: public void MyMethod(string paramA,int paramB);-但是暂时不使用第二个参数。调用传递正确的值(根据用户故事2的期望)

4)实现: public void MyMethod(string paramA,int paramB);-以及所有完全覆盖用户故事1和2的调用。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-15 15:44:12

范围的一端是敏捷纯粹主义者,他们坚持一切都可以通过稍后的重构来完成。在另一端是老派的大设计先锋队,他们认为你应该先建立一个完整的建筑,然后再把功能放在上面。你的问题是完美的,因为它暴露了这两种哲学的缺点,如果你盲目地遵循它们的过程。你想要的是最大的效率。所以你需要分析故事1和故事2在你的情况下。您的软件是否可以在没有S2的情况下进行移植,或者您是否只是分散了这些故事来帮助评估和规划呢?如果S1是“添加到购物车”,而S2是“签出”,那么不构建支持S2的接口是愚蠢的,因为没有它您的软件就一文不值。在每个项目中,都有一组已知的“已拥有”功能,使您的软件更有价值。如果您的两个故事都来自该集合,那么我想说,现在就构建支持这两种功能的接口,以后不要浪费时间重构(#3)。

通常,如果S1和S2都在必须设置的集合中,它们将在待办事项上紧密相连。如果不是这样的话,那么你要么拥有大量的必须拥有的东西,要么你的项目在使用敏捷技术时不会获得那么大的优势,或者S2确实不是一个必须拥有的。所以,如果你期望有大量的时间(几个月?)为了在对S1和S2的承诺之间传递,我将使用1参数接口。时间总是造成不确定性的一个巨大因素。

票数 2
EN

Stack Overflow用户

发布于 2009-07-15 09:03:22

只需做一次。

重构很容易,预测未来就不容易了。

该项目可能是罐头,新的更重要的故事可能会出现,这意味着故事2是永远不需要的,当你到达故事2时,你可能会更好地理解问题,并需要重构一切。有无数的理由你可能不需要它。

票数 12
EN

Stack Overflow用户

发布于 2009-07-15 08:26:15

纯粹主义者会说选项1,但我会听取常识,如果你完全相信这是一个要求,那么我会把这一点考虑到你的设计中。

然而,敏捷也是以重构为基础的,所以只要你不公开发布这个界面,如果改变它不会影响我的设计,我就会选择选项1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1132394

复制
相关文章
敏捷 | 如何正确推进敏捷?
无论你的公司是在做敏捷转型还是一开始就使用敏捷,在推进敏捷的过程中往往都碰到了很多的问题。今天和大家分享一下业界认可的正确推进敏捷的三个步骤:评估诊断、敏捷试点和大规模推广。
Edison Zhou
2020/12/25
9820
敏捷 | 如何正确推进敏捷?
敏捷 | 如何正确理解敏捷?
在过去的五年时间里,我所在的公司和团队一直使用的都是敏捷开发模式,我也在2018年底获取了Scrum联盟的CSM认证,对于敏捷的理解也是从最初的感性认识到现在的理性认识。今天开始和你一起重新温习敏捷,先来正确理解一下敏捷吧。
Edison Zhou
2020/12/25
8620
敏捷 | 如何正确理解敏捷?
选择篇(017)-哪个选项是不正确的?
在JavaScript中,所有对象键都是字符串(除了Symbol)。尽管有时我们可能不会给定字符串类型,但它们总是被转换为字符串。
齐丶先丶森
2022/05/12
1.4K0
面试题30(关于if的用法哪个是正确的?)
public class IfTest{ public static void main(string[]args){ int x=3; int y=1;
Java学习
2018/04/17
1.2K0
面试题15(下列哪个赋值语句是不正确的?)
下列哪个赋值语句是不正确的? A)float f = 11.1 B)double d = 5.3E12 C)float d = 3.14f D)double f = 11.1E10f 考点:该面试题主要考察求职者对float单精度和 double双精度基本数据类型了解以及掌握。 出现频率:★★★★★ 【面试题分析】Java提供f|loat单精度和 double双精度基本数据类型。 float类型占4个字节32位,double类型占8个字节,64位。在Java中,声明的小数都是double类型的。 floa
Java学习
2018/04/18
1.7K0
MySQL 是哪个公司的?
MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,后被Sun公司收购,最终被Oracle公司收购。
很酷的站长
2023/08/25
2.7K0
MySQL 是哪个公司的?
java是哪个公司的
Sun Microsystems是IT及互联网技术服务公司(已被甲骨文收购)Sun Microsystems 创建于1982年。
全栈程序员站长
2022/01/17
3.2K0
java是哪个公司的
什么是敏捷测试
阿常回答:这个问题我从三方面回答:1、什么是敏捷测试;2、几种应用形式;3、敏捷测试的核心。
程序媛淼淼
2022/09/01
2340
什么是敏捷测试?
正在写DevOps培训总结的我看到了Rick Chen的文章,深表赞同,转发一下!原文地址
TestOps
2022/04/07
4660
什么是敏捷测试?
到底什么是敏捷
从加入公司到现在快三年,从进入公司的那一刻开始实践敏捷,但是说起来惭愧,如果你问我敏捷是什么,我好像不能给出一个专业的回答。由此我开始探索敏捷的过去现在和未来,然后我发现了Bob大叔的新书 Clean Agile: Back to Basics。
Teobler
2021/02/25
8450
到底什么是敏捷
什么是敏捷开发
简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
菲宇
2019/09/06
3.1K0
什么是业务敏捷,如何实现业务敏捷?
随着越来越多行业的企业开始关注敏捷,业务敏捷(Business Agility)成为一个新的热点。毕竟大部分的行业和组织与软件无关,但是依然要实现业务上的敏捷,所以这个系列会主要谈两点:
腾讯云 CODING
2023/08/15
3660
什么是业务敏捷,如何实现业务敏捷?
什么是业务敏捷,如何实现业务敏捷?
随着越来越多行业的企业开始关注敏捷,业务敏捷(Business Agility)成为一个新的热点。毕竟大部分的行业和组织与软件无关,但是依然要实现业务上的敏捷,所以这个系列会主要谈两点:
腾讯云 CODING
2023/08/16
1990
什么是业务敏捷,如何实现业务敏捷?
什么是敏捷测试
阿常回答:这个问题我从三方面回答:1、什么是敏捷测试;2、几种应用形式;3、敏捷测试的核心。
程序媛淼淼
2022/06/27
4100
什么是敏捷测试
如何正确引导敏捷开发团队转型?
敏捷这个概念已经提出很多年了。敏捷对开发团队的角色做了划分,并且对各个角色的能力作出了高要求,另外对工作流程,迭代周期都提出了理想定义,这实际上是对组织架构的一个颠覆。
嘉为蓝鲸
2022/04/24
6170
如何正确引导敏捷开发团队转型?
敏捷史话(四):敏捷是人的天性 —— Arie van Bennekum
敏捷是人的天性,是你与生俱来的东西。面对敏捷,Arie van Bennekum 下了这样一个结论。
敏捷开发
2021/01/21
3910
什么是敏捷开发_一个完整的敏捷开发的流程
简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
全栈程序员站长
2022/09/16
1.1K0
【DB笔试面试546】在Oracle中,关于SESSION_PRIVS字典视图,哪个陈述是正确的?
字典视图SESSION_PRIVS返回了当前用户会话中可以使用的系统权限,不包含对象权限。对象权限应该查询USER_TAB_PRIVS视图。
AiDBA宝典
2019/09/29
1.1K0
你们是敏捷团队吗?
最近常看到有些人说他们是敏捷团队,但仔细了解一下他们的工作方式和环境,确实不敢恭维为敏捷团队。 我觉得考量是否为敏捷团队可以问一下几个问题,如果你都能回答的话,我觉得基本应该是敏捷的: 你知道你们每个团队成员昨天在做什么吗?明天将会做什么?他们有什么问题吗? 你知道这个迭代的目标(即交付物)是什么吗? 你们现在的进度怎么样,能按时交付吗?(burndown chart会告诉你) 你每天的工作会被打搅到吗?有人给你安排新任务还是你自己主动选取新任务,在你任务完成后。 你能很随意的表达你对某个工作的看法吗?比方
麦克-堂
2018/04/12
1K0
你们是敏捷团队吗?
(一)什么是敏捷(Agile)?
从今天开始,通过21天打卡ACP的学习,带领同学们一起进入ACP的学习之路。首先进入我们的第一课:什么是敏捷?
砖家认证
2019/12/13
3.6K0
(一)什么是敏捷(Agile)?

相似问题

敏捷:模型的ATDD场景

14

哪个是更好的修复模式场景?

12

哪个是此场景的正确响应代码- 207 vs 400状态代码?

13

哪个ER是正确的?

20

如何找出片段是从哪个场景发生的?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档