敏捷开发
你的代码是干的还是湿的?
DRY 代码是一种软件原则,代表不要重复自己 (Don’t repeat yourself),其目标是减少代码的重复。DRY原则上是要求系统中的每一部分,都必须单一、明确、权威地表达。其实就是可靠地开发软件、并让开发项目更易于理解和维护。与之相反的,WET (Write Everything Twice) 则是一个厚颜无耻的缩写,表示相反的意思,即不遵守 DRY 原则的代码。显而易见,程序员写代码时需遵循DRY原则,而尽量避免WET。在这篇文章中,我们将探讨将 DRY 原则应用于您的代码的好处。首先,我们将从一个简单的例子开始,说明 DRY 原则的基本优势。
DRY示例
假设代码中有很多...
2022-12-27
MVP、原型、概念验证,傻傻分不清楚?
MVP、原型以及概念验证这三者的概念虽然没有密切的联系,但也有不少人会分不清这三者的区别,在这篇文章中,我们会帮大家区分一下这三个概念。首先是MVP,MVP是Minimum Viable Product的缩写,即最小可行性产品。MVP通过发布一个产品的早期版本,来获取用户对该产品的反馈,从而开发出更能满足用户需求的产品。简单来讲,MVP提供了测试市场以及客户需求的机会,从而避免产品开发方向出现偏差;MVP帮助公司在产品的早期阶段就能够通过交付价值来吸引一部分客户,获得收入;同样,MVP也能够帮助产品提前进入市场,凭借前期优势建立品牌影响力。Airbnb就是一个很典型的MVP例子。起初,Airb...
2022-12-26
构建自组织团队,让敏捷管理更好地落地
敏捷开发是以用户的需求为核心,通过不断迭代、小步快跑、循序渐进的方法进行软件产品的研发,在迭代研发过程中的产品都需要经过测试,具备可视化、可集成和可运行使用的特征。在团队方面,敏捷开发倡导团队协作,强调个体的互动高于整体的流程和工具。在产品开发和项目实施的过程中,正式的开发流程或标准化的书面计划并非是重要的,人与人直接的面对面沟通和交互是保证产品质量的关键,尤其是跨团队、部门之间的沟通与协作。敏捷管理方法的核心观点包括:
注重人的价值:在敏捷管理方法中认为团队和人是项目取得成功的重要因素,更加注重团队间人与人的沟通协作,发挥个人的能力和特长。
弱化文档的流通:通过项目...
2022-12-22
敏捷价值流管理
对团队或企业来说,敏捷能够通过快速迭代、改进来更好地为客户或终端用户交付价值。但有些团队在引入敏捷项目管理模式之后,团队管理层看了看埋头工作的团队,“唉?团队的效率好像并没有提升啊,这不和以前一样吗……”在这种情况下,研发团队的负责人顶着压力开始敦促研发人员“提效”,不管是结对编程还是代码评审,实际上收获的效果也并不明显。那到底问题出在哪儿呢?
一、价值流是什么?
我们常说产品的生产制造过程也是一个价值流动的过程,随着产品从一张图纸开始逐渐成型,由半成品转变为成品并递交到使用者的手中,产品的价值才算是由0变为1。这个其实比较容易理解,产品在还没有完全成型时,是没有价值的。比如,买方想...
2022-12-21
Scrum框架的自组织团队
飞行在天空中的鸟群一会排成一个“一”字,一会排成一个“人”字,它们自由飞翔,又根据不同的风向排列不同的队形减少阻力,达到最高的飞行效率。人类社会中也如此,没有一种不需要调整的通用方法可以适用于所有的工作场景,且经久不衰。当面对多人协作的工作任务时,我们有必要找到一种有条理的、相互协调的方法来实现人力、任务的协同工作,不然就会陷入无尽的混乱。这种方法和组织可能会很复杂,而为了降低复杂性,我们可以将它的架构和流程都标准化,再依据实际情况进行调整。这个标准化过程就可以通过最佳实践或者延续企业文化发展来实现。
这种最佳实践是在特定的情境中发展的,以达到特定的目标,这样它就可能不适合给定的组织。...
2022-12-06
敏捷激流中的测试
敏捷开发浩浩荡荡流行了20多年,彻底改变了软件研发行业。如果说敏捷开发对产品、开发和测试这三种类型的工作哪一个影响最大,我会选择测试。因为敏捷开发模式下迭代周期缩短,很多问题会更集中地暴露出来,比如用户故事拆分往往不够细致精确、开发和测试无法并行展开、开发人员的测试意识薄弱等。诸多问题都会累积到测试环节集中爆发,所以从这个角度来讲,敏捷开发对测试的影响会更大。可能您已经注意到,我说的是测试环节,并没有说测试人员。原因在于,敏捷开发模式下质量保证应当由整个团队来负责,而不应该单单是测试团队的职责。国庆节的时候我到杭州出差,和原来阿里妈妈的同事聚会,聊到了阿里在推动去测试化,由研发团队自己来做测试...
2022-11-30
项目管理中,我们要了解哪些辅助图表?
在项目管理中,我们想要整体把控某一具体的时间盒内任务的状态及进展,还是要借助一些图表工具来直观地展现。我们常用的图表包括燃尽图、甘特图还有各类统计报表,在本文中我们会说一下常见的两种图表:燃尽图与甘特图。
一、燃尽图
燃尽图是用来展示随着时间减少,工作量剩余情况的图表,可以非常直观地把握项目的进度。燃尽图由4个重要组成元素,一般来说,纵轴表示剩余工作量,横轴表示时间,计划曲线代表理想情况下的任务进展曲线,实际曲线代表任务的实际进展曲线。
项目团队的成员除了每天的编码工作外,还需要在工具里更新自己所负责任务的状态以及预计剩余时间,项目管理工具会将项目中所有任务预计剩余时间累加起...
2022-11-16
为什么你的敏捷总是不成功?
这几年,很多公司都在使用敏捷开发,所以现在再去聊“是否敏捷”已经不合适了,更多的是要关注到敏捷的细节讨论、工具化、组织团队、多团队扩展,及其企业级敏捷、数字化转型等更深入的层面。不过近几年,我经常在知乎上看到很多人在说为什么敏捷总是不成功,敏捷很难,敏捷不好,甚至敏捷不适合我,与我无关。这些问题看似简单,实则是一些常见的误区。
1、敏捷与我无关
敏捷与我无关。出现这个想法的人,说明你还无法真正理解敏捷。生活工作中处处有敏捷,比如你即将参加一场重要演讲,在这之前你可能已经演练过几遍了。几次的演练就是让你总结出不好的地方,下一次可以改进。这不就是工作中敏捷的例子吗?
生活中的敏捷,...
2022-11-15
组建敏捷团队,你将遇到哪些困难?
敏捷团队不同于传统的项目团队,在组建团队的实践过程中,可能会遇到以下困难:
1.不是跨职能团队
一些公司会按照不同的职能来划分团队,比如分析师、设计师、测试人员、软件工程师等,这也意味着,各角色的汇报线也各不相同。不过,这可是敏捷转型的重大障碍!因为敏捷基本原则之一是要求不同职能组成的跨职能团队齐心协力构建最佳软件。而敏捷的有效运作,是需要每个人都被赋能,可以在项目中扮演多个角色,以此消除不同职能之间交接时产生的延迟和等待等问题。
虽然跨职能团队是一个团队,但只是一个虚拟的团队,不同职能角色之间并没有什么产生真正的团队链接,在这种情况下,不同角色的相处和信任就是一个问题了。可以通...
2022-11-11
打破这四点,别再说敏捷无法落地了
在敏捷落地这一方面,我们其实还是能看到理想与现实之间的差距的。我们经常在和客户交谈的过程中,发现敏捷无法落地这件事情在企业中还是比较普遍,尤其是大型企业。其中的原因有很多,大多是牵一发而动全身,所以要想落地敏捷,我们必须要直面这些问题。在一些大型企业中,内部的组织架构已经是十几年甚至几十年间逐渐形成并稳定下来的,这会造就一种现状:高层管理人员一般较少关注基层流程,中层管理人员更倾向于按部就班地完成任务,而不会去主动承担改革所带来的风险。即使是高层和中层开始下定决心,开始自上而下地推动,也会逐渐遇到不同程度的阻力:
1.团队成员的主动性差
Scrum要求我们组建自组织、自管理的团队。当然,...
2022-10-19