TDD、BDD和DDD - 绝佳的互补
敏捷文化

TDD、BDD和DDD – 绝佳的互补

TDD、BDD和DDD是产品开发中非常互补的方法,有助于更好地理解需求和提高产品质量。 什么是TDD、BDD和DDD? BDD(行为驱动开发) BDD(行为驱动开发)是一种敏捷实践,由Dan North于2003年创建,旨在使用一种自然语言为所有人理解来创建功能测试。 但这个概念还更进一步,因为它能够使开发团队清楚地了解用户需求。例如,通常用于定义用户故事的“作为……以便”可能会导致模棱两可。这些验收标准(有些人称之为验收测试)在书写良好时可以消除所有对需求理解的疑虑。 这些验收标准以一种自然语言称为Gherkin的方式书写。以下是一个简单的示例: 假设我是产品页面上的客户当我单击产品ID“255”的“添加到购物车”时 并且库存为“3”那么产品将添加到购物车。 每个用户故事都将提供多个此类验收标准,以定义所有可能的行为,包括正面和负面情况。为了最大程度地减少这些测试的未来过时风险,不应包含实施。 通过与业务专家和用户一起在开发需求之前编写这些测试,团队将更有可能确保满足用户的实际需求,同时遵循可能的约束,如法律和业务约束。我将把这种方法称为未来功能的最佳切入点。 DDD(领域驱动设计) DDD是一种由Eric Evans于2003年引入的软件设计方法,其目标是使业务领域成为软件设计的支柱。DDD方法不会告诉您如何“编码”应用程序,但会引导您设计应用程序,以反映业务规则。 在这个方法中,我们仍然试图将产品设计的所有参与者聚集在一起,消除不同专业领域之间的壁垒。 这个方法带来了一些重要的好处: 消除业务和开发团队之间可能出现的任何模糊不清 设计软件以方便未来的调整 减少可能的回归问题 必须明白,各种类型的专家(业务、开发人员等)必须共同努力才能实现这种方法。 不久之后,我将发布几篇关于这种在软件工艺社区非常流行但在公司内部应用得还不是很多的方法的文章。的确,光在几行文字中理解DDD并不容易。 尽管这种方法与我们之前看到的BDD方法非常不同,但它与BDD方法完全互补。 我们通过BDD与业务共同获取需求(进一步明确期望) 我们使用DDD方法与业务的帮助下设计应用程序,以反映业务领域的复杂性 TDD(测试驱动开发) TDD(测试驱动开发)是一种软件开发方法,其目的是在编写函数的内容之前编写该函数的单元测试。这是持续集成领域非常知名的实践。 这种在XP、Scrum XP或DevOps领域中非常流行的做法的目标是在编写代码之前告诉您代码将面临的情况。这种实践从根本上改变了开发人员的经典思维。 尽管TDD增强了产品质量并减少了未来的回归问题,但“测试”的概念并不是它的主要功能。TDD主要用于引导开发人员找到测试中提出的需求的解决方案。 事实上,通过提前编写测试,开发人员将得到指导,以达到预期的解决方案。不再需要浪费时间来实现功能,存在着无法满足预期结果的风险。 尽管这种方法更加注重“开发”,但它也与我们之前看到的两种方法完全互补。 我们通过BDD与业务共同获取需求(进一步明确期望) 我们使用DDD方法与业务的帮助下设计应用程序,以反映业务领域的复杂性 我们通过TDD使用测试来巩固应用程序,减少未来回归问题,并根据每个单元函数的期望得到指导 结论:TDD、BDD、DDD […]

Scrum指南 2020
Scrum

Scrum指南 2020:引领敏捷成功的框架

