从接触scrum到现在已经快一年了。
在这一年里,组内一直使用scrum的流程进行开发管理,虽说有些山寨,但看上去还是像那么回事的:blog分解、计划分解、立会、发布、回顾,该有的都有了,自己对于敏捷也从开始的新鲜到了现在的。。怎么说呢,不那么新鲜了。。。。
这次的产品是一个升级版,功能比较单一,但由于原来的代码主要来自于项目,1.代码质量不是很好 2.各个项目的功能也不太一致
这次升级的两个目的:
1.提高代码质量、优化架构
2.把已经在用的几个项目的需求抽炼出来,固化到产品中。
由于发版日期提前,我所在的小组全部都过去支援,我们去的时候,开发已经进行了3周。正好第一次迭代结束。
到昨天,第二次迭代也结束了。
在这中间发现了一些问题,权且记录在此,以后可以有个参考。
1.由于时间紧,任务多,并且大部分功能在项目上已经用了很长时间,所以我们去的时候看到的情况是:大部分的业务代码都是直接从项目拷贝的,改动很少;这样代码质量基本没有提升。
2.拿这次发布来说,昨天加班不说,加班的时候一个白天基本就在搭环境上了,而且自测到了晚上9点才完成,而环境更是到了11点才正式搭好---而且还不完全好使。
3.立会时间太长,原因主要是人多 --13人,而划分小组也比较困难,另外一个原因就是有时会纠缠到细节上面,浪费了时间。
4.对代码质量的意识不高,由于团队成员普遍比较年轻,设计、编码经验尚有欠缺,再有就是不重视重构。
对于以上的问题,自己目前想到的解决方案(有待进一步验证):
1.加强人员能力培养,其实每天花不了多少时间就重构的很好
2.加强自测意识、使用自动部署工具,简化部署,每天早上立会说完成某个功能的时候,必须在部署后的环境而是不本地开发环境测试完成;加强交付标准的制定--培养意识。
3.这个目前还没想到办法,我的想法是根据业务类型分为两组,并且要求每个人在表达问题的时候,清楚、简介。
4.能力培养;关于重构的问题,是个普遍现象了,原因主要有两点:一是不重视或者懒 二是害怕改出问题。对于一,只能加强大家的意识了,让大家重视起来;对于二,还得靠自动化测试来保证改动后的正确性。
写完这些后,发现目前遇到的问题主要是两个:
1.人员能力/意识问题
2.自动化工具(部署/测试/代码检查等等)
我在想,这两个是不是阻碍我们敏捷起来的原因呢?我们的山寨敏捷是否就山寨在这了呢?
对策也比较容易了:
1.人员能力培养,这个话题可太大了,目前是采用项目+导师的机制。。。
2.找工具,不行就写一些辅助工具,不能全自动还不能半自动么。。。
我不知道自己想的这些时候跑偏了,只能摸索着前进了。。。
就拿这两点当做一个突破点吧。
分享到:
相关推荐
例如,一个设计的单体攻击技能可能在纸上看起来完美,但在实际游戏中可能效果不尽如人意。通过迭代开发,团队可以在游戏版本中实际测试和调整,而不是在设计阶段花费过多时间试图预见所有问题。 敏捷开发中的迭代...
敏捷软件开发方法以其轻量级、快速适应变化的特点,迅速流行起来,成为软件开发界的主流。 敏捷开发的典型场景包括产品负责人的业务目标共识建立、产品需求的建立和维护等。敏捷开发通过切分大项目为小项目,每个子...
Scrum敏捷开发方法是一种以人为核心、迭代和增量式的软件开发框架,旨在提高团队的灵活性、效率和产品质量。Scrum最初是在应对瀑布模型在处理需求变更和团队协作方面的不足时发展起来的。瀑布模型强调严格的阶段顺序...
- 敏捷不仅仅是优秀实践的简单结合,而是一种全面的方法论,涵盖了价值观、原则和实践。 - 敏捷不仅仅适用于小项目,大型项目也可以通过合适的组织结构和实践成功应用敏捷。 - 敏捷的影响远远不止于研发部门,它...
为了更有效地理解如何使用能力成熟度模型集成(CMMI)来提高敏捷性能,我们需要深入探讨敏捷开发和CMMI两者的基本概念,以及它们如何相互作用以帮助组织产出更优秀的软件。我们还将了解敏捷实践和技术,以及CMMI提供...
《敏捷软件开发》一书是敏捷开发领域的经典之作,作者为Robert C. Martin,简称Uncle Bob。这本书深入探讨了敏捷方法的核心理念、原则、模式以及在实践中的应用。源代码部分则是为了辅助读者理解书中的概念和技术,...
- **误解二**:敏捷不仅仅是一系列最佳实践的组合,它是一种整体性的开发哲学。 - **误解三**:虽然敏捷最初是在小型项目中成功应用,但现在已经被证明同样适用于大型项目。 - **误解四**:敏捷不仅改变了研发部门,...
1. **敏捷转型**:敏捷转型不仅仅是引入新的工具和技术,更重要的是转变组织文化,使团队具备高度的自组织能力和快速响应变化的能力。本书中提到了许多实用的方法和技巧,如如何处理组织阻力、如何建立信任和支持...
### 加速企业敏捷的DevOps平台 随着信息技术的飞速发展,企业的数字化转型变得日益迫切。DevOps作为一种融合了开发(Development)与运维(Operations)的新型实践模式,旨在缩短软件开发周期,提升服务质量,从而...
要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是能够领悟优美...通过本书你会发现,许多以前看起来非常枯燥费解的概念,忽然间都豁然开朗,变得鲜活生动起来。 一共两个分卷,这是第二个
在软件开发领域,CMMI (Capability Maturity Model Integration) 和敏捷开发方法经常被视为对立面。然而,这份PPT资料明确指出,CMMI和敏捷并非不可调和的对手,而是可以相辅相成的伙伴。以下将详细探讨CMMI与敏捷...
●Agile方法:主要讲述了如何去使用 Agile 方法,其中有很大一部分内容是告诉你为什么要这样做。 ●面向对象设计原则:本书包含了11个面向对象设计原则,涵盖了包的设计和类的设计。这是我所见过的对这方面内容...
敏捷软件开发是一种以人为本、迭代、循序渐进的开发方法,在21世纪初迅速流行起来。它强调通过团队成员之间的高度协作、持续改进及对变化的快速响应来促进项目的成功。本章节将介绍敏捷开发的核心理念与原则。 ####...
近些年来,随着敏捷思想及开发方法越来越多地被国内各行业接受并不断实践,人们对“敏捷”的学习也逐渐从学习其思想转变为学习其操作方法。因此我们看到越来越多的项目团队打掉了办公桌隔板,购买了白板和即时贴,...
选项B(成员一起来分解需求到任务和估算,并从任务列表领取他们将要进行的工作)描述了敏捷团队的自我组织特点。 产品愿景应能激发灵感,描述产品的最终状态。选项C正确表达了这一品质。 软件交付不仅仅是代码和...
敏捷开发的核心思想是以人为核心、需求进 hóa为核心,而不是以文档为依据。这是因为敏捷开发注重的是人与人之间,面对面的交流,而不是注重文档的编写。因此,敏捷开发强调的是团队成员之间的交流和合作,而不是...