敏捷Scrum培训有感

软考拓扑排序怎么考?AOV网与拓扑序列的Kahn算法和DFS算法底层原理一篇讲透,软件设计师必考数据结构题一次搞懂 拓扑排序是软件设计师数据结构部分的高频考点,很多考生背下定义却一遇判序、求全序、判环的题目就发懵。本文从有向无环图与AOV网的概念出发,逐层拆解Kahn入度表法与DFS后序逆序法两种算法的底层机制,梳理拓扑序列不唯一、环检测三大判定结论与四 阅读详情

      InfoQ网站上有两篇介绍Visual Studio产品团队敏捷实践经验的中文文章,推荐给大家!

大型软件开发项目中的功能小组模型── Visual Studio开发团队的敏捷实践经验分享(一)

功能小组模型的过程与质量控制 - Visual Studio开发团队的敏捷实践经验分享(二)

 


 

题外话:前天听说欧盟也无条件批准了Oracle对Sun公司的收购,虽然还需要等待俄罗斯和中国等国家的批准,但相信那只是时间的问题了。一个曾经在软件行业无比辉煌的公司,一个曾经缔造了众多顶级软件和硬件(Solaris、Java 、MySQL)的公司,就这样说没就没了,真是不敢相信。“江山代有人才出,各领风骚数百年”,对于IT行业可用不了数百年了,也就是数十年吧,应该改为“市场代有人才出,各领风骚数十年”。市场的选择是无情的,倒下了一个Sun,还会有更多站起来。     

      今天(2010/01/23)是周六, 一整天都在参加InfoQ在上海闵行紫竹微软新园区举办的“京沪两地敏捷Scrum训练营”上海站的活动。活动分为上下两场:上午主要是由雅各布森公司吴穹博士的“敏捷软件开发之Scrum实践(上/下)”,介绍敏捷开发和Scrum的北京和理论方面的知识;下午是由微软钟鸣所做的“大型团队中的Agile-微软研发团队的敏捷开发实践”和北京金桥公司王然的“基于Visual Studio 2010大型敏捷项目开发”,分别介绍了微软开发工具部门上海团队所采用的Scrum流程和经验,以及如何采用Team Foundation Server 2010来进行敏捷项目开发。总体来说感觉还是不错的,理论+实践经验+工具,应该是不错的搭配。

      我所在的开发团队已经成功的应用Scrum有段日子了,但通过这次培训,对以前一些模糊的概念得到了澄清,了解了一些新观点和名词,触发了我的一些新想法,还是颇有收获的。下面是些具体的收获和见闻,给大家报告如下:

 

不要误读敏捷宣言

      下面四条就是敏捷宣言(Agile Manifesto)的内容,往往会被敏捷的“粉丝”或者激进者误读,或者用来误导领导。 他们通常会把这里的over翻译为“不需要”或者“不要”等。敏捷看似是《笑傲江湖》中的“独孤九剑”,以无招胜有招,但那要看是谁来用,并不是人人都可以的。只有风清扬这样的super senior前辈,和令狐冲那样的super smart晚辈才能真正用得上“无招胜有招”,才能真正可以把over翻译为“不要”。而我等泛泛之辈,只能将其翻译为“重于”,也就是说,对于绝大多数(99.99999%)的团队而言,在敏捷开发中,方法、文档、工具合同以及计划都是必须的,区别在于要让它们的存在更合理有效,不要动辄就是几百页无人愿看的文档。

  • 个人和交互重于方法和工具(Individuals and interactions over processes and tools);
  • 可工作的软件重于完备的文档(Working software over comprehensive documentation);
  • 与客户的协作重于合同谈判(Customer collaboration over contract negotiation);
  • 响应变化重于严格遵照计划(Responding to change over following a plan);

Be Agile rather than do Agile

       敏捷的本质是要找出开发流程中不合理和浪费资源的内容,并加以改进。只要所做的工作能达到这样的效果的我觉得就是一种适合你的敏捷方法。而并不一定说是必须遵循别人的已有的方法和步骤才叫敏捷。而且往往是公司、人员和项目性质等不同,别人成功的敏捷应用绝大多数情况下是不适合你的。