在不断发展的敏捷方法论世界中,Scrum框架以其高效、协作和适应性脱颖而出。Scrum指南是由Ken Schwaber和Jeff Sutherland于2010年原创的基础性文件,2020年经历了重大更新,进一步完善了支撑Scrum的原则和实践。 链接:阅读Scrum指南 Scrum简介 Scrum是一个旨在帮助团队开发和交付高质量产品的敏捷框架。该框架强调协作、检查和适应,并在复杂、快速变化的环境中特别有效。Scrum赋予跨职能团队自我组织的能力,使其能够做出交付有价值产品所需的决策。 Scrum指南 2020:有何新变化? Scrum指南 2020引入了一些显著的变化和改进,主要关注使Scrum更易理解和实施。让我们来探讨一些关键的更新: 更简洁的指南:你将首先注意到指南的简明性。相较于以往的版本,它更短、更清晰、更易理解,确保其原则更容易被理解。 强调承诺:新指南着重强调Scrum团队的集体承诺,以实现他们的目标。它用“承诺”取代“预测”,以强化团队实现目标的决心。 产品目标:Scrum现在引入了“产品目标”的概念,这是Scrum团队努力实现的长期目标。这个目标为工作提供了背景,有助于在组织内建立统一。 经验主义过程控制:Scrum框架建立在透明度、检查和适应性原则之上。2020年的指南强调了经验主义的重要性,鼓励团队基于实际观察和数据做出决策。 不再提“角色”:前一版的指南区分了“开发团队”、“Scrum Master”和“产品负责人”等角色,而2020年的版本简单地称它们为“开发者”、“Scrum Master”和“产品负责人”。这一改变承认了团队中的每个人都对开发过程作出贡献。 对质量的承诺:2020年的Scrum指南强调了团队交付高质量产品的承诺。它倡导明确定义“完成”的标准,要求关注技术卓越和良好的设计。 为何要进行这些变更? Scrum指南 2020中的更新旨在在快节奏、复杂的世界中保持框架的相关性。通过简化语言、强调承诺和倡导经验主义过程控制,该指南鼓励团队变得更加灵活、响应更快,并专注于交付真正的价值。 遵循Scrum指南 2020的好处 采用Scrum指南 2020带来了诸多好处: 更清晰:简化的语言和精简的指南使所有涉众更容易理解和实施Scrum。 增强承诺:通过用“承诺”代替“预测”,指南强化了团队实现目标的决心。 产品关注:引入“产品目标”将团队的工作与组织的更广泛目标相一致。 更多经验主义:对经验主义过程控制的承诺鼓励团队基于实际数据做出决策,从而取得更好的结果。 质量交付:指南对质量的强调确保最终产品符合或超出期望。 结论 Scrum指南 2020代表了Scrum框架演进的重要一步。通过简化语言、强调承诺和倡导经验主义,它使团队能够在当今快速变化的商业环境中蓬勃发展。正如Ken Schwaber和Jeff Sutherland所说:“Scrum容易理解但难以掌握。”Scrum指南 […]

人工智能
人工智能

Epik AI Yearbook – 什么是它?

在不断发展的人工智能世界中,出现了一项革命性的服务,重新定义了我们创建个性化年度相册的方式。Epik AI Yearbook,于2022年推出,采用先进的Deepfake技术,创造了学生们的超逼真肖像,为传统的年度相册体验注入了新生命。尽管目前这项服务仅在美国和加拿大提供,但其影响和潜力巨大。 Epik AI Yearbook 的工作原理 Epik AI Yearbook 结合了人工智能和摄影,为希望创建高度个性化年度相册的学校提供了创新解决方案。以下是它的工作原理概述: 学校注册:教育机构注册该服务并提供他们学生的图像和视频。 Deepfake的魔力:Epik AI利用大量的真实人物图像和视频来进行其Deepfake的魔法。Deepfake技术利用一种称为“深度学习”的机器学习子领域来训练计算机执行涉及复杂数据分析的任务。 创建超逼真肖像:由于可以访问广泛的数据库,AI计算机经过训练可以精确识别面部特征和表情。这使它们能够生成学生的超逼真肖像,为年度相册的照片增添生动。 个性化年度相册:由AI生成的肖像被无缝地嵌入到个性化的年度相册中,提高了学生和学校整体体验。 尽管Epik AI Yearbook使用Deepfake技术具有革命性意义,但理解Deepfake的本质非常重要。Deepfake是通过先进的机器学习技术生成的,可以使计算机复制人脸特征和表情。在Epik AI Yearbook的情况下,这些机器是通过使用真实人物的图像和视频来训练的。 Epik AI Yearbook的潜力和挑战 Epik AI Yearbook 提供了许多优势: 超逼真肖像:该服务擅长制作捕捉每个学生本质的超逼真肖像。 个性化:年度相册可以根据学生的喜好进行定制,提供独特的个性化体验。 易于使用:Epik AI Yearbook用户友好,使学校和学生都能够轻松访问和使用。 然而,还有一些要考虑的缺点: 成本:该服务需要投入资金,学校必须投资以为学生提供这种独特的年度相册体验。 […]

