目前公司的产品或项目的研发/开发既不是传统意义上的瀑布式开发流程,可以说是增量迭代类型的,但是却有没有什么大或小的一些计划,只是步步的向前推,以项目驱动产品发展。瀑布模型中需求、设计、开发、测试、上线等每一个阶段都是有一个明确的时间点,且每个阶段都依赖 而它的上一个阶段,一旦需求有所变化,就会影响后续每个阶段;而增量迭代是在瀑布模型发展而来,加入了更多的控制以及对变化的处理,里程碑是对一个迭代结束的描述。
敏捷开发实际上是一个轻量级的项目管理规范,可将整个大的需求范围拆分成若干迭代周期,为这些迭代周期设置明确的里程碑,且评估完成这些功能需要花费的成本。更重要的是每次迭代之后,会对本次迭代进行一次回顾:取其精华去其糟粕、不断完善、不断改进。
目前软件的节奏会越来越快,意味着变化也会越来越频繁,不可能让产品/项目研发出来时市场的需求以及发生了改变,那么就需要我们能快速发现变化、了解变化,并进行及时的调整、预知一些即将可能会出现的需求。
从另外一个角度来讲,以最短的时间推出用户可看可接触到的东西,才能知道用户所关注的功能,哪些功能是比较期待有的。很多时候不做出一个基本可用的东西,用户的建议想法是不会触发出来的,所以将事情分成多个阶段,迭代每个阶段,不断向用户推出更多的功能点以满足用户的述求。
敏捷只是一种思想,一种软件开发的方法学,有很多种分类(Scrum/XP/RUP)。可以说Scrum是敏捷思想落地的一个参考。我们不必完全拘泥而Scrum中定义的规范,只是需要参考它并结合自身的条件做适当的调整。
前段时间看了《敏捷开发》、《高效程序员45个习惯》以及《轻松Scrum之旅》,其中《敏捷开发》这本书大而全,针对一个公司如何实现敏捷、从何处着手、与利益相关各部门引入敏捷都有相关的章节描述,而高效45主要是针对个人思想/意识提高来讲,不错的书可以精读;轻松Scrum之旅是一本学习Scrum的趣味性书籍(4天翻完),可通过该书了解下Scrum大致流程,需要注意的地方,有大致映像即可。
其中《敏捷开发》提出了一个学习推广模型ADAPT,深有感触:
Awareness 意识:当前过程已经不可能实现可接受的结果;
Desire 渴望:把敏捷、Scrum作为一种手段解决当前问题;
Ability 能力:有成功实施Scrum的能力;
Promotiom 推广:通过分享经验来推广Scrum,从而能让他人看到已有的成功;
Transfer 传递:把实施Scrum的影响传递到整个团队、公司。
敏捷Scrum完整学习流程(来源于某一篇文章,借鉴下)包括:
1. 软件项目的复杂性与经验行过程
2.敏捷宣言与及价值观
3.Scrum理论基础、历史、框架及流程
4.Scrum核心 --- 透明性、检视和调整
5.Scrum角色
6.Scrum和质量、“Done”的定义
7. 产品代办事项列表及用户故事
8. 如何做计划、回顾和反馈
9. 模拟真实项目实践Scrum
相关推荐
本书作为敏捷开发的入门书籍,定位在为对敏捷开发和Scrum感兴趣,或有软件工程、软件开发流程疑惑,以及希望在职业生涯中有所成长的读者提供帮助。作者希望读者在阅读本书的过程中,不仅能获得知识,更能引发思考,...
书籍的定位是Scrum敏捷开发的入门书籍,面向那些希望了解敏捷开发和Scrum、对软件工程和开发流程有困惑的读者,以及希望了解外企工作模式和企业文化、对自己的职业发展感到迷茫的人。通过分享成功的经验和失败的教训...
本文尝试从一个不同的角度探讨Scrum在实际应用中的局限性及其背后的原因,特别是对中国软件开发行业的观察与思考。 #### 原因分析 ##### 1. **信任文化缺失** - **核心理念**:Scrum强调创建一个支持和信任的环境...
- **实践**: 涉及到Scrum、看板(Kanban)等多种敏捷实践。 #### LeSS (Large-Scale Scrum) LeSS框架旨在简化和改进大规模敏捷项目中的Scrum实践。 - **组织结构**: 在LeSS框架中,通常采用的是特性团队,每个团队...
敏捷开发的典型框架包括Scrum、Kanban等。在敏捷开发中,TDD可以作为核心实践之一,有助于提高软件质量,减少缺陷,并促进代码的可测试性。 TDD 和敏捷开发结合,可以带来以下好处: 1. **更好的设计**:TDD 促使...
它强调系统化的思考方式、严格的管理流程以及对软件生命周期各阶段的有效控制。在软件工程领域内,敏捷开发方法因其高效性和灵活性而受到广泛欢迎。 **敏捷开发的核心价值观** - **个体和互动高于流程和工具**:...
敏捷软件开发的优秀实践包括One Track Anatomy、Systemakut、Lagomising、持续集成迭代交付、计划游戏、重构、Scrum迭代计划会议、回顾会议、稳定开发节奏、客户参与验收、每日站立会议、测试驱动开发、XP、Scrum ...
Scrum是敏捷开发框架的一种,它通过短周期的Sprint(通常为两周或一个月)来组织工作,每个Sprint结束时都会有一个可以发布的软件版本。 极限编程(XP)是敏捷开发的一个具体实践,由肯特·贝克(Kent Beck)提出。...
随着敏捷思想的引入,测试活动不再是孤立的、后置的过程,而是贯穿整个开发周期的持续活动。这种转变不仅提高了测试效率,还促进了更紧密的团队协作。 总之,敏捷测试不仅仅是关于测试策略的变化,更是一种思维方式...
通过上述介绍的知识点,我们可以看到,敏捷测试的核心在于团队的合作、持续的改进和对客户需求的快速响应。在结束培训后,参与者应该思考如何将这些理论应用到自己的项目中,并制定具体的行动计划。 1. **行动计划*...
- **引入敏捷性:** 敏捷提供了一种新的思维方式,使团队能够快速响应变化并保持高效。 **如何成为敏捷专家?** - **敏捷方法论:** 介绍了几种主要的敏捷方法,包括Scrum、Kanban等。 - **不要自行发明方法:** ...
- 引入Scrum方法论来提高团队协作效率和响应速度。 - 通过持续集成(CI)和持续部署(CD)流程标准化,实现快速迭代。 #### 二、持续交付的发展历程 1. **持续交付1.0**: - **Pipeline + 部署脚本**:构建自动化...
敏捷开发管理旨在改善传统瀑布式软件开发管理的市场响应周期长、开发过程依赖于文档、开发投资成本高的缺陷,强调以人为本,专注于思考、交流、反省和总结完善,从快速响应市场变化、注重团队协作及任务回顾的视角...
Scrum、Kanban等敏捷开发方法被引入,帮助读者理解如何在快速变化的需求中灵活应对,保持项目进度的顺畅。 文件列表中的《简单之美——软件开发实践者的思考》电子书.pdf,显然是这本书的PDF版本,读者可以方便地在...
同时,报告指出,传统的开发模式如Water-SCRUM-Fall,常常因为手动操作和繁琐的仪式化流程而减慢交付速度。为了解决这一问题,DevOps的实践被广泛提倡。DevOps强调自动化、持续集成/持续交付(CI/CD),以及团队间的...
后者以故事形式讲解敏捷开发的Scrum框架,增强了学生的学习兴趣,加深了他们对敏捷思想、Scrum概念及实施方法的理解。这样的教材组合不仅丰富了教学内容,还增加了教学的深度,强调了实践的重要性。 其次,面向对象...
2. 工具的引入是否足够:DevOps不仅仅关乎工具,更重要的是文化和流程的改变,工具是支持这些变革的手段,而非目标本身。 3. 实施难度大:DevOps体系庞大,需要从全局视角出发,系统化思考并逐步实施。 4. 时间和...
- UML在敏捷开发方法中的应用,如Scrum或XP中的角色。 - UML与面向对象编程(OOP)的关系,以及如何利用UML进行分析和设计。 - 通过UML进行需求分析、系统架构设计和代码生成的流程。 - UML在系统维护和重构中的价值...
新的思维模式可能引入敏捷方法,如Scrum,允许更灵活地调整计划,适应变化。 4. **成本管理** 成本管理要求预测和控制项目成本,确保在预算内完成。这包括资源估算、成本预算编制以及定期的成本跟踪和控制。 5. *...