敏捷多起于“草根”,而终于上层和老板

      采用敏捷方法的提议多是从实际的开发团队兴起,而终止于老板或者老板的老板。原因很简单,一线的技术人员(技术痴迷者、技术愤青、技术Guru)对新的开发方法更为敏感和强烈的热爱,他们经常会提出对现有流程好的改进意见。但很多敏捷方法涉及到对现有流程和人员组织结构的改变,如Scrum,没有老板的支持是绝难完成的。现在很多公司采用的是“弱项目,强职能”组织模式(不确定这是不是CMMI要求),而Scrum的Feature team/Feature crew的组织方式则正好是相反。

      相对而言,采用TDD和XP要简单一些,两三个开发人员就可以实施,不需要过多的组织调整。

 

推广敏捷方法不是大跃进

 

     不要把推广敏捷当成一场运动,不是要搬倒现有的一切而从头来过,那样只会招致更多人的反感和更大的阻力。存在的东西总有它合理的地方,推广敏捷是针对其中不合理的东西进行渐进式的改变。要做到“随风潜入夜,润物细无声”得推广。当然这很难,只能是个奋斗的目标和方向,做不到100%,达到个50-60%总是可以的。再说了,现在啥事不难呢,容易做就不找你了,是吧!

 

啥是ATDD?

       这是我在这次活动中听到的一个新名词,ATDD的全称是Acceptance Test-Driven Development,也即是接受性测试驱动开发,它也是敏捷方法中的一种。

Scrum经典流程图没有指出Scrum的难点

 

      

 

      Scrum最大的难点应该说是Product Backlog到Sprint Backlog的任务挑选和分解的过程,这需要构架师的参与。另一个难点是如何让测试能跟上敏捷的步伐,特别是在当下仍以手工测试为主的情况下。

 

Scrum只会让曾经爱偷懒的人感觉更累

       采用了Scrum方法,会不会让团队成员感觉更累呢?确切地说:它是让那些爱偷懒的人更累了,呵呵。Scrum以项目管理实践为核心,它不同于XP和TDD。它要达到的管理效果,我用16字总结如下:分工明确、责任到人、项目透明、过程可控。在相对开发周期比较短(一个迭代周期在2-4周)的情况下,每个人的时间分配和利用都比较明确,这样就很难再有偷懒的机会了。

 

 

 

什么是Scrum?

      Scrum一词本意是指英式橄榄球的争球,英文解释是这样的: (rugby) the method of beginning play in which the forwards of each team crouch side by side with locked arms; play starts when the ball thrown in between them and the two sides compete for possession。Scrum 将软件开发团队比拟成橄榄球的争球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。

 

任何敏捷活动都应该是Time-boxed -“学生综合症”

       有明确时间约束的活动才是更有效地活动,否则经常会为不必要的话题展开冗长而无结果的讨论。“学生综合症”告诉我们只有在考试前那段时间才是学习效率最高的时候,同样到的现象的也存在项目开发中。只有到最后快要提交的时候,大家才会搁置不必要的意见,达成可接受的公示。

 

将Scrum master比喻为Scrum小组的"牧羊犬",很恰当!

       保证Scrum过程的顺利进行,这样的牧羊犬的职责是明确:对外保护“羊群”不受“狼群”干扰,对能保证“羊群”按时、按量吃草。

 

什么是敏捷?

      敏捷是一个组织素质,也包括组织成员素质。它代表了一组体系和原则,它们的目标是使组织变得更能够自适应,反应更迅速以获得商业成功。

 

 

 

“排队原理”- 给每个人的时间安排到100%并不是一件好事

      经常会发现路上塞车并一定应为出事故了,排队原理解释了这种塞车出现的原因,以及对开发团队的启示。

 

 