谷歌项目管理证书 - 有趣吗
Scrum

谷歌项目管理证书 – 有趣吗?

当今充满活力的商业环境中,有效的项目管理对于成功至关重要。作为全球科技巨头,谷歌认识到了这一需求,并推出了谷歌项目管理证书,以装备个人具备在项目管理角色中脱颖而出所需的技能。 谷歌项目管理证书是什么? 谷歌项目管理证书是在Coursera上提供的在线课程,Coursera是领先的在线学习平台之一。该证书项目旨在为参与者提供管理项目的必要知识和工具,以便高效地管理项目并有效地领导团队。 证书计划的主要亮点 以下是谷歌项目管理证书的一些关键特点: 由谷歌专家开发 该证书计划的课程由谷歌项目管理专家团队开发。这确保了参与者接受一流的、与行业相关的培训。 适合初学者 该计划适用于初学者和有一些项目管理经验的人。它涵盖了基本概念,并逐渐深入到更高级的主题。 灵活的学习 作为在线课程,它在学习的时间和地点上提供了灵活性。这使得来自不同背景和地点的个人都能够参与。 实际项目 该证书计划的一大亮点是包含了真实世界的项目。参与者有机会在实际情景中应用他们的知识,增强他们的问题解决能力。 行业认可 成功完成该计划后,参与者将获得一份在全球顶级公司和组织中受认可的证书。这可以显著提升职业前景。 您将学到什么 谷歌项目管理证书计划的课程涵盖了广泛的主题,包括: 项目规划与执行 敏捷项目管理 利益相关者沟通 解决问题和决策 风险管理 团队协作 项目领导力 谁应该报名? 这个证书计划适合: 有志成为项目经理的人 想要提升自己技能的现任项目经理 团队领导和主管 寻求职业转型的专业人士 有兴趣学习项目管理的任何人 为什么选择谷歌项目管理证书? 以下是这个证书计划的独特之处: 谷歌的声誉 谷歌以其创新和高效的工作文化而闻名。从这个水平的公司学习项目管理为您的技能集增值。 […]

Scrum大师如何帮助确保Scrum团队高效工作
Scrum

Scrum大师如何帮助确保Scrum团队高效工作?

当谈到敏捷项目管理时,Scrum已经成为高效交付高质量产品的最受欢迎的框架之一。在Scrum框架的核心是Scrum团队,由产品负责人、开发团队和Scrum大师组成。而Scrum大师在确保团队高效工作方面发挥着关键作用。在本文中,我们将探讨Scrum大师如何履行这一重要职责。 消除障碍Scrum大师的主要职责之一是消除妨碍开发团队进展的障碍或问题。这些障碍可以包括技术问题、对其他团队的依赖关系以及组织上的挑战。Scrum大师充当协调员的角色,通过与其他团队、利益相关者或管理层合作,帮助团队克服这些障碍。 指导和促进Scrum大师不是传统的经理或团队领导。相反,他们充当Scrum团队的教练和协调员。他们指导团队了解和采用Scrum实践和原则。这包括促进Scrum事件,如冲刺计划、每日站立会议、冲刺审查和冲刺回顾。通过指导和促进,Scrum大师确保团队有效地遵循Scrum流程。 促进自我组织Scrum鼓励团队自我组织,团队成员共同协作并集体做决策。Scrum大师通过授权团队成员对他们的工作负责来培养自我组织。他们帮助团队理解他们的角色和责任,并鼓励他们独立找到解决方案。这种自主权导致团队成员的参与度和责任感增加。 防范外部干扰在许多组织中,开发团队经常受到外部请求和干扰,可能会干扰他们的工作。Scrum大师充当团队的屏障,保护他们免受这些干扰的影响。这使得团队能够在冲刺期间专注于实现冲刺目标,而无需不必要的干扰。 持续改进Scrum建立在持续改进的原则之上。Scrum大师在每个冲刺结束时起到关键作用,促进回顾。在这些回顾中,团队反思了工作中的亮点、有待改进的地方以及在下一个冲刺中应采取的行动,以增强他们的效率。Scrum大师指导团队实施这些改进,并确保它们得以贯彻。 监控进展和指标虽然Scrum大师不管理团队的工作,但他们会监控进展和相关指标。他们可以使用燃尽图、速度和其他指标等工具,帮助团队了解他们的绩效情况。通过分析这些指标,Scrum大师可以识别需要改进的领域,并与团队合作解决这些问题。 总之,Scrum大师在确保Scrum团队高效工作方面起着至关重要的作用。他们消除障碍、指导团队、促进自我组织、防范干扰、推动持续改进并监控进展。通过履行这些职责,Scrum大师使开发团队能够专注于交付价值,并确保Scrum流程得到一致遵循,从而实现成功的产品增量和满意的利益相关者。