成熟的敏捷团队是相对稳定的组织

      敏捷团队不是游击队,打一枪换一个地方,人员经常分撒变动。成熟的敏捷团队是相对比较稳定,大家能够在一起经历多个Sprint。其中的道理很简单,人员和组织的磨合是需要时间和成本。

 


在 SAP S/4HANA 分析模型中添加 Measures,Calculated、Restricted、Currency Conversion 与 Unit Conversion 的建模思路 摘要: SAP S/4HANA分析查询建模中,度量(measure)的加工层级是关键难点,涉及聚合时机、币种/单位语义、过滤上下文等复杂因素。度量不仅是数字字段,还需处理计算口径(Calculated Measures)、上下文绑定(Restricted Measures)和单位转换等问题。Calculated Measures适合派生指标(如毛利率),需注意聚合前后计算差异;Restricted Measures通过固化过滤条件(如区分实际/计划金额)确保业务语义一致性。建模时应将业务逻辑下沉到分析模型层 阅读详情

相关推荐

VAY 是 SAP 自动科目确定(OBYC-GBB)中的科目修改,专用于带科目分配对象的销售订单发货场景,核心是触发 “Dr 成本要素科目(如销售费用 / 特定成本对象) Cr 库存商品” 的分录,

摘要:VAY是SAP中用于带科目分配对象(如成本中心、WBS)的销售订单发货的科目修改,与标准VAX场景不同,它生成"借成本要素科目/贷库存商品"的分录。配置路径为OBYC-GBB-VAY,需确保借方科目为成本要素。典型业务场景包括免费样品、项目专用发货等。常见问题包括VAY未触发或科目记账错误,需检查销售订单科目分配、移动类型设置及OBYC配置。特殊场景建议单独配置科目以便费用分析。

金牌架构师 1204

Bellman-Ford——贝尔曼福特算法