谁最终决定产品待办事项的顺序?
Scrum

谁最终决定产品待办事项的顺序?

在敏捷软件开发中,产品待办事项是一个动态而关键的工件。它包含了一个按优先级排序的功能、用户故事和任务列表,代表了项目上要完成的工作。正确地排序产品待办事项对确保首先处理最有价值和最重要的项目至关重要。但到底是谁最终决定待办事项的顺序?让我们深入探讨这个问题。 产品负责人的角色 在敏捷领域,产品负责人在确定产品待办事项的顺序方面起着至关重要的作用。产品负责人负责最大化产品的价值,并确保开发团队首先处理最有价值的项目。他们是维护和细化产品待办事项的人。 产品负责人与利益相关者密切合作,包括客户、最终用户、业务分析师和开发团队,以了解他们的需求和期望。他们收集反馈,分析市场趋势,并在确定如何对待待办事项时考虑各种因素。这使他们能够明智地决定待办事项的顺序。 与利益相关者的合作 尽管产品负责人在确定待办事项的顺序方面负有主要责任,但需要注意的是,他们不应该孤立地做出这个决定。与利益相关者的合作是敏捷的基本原则。通过进行开放和透明的沟通,产品负责人可以从不同的角度获得有价值的见解和意见。 与利益相关者的合作有助于产品负责人更明智地决定待办事项的优先级。这确保了开发团队的工作与业务目标和用户需求保持一致。利益相关者可以就哪些功能对产品的成功至关重要提供意见,这可以影响待办事项的顺序。 优先级确定技巧 为了有效地确定产品待办事项的顺序,产品负责人通常使用各种优先级确定技巧。这些技巧有助于做出基于理性和数据的决策,而不仅仅依赖直觉。一些常见的优先级确定方法包括: MoSCoW方法:将项目划分为“必须有”、“应该有”、“可以有”和“不会有”。 加权最短作业优先(WSJF):为每个待办事项分配加权分数,根据延迟成本、作业规模和用户价值等因素。 Kano模型:将功能分为基本需求、性能需求和愉悦因素,以了解用户满意度。 业务价值点:为待办事项分配数值,量化其业务价值。 RICE评分:根据触及度、影响力、信心和工作量来评估待办事项。 结论 在敏捷开发中,关于确定产品待办事项的最终决定通常由产品负责人负责。他们的责任是确保待办事项反映出最高优先级的工作,与产品的目标和利益相关者的需求保持一致。然而,这个决定不应该孤立地做出,与利益相关者的合作对于收集不同的见解至关重要。 使用优先级确定技巧有助于产品负责人做出明智的决策。通过结合经验、利益相关者的意见和数据驱动的方法,可以以最大化价值的方式确定产品待办事项的顺序,确保团队专注于最重要的工作。

断言性沟通:定义与概念
敏捷文化

断言性沟通:定义与概念