而今天学习的贝尔曼福特算法,是用于计算单源,且可含负边权的最短路径问题。其优于Dijkstra的方面是边的权值可以是负数,但还是那句话鱼和熊掌不可兼得啊,时间复杂度自然有点高。,1的距离+W<1到3的边权>)结果为3,再到k=2,2的距离不变,看2到3的距离min(3,2的最短距离+W<2到3的边权>)结果为2。我们之前学习了Dijkstra算法,用于计算单源,正边权的最短路径。,1的距离+W<1到2的边权>)结果为1,再从1到3的距离min(,接下来k=1,1到2的距离min(

2601_95090143的博客 276

ANSYS.2022.R2.Electronics.Win64-SSQ

ANSYS.2022.R2.Electronics.Win64-SSQ,这个要解压以后才能安装,直接安装会出错。

LeetCode 69. x 的平方根(二分查找详解 + Java Python 实现)

x的平方根

2603_95532426的博客 179

20,84:有效的括号,柱状图中最大的矩形

这道题目又是一道有严格先后顺序的数据结构,所以我们可以使用栈来轻松解决这类问题。可以将字符串中处于左半部分的元素压入栈中,当遇到右半部分的元素时,我们可以将原来的元素先出栈,在和右半部分的元素进行比对,如果他俩是一对的话,就进行下一个循环,如果不是一对的话,就直接返回false,因为已经违反了规则。

2401_88017330的博客 158

算法详解4:买卖股票的最佳时机系列(上)

由于题目要求我们手中只能持有1股,所以在每天结束的时候我们手中就会出现持有股票和没有股票两种状态。那么我们不需要纠结今天到底该不该交易,我们只需要关注今天结束时,这两种状态下我的‘口袋里的现金’分别是多少。卖出股票就是“获得现金”,利润增加。我们将示例1代入到我们的方法中去获取了最小值1,但是最大值是7。我们不获取卖出时候的价格,只获取卖出时候的利润即可。题目要求我们在可以当天多次买卖股票,但是手中最多只能持有1股,然后获取最大利润。题目要求我们在某一天进行买入然后在之后的日子里面卖出从而获取最大利益。

qq_73640809的博客 371

leetcode 2091. 从数组中移除最大值和最小值 中等

将最大值和最小值都移除需要从数组前面移除 2 个元素,从数组后面移除 3 个元素。数组中只有这一个元素,那么它既是数组中的最小值又是数组中的最大值。将最大值和最小值都移除需要从数组前面移除 3 个元素。中有一个值最小的元素和一个值最大的元素。数组中的最大元素是 nums[1] ,值为 10。数组中的最小元素是 nums[1] ,值为 -4。数组中的最大元素是 nums[2] ,值为 19。数组中的最小元素是 nums[5] ,值为 1。你的目标是从数组中移除这两个元素。移除一个元素或从数组的。

2401_88085478的博客 238

算法论文/数据集3——CLD(TMLR2025)压缩训练集,仅保留对验证集有益的样本

CLD通过计算训练样本与同类验证集在训练过程中损失差分轨迹的Pearson相关性,筛选高相关样本构成coreset。仅依赖逐样本损失标量,无需梯度或特征,具备收敛性理论保证

ZhouDevin的博客 322

排序-堆排序(Heap Sort)

摘要:堆排序是一种基于二叉堆数据结构的原地排序算法,凭借稳定的 O(nlog n) 时间复杂度和 O(1) 的额外空间开销,弥补了冒泡、选择、插入排序在大规模数据下效率低下的短板。本文从堆的底层性质出发,完整讲解堆排序的原理、向上调整、向下调整、建堆逻辑与排序流程,重点剖析「升序建大根堆、降序建小根堆」这一核心口诀的根本原因,并给出可运行的 C++ 代实现,帮助读者彻底吃透堆排序。

2401_87882972的博客 99

算法30,前缀和,和为k的子数组

✅“以前有没有出现过sum - k?有的话,有几个?每一个出现,都对应一个合法子数组。

sheshibenniaodan的博客 181

数据结构排序(四)

数据结构排序个人见解

2503_94479566的博客 323

【计算机网络 | 网络层9:路由选择算法:距离向量与链路状态算法

路由选择算法把路由器和链路抽象为带权图,并为每个目的地求出合适的下一跳。链路状态算法先通过洪泛让所有路由器获得一致的全网地图,再各自运行 Dijkstra;距离向量算法则让每台路由器只与邻居交换距离估计,依据 Bellman-Ford 关系异步迭代更。理解这两种基本思路后,再看具体协议就更清楚了:OSPF 如何在自治系统内部用链路状态建立路由,BGP 又为什么在自治系统之间更强调策略而非单纯最短路,将是下一篇的重点。如果这篇文章对你有帮助,欢迎。你们的支持是我前进的动力!

DdigitalNomad的博客 375

常见限流算法与Sentinel限流机制

阿里的sentinel,sentinel基于滑动时间窗口算法统计调用数据,提供了如下限流实现快速失败(DefaultController),基于滑动时间窗口的统计数据,如果当前QPS已达到阈值则立即限流,严格保证流量小于限流阈值,属于 “滑动时间窗口限流算法”的特点。排队等待(RateLimiterController),根据限流阈值计算请求放行的时间间隔,如果过两个请求之间的间隔时间过短,则计算第二个请求需要等待的时间,并通过Thread.sleep让第二请求线程进行等待。

Sexycake的博客 536

数据结构算法—最短路径的算法

<think>我们只需要根据给定的长文生成≤150字的摘要。内容主要介绍最短路径问题、算法分类、单源与全源算法等。需要概括核心要点,不要遗漏重要信息。注意字数限制。</think>最短路径问题分单源与全源两类,主要算法包括Dijkstra、Bellman-Ford、SPFA、A*及Floyd-Warshall、Johnson等,各有适用场景与复杂度。应用覆盖导航、网络、社交、金融、生物等领域,实际中需根据图的特性与需求选择合适的算法

fpcc的专栏 208

LeetCode 每日一题 2654. 使数组所有元素变成 1 的最少操作次数

<think>我们根据要求,生成不超过150字的文章摘要。需要从给定内容中提取核心信息:题目是LeetCode 2654,目标求使数组全部变1的最少操作次数;关键思路:若存在1,答案n-cnt;否则需找连续子数组gcd为1的最短长度min_len,总操作=min_len-1+n-1;若全局gcd>1则-1;复杂度O(n^2)。摘要需简洁。</think>本题要求通过相邻数替换为GCD的最少操作使数组全为1。若已有1,答案为n减1的个数;否则需找到GCD为1的最短连续子数组,总操作为其长度减1再加n-1;若全

软小行的博客 206

【力扣hot100】贪心专题|121、55、45、763

内容是关于贪心算法的几道LeetCode题目:买卖股票最佳时机、跳跃游戏、跳跃游戏II、划分字母区间。摘要是对内容的概括,需要简洁,不超过150字。注意是中文摘要。</think>本文介绍了贪心算法的四个经典LeetCode问题:买卖股票通过记录最低价求最大利润;跳跃游戏判断最远覆盖范围是否可达;跳跃游戏II在边界处跳至最远位置求最少步数;划分字母区间依据字符末次出现位置分割片段。核心是每次做局部最优选择,逐步达到全局最优。

2401_87144364的博客 192

数据结构】冒泡,堆,归并排序

<think>我们只需要根据内容生成摘要,≤150字。内容主要是排序算法介绍,包括冒泡、堆排序、归并排序递归和非递归。摘要应概括这些算法的核心思想和复杂度。避免太多细节。我们写简短:介绍三种排序算法:冒泡排序通过相邻比较交换,最坏O(n²),优化可提前结束;堆排序利用大顶堆,建堆后交换堆顶与末尾并调整,O(nlogn);归并排序采用分治,递归/非递归实现,稳定但需额外空间O(n)。确保字数。</think>本文介绍了三种排序算法:冒泡排序通过相邻元素两两比较交换,优化后可提前终止,最

Jupiter1007的博客 449

多矿复用标准化方案:皮带全场景视觉识别算法

集团化矿山皮带智能化改造,最怕一矿一模型、功能碎片化、跨矿无法复用。皮带全场景视觉识别算法采用通用基础模型 + 小样本微调,支持利旧防爆摄像仪,覆盖大块料、跑偏、异物、堆料等风险监测。

ishangy的博客 170

贪心题目:数组大小减半

个元素中的任意一个元素换成更小的元素,则选取的元素之和将减小,此时选取的元素之和可能大于等于。根据贪心思想,在所选元素之和下界确定的情况下,为了使所选元素的个数最少,应从。按照从大到小的顺序依次选取元素,直到选取的元素之和至少为数组。因此按照从大到小的顺序选取元素可以使选取的元素个数最少。,则需要选取更多元素才能满足选取的元素之和大于等于。能删除数组中的一半整数整数集合的最小元素个数。的长度的一半,此时选取的元素个数即为从数组。选取元素,直到选取的元素之和大于等于。时,返回选取的元素个数,即从数组。

stormsunshine的博客 212

第 J3 周:DenseNet121 算法详解

【代】第 J3 周:DenseNet121 算法详解。

sqc233sqc的博客 344

Agent Plan × DeepSeek Harness:DeepSeek 在音乐旋律生成与编曲推理领域的深度测评:架构、算法与实战解析

本文深入探讨 DeepSeek 大语言模型在音乐旋律生成与编曲推理领域的应用潜力与技术实现。文章从 Transformer 架构出发,系统分析其在序列建模方面的核心优势,详细解析音乐表示学习、和弦进行推理、节奏规划等关键技术模块。通过对比实验与理论分析,文章评估了 DeepSeek 相比 GPT 系列、音乐专用模型(如 Music Transformer、AudioCraft)在端到端音乐创作场景中的表现差异。

weixin_65162103的博客 186
上一篇: VS 2010 测试功能学习(八) - RnP与Coded UI测试(继续篇)
下一篇: VS 2010 测试功能学习(九) - 数据驱动的手工测试用例(@Parameter)
quicknet
博客等级 码龄25年 398粉丝 117原创
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值