经常被忽视或误解的断言性沟通是建立积极和成功人际关系的重要技巧。它依赖于自信、诚实和尊重地表达自己,同时清晰而直接地传达意见、需求和感受。 什么是断言性沟通? 断言性沟通位于一个光谱的中间,两个极端为被动和攻击性。与被动不同,被动者放弃了他们的权利并保持沉默,而攻击性则是个体强加自己的意见,而不考虑其他人的意见。 以断言性沟通的方式沟通的人表达他们的需求、思维和感受,同时尊重其他人的权利和意见。他们可以在必要时说“不”,而不感到内疚,同时积极倾听并对他人表现出同情心。 断言性沟通的好处: 增强理解: 通过清晰而准确地表达自己的意见,帮助他人理解您的需求和期望。 提升自尊: 断言性沟通建立了自信心,因为您学会了真实地表达自己,并尊重地断言自己的权利。 冲突解决: 断言性支持冲突解决,通过鼓励开放和诚实的对话,而不是对抗。 更健康的关系: 基于断言性沟通的关系通常更健康和更持久,因为它们建立在相互尊重和理解的基础上。 如何培养断言性沟通: 自我意识: 了解自己的需求、情感和思想对于断言性沟通至关重要。 实践积极倾听: 仔细倾听他人说的话,不打断或评判有助于断言性沟通。 使用“我”的信息: 使用诸如“我感觉到…”或“我认为…”之类的短语来表达您的感受,而不是责怪他人。 学会说“不”: 知道如何设定界限并在必要时说“不”,而不感到内疚,这是必不可少的。 实践: 在日常情况下定期应用断言性沟通,将有助于您培养这种技能。 总之,断言性沟通是建立健康关系、提升自信心和建设性解决冲突的强大工具。通过培养这种技能,您可以增强人际关系,提高整体幸福感。

问题树
Scrum

问题树 – 回顾

问题树回顾是一种独特而强大的方法,用于评估和改善团队的绩效。受到探索和冒险的概念启发,这种方法鼓励团队成员走出舒适区,探索新的领域来解决问题并激发创新。 理解问题树 问题树是一种源于系统思维的回顾技巧。它旨在通过将问题追溯到其根本原因来识别团队内的问题,就像树的根部滋养着其主干和分支一样。 这种方法不同于更传统的回顾方法,它鼓励对问题进行深入探讨,而不仅仅是简单的表面讨论。 这种方法与五个为什么(5Y’s)技巧有类似的思想。 问题树回顾的步骤 准备探索:要开始问题树回顾,必须创造一个有利于开放和反思的环境。团队和促进者必须确保所有成员都感到舒适,可以分享他们的意见和观察。 问题识别(根本原因):邀请团队成员识别在审查期间遇到的问题。鼓励深入思考,以确定这些问题的潜在原因至关重要。 分析根本原因(主干):一旦确定问题,团队就会探讨这些问题背后的根本原因。这涉及理解导致这些问题出现的因素。 寻找解决方案(分支):在了解根本原因后,团队将专注于寻找潜在解决方案。每个已识别的问题都会产生解决这些问题的思路。 选择和行动计划:最后,团队选择最有前途的解决方案,并制定实施计划。分配责任,并计划跟进以衡量进展。 问题树回顾的优势 问题树回顾对团队有多个显著优势: 深度分析:它允许深入探讨问题,超越症状,识别根本原因。 识别根本原因:这种方法有助于避免仅处理问题的症状,而是专注于根本原因。 创造力:以分支的形式寻找解决方案鼓励团队内的创造力。 参与度:团队成员通常在解决问题方面感到更有参与感,因为他们有助于问题的识别和解决方案的搜索。 结论 问题树回顾是评估和改善团队绩效的强大方法。通过遵循这种方法,团队不仅可以更有效地解决问题,还可以增进对内部动态的理解并激发创新。 无论您是想要走出舒适区,发现新视角,还是解决复杂问题,这种充满冒险精神的方法都可以丰富您的回顾,并有助于您的团队取得成功。不要犹豫,探索这种独特的方法,拥抱持续改进的冒险。

项目管理硕士
敏捷文化

项目管理硕士:通向领导的护照

当今商业世界中,项目管理是一门至关重要的学科。无论您在制造业、金融、技术或任何其他领域工作,高效规划、执行和监控项目的能力都是组织成功的关键技能。这就是硕士项目管理的用武之地。 了解项目管理 项目管理涉及组织和监督一组特定任务,目标是在规定的时间表和预算内交付最终结果。这需要对成功完成项目所需的流程、资源和工具有全面的了解。项目管理硕士课程提供了这些领域的全面培训,以及领导、问题解决和沟通技巧的培训。 硕士项目管理的好处 技术专业知识:硕士课程提供了深入的项目管理方法知识,例如瀑布模型、敏捷开发、Scrum等。您将学会根据每个项目的要求选择最佳方法。 领导力:项目管理不仅涉及监督任务,还涉及领导团队。您将培养领导、沟通和人力资源管理等技能。 多才多艺的职业:项目管理硕士学位在各个行业都是宝贵的资产,从建筑业到医疗保健到信息技术等各个领域都有机会。 收入潜力:由于项目经理在项目和组织成功中发挥了关键作用,他们通常薪酬丰厚。 如何选择硕士项目管理课程 选择硕士项目管理课程将取决于您的职业目标、地理位置和个人偏好。在寻找课程时,请考虑以下几个因素: 认证:确保该课程得到认可机构的认证。 专业化:一些课程提供项目管理专业化,例如IT项目管理或建筑项目管理。选择与您兴趣相符的专业化方向。 持续时间和格式:课程的持续时间(通常为1到2年)和格式(全日制、兼职、在线等)各不相同。选择适合您当前情况的那种。 声誉:研究提供该课程的大学或学校的声誉,以及毕业生就业率。 结论 硕士项目管理可以打开许多职业机会的大门,为您在领导岗位上做好准备。如果您希望提高项目管理技能并推动职业发展,强烈考虑追求这一学位。这可能是进入项目管理领域成功的护照。

敏捷成熟度评估
敏捷文化

敏捷成熟度评估:成功的提示

当今商界,灵活性已经成为一个流行词,但对许多组织来说,有效地实施仍然是一个挑战。敏捷成熟度评估是一个必不可少的过程,用于衡量您的公司在通向灵活性之旅中的位置,并识别需要改进的领域。在本文中,我们将探讨什么是敏捷成熟度评估,为什么它很重要,并分享一些在这项工作中取得成功的建议。 什么是敏捷成熟度评估? 敏捷成熟度评估是一个旨在评估组织实施和接纳敏捷原则和实践能力的过程。它衡量组织根据敏捷价值观管理项目、团队和流程的能力。这种评估可以在内部进行,也可以在外部顾问的协助下进行。 为什么敏捷成熟度评估很重要? 持续改进:敏捷成熟度评估有助于识别需要改进的领域,培养组织内不断改进的文化。 资源优化:它通过识别无效的流程或不产生价值的实践,有助于优化资源的使用。 明智决策:它为做出关于如何朝着更大的敏捷性前进的明智决策提供客观数据。 战略对齐:您可以确保您的敏捷实践与公司的战略目标保持一致。 敏捷成熟度评估的成功建议 吸引跨职能团队:在评估过程中涉及来自不同部门和层次的人员,以获取全面的画面。 保持客观:在评估过程中避免偏见和主观判断。数据应基于具体事实。 使用成熟的评估模型:有几种敏捷成熟度评估模型,例如能力成熟度模型集成(CMMI)或敏捷成熟度模型。选择最适合您组织的模型。 收集相关数据:确保收集的数据与您的情况相关。避免淹没在不必要的指标中。 制定行动计划:一旦完成评估,制定一个清晰的行动计划,以解决需要改进的领域。分配责任并设定截止日期。 沟通和分享:向整个组织通报评估结果和所采取的行动。透明度鼓励参与。 促进培训和学习:投资于培训和技能发展,以支持组织内的灵活性。 定期重新评估:敏捷成熟度是一个不断发展的过程。定期进行评估,以衡量进展并根据需要进行调整。 敏捷成熟度评估可以成为推动您的组织转变为更加灵活、反应灵活且注重价值的实体的强大催化剂。通过遵循这些建议并培养敏捷文化,您的公司可以在不断变化的商业环境中蓬勃发展。请记住,灵活性是一个持续的旅程,而敏捷成熟度评估是该旅程中至关重要的一步