`
yuguanyin
  • 浏览: 74656 次
  • 来自: ...
社区版块
存档分类
最新评论

拥抱变化 敏捷开发

阅读更多
二弟的一篇介绍 敏捷的文章,希望有机会在 GBS 的系统实施中能够早日用上 敏捷


关于敏捷
2008-08-27 10:02 | (分类:默认分类)
    今天写实习总结,描述了一下这几个月的收获。截取其中的一段关于敏捷的感想。

Scrum对于我这样的开发人员来说,让我可以直接参与到整个开发周期的各个阶段。在评估会议时,团队中的每个成员都有权对产品的需求项进行评估,确定需求的工作量大小。在Sprint 计划会议1中,由Product owner对该Sprint中的需求项进行需求描述,明确具体的需求。在Sprint计划会议2中,Scrum master组织团队对既定产品backlog的需求项进行任务划分,将每个任务细化到每天的工作中,确保在Sprint周期中,每个人的任务分工明确。

在Sprint每日的例会中,每个开发人员报告自己的工作进度,并明确下一天的任务,遇到障碍,可以及时找到相应的人员开会解决。在Sprint的评审会议中,对Sprint的完成的任务进行提交演示,并可以增加新的需求项。在Sprint的回顾会议中,确定这个Sprint的成功和失败的经验,及时总结。

       我们开发人员在整个Sprint周期中,可以明确需求,并自主地安排工作进度,在技术增长的同时,也增加自己的工程管理的经验,有利于个人职业生涯的发展。Scrum相比于其他的过程模型,更加注重团队个人素质的提高,并且能够快速的应对变化。

       TDD也是一种敏捷开发的方法。它的主要思想是通过建立一套可执行的测试用例,保证代码的实现与具体的需求的一致性,以测试用例作为中介,建立一个有序的工作方式:从需求用例中导出测试用例,从测试用例中导出代码的接口和实现。

       在我平时的开发过程中,严格的遵守了TDD的指导。拿到一个具体的Use case时,先测试几组测试数据,然后用JUnit建立一个Test case与Use case对应,在Test case中采用Mock对象,先虚拟地对测试方法进行实现,等测试通过之后,再抽取出具体的接口,然后实现。

       我觉得TDD的好处是在产品的开发过程中建立了一套可运行的Test case,让需求变得具体,可控。一旦需求发生了变化,可以从Test case 入手,然后再修改实现代码。使需求的变更在代码的级别变得可控。

       我还学习了基于Java平台的动态语言Groovy。这是一种敏捷的开发语言,比Java语言具有更高的抽象性,用少量的代码表现更多的功能。

       在IBM的收获是让我体验到了“敏捷”无处不在。从敏捷软件过程的Scrum方法,到测试驱动的开发方式,到敏捷的开发语言,整个软件工程的各个方面都有敏捷的出现。我考虑过这个问题,为什么这两年敏捷变得如此的流行。我觉得一个原因是让需求的变更变得可控。软件工程发展了10多年,积累的大量的原始资源,各种平台,中间件林立。客户对软件的需求从最初的简单发展到如今的非常复杂,业务变更非常频繁。过去那种僵硬的,按步就搬的开发方式和管理方式已经不再适应变化。比如采用瀑布模型,开发了几个月客户才看到最终产品,但是最初的需求已经改变地面目全非了。Scrum的好处是它把“变”与“不变”控制地很好,在Sprint进行中Sprint backlog是不应发生改变地,保证了工作的有序。在Sprint的开始和结束之后可以进行需求的变更。由于Sprint的周期长度较短,这种短暂的稳定,可以让团队在正确的道路上持续的前进,而不是全程的变化,找不到正确的道路。

       敏捷是软件工程的发展方向,让我们拥抱变化,让生活变得更美好一点。
分享到:
评论

相关推荐

    敏捷开发知识体系.pdf

    它的核心理念在于不断迭代和快速获取用户反馈,以应对不确定性并积极拥抱变化。敏捷开发强调个人的价值,重视团队协作,通过有效的激励机制提升工作效率。 敏捷宣言是敏捷开发的基石,其四个价值观——个体和互动...

    敏捷开发官方文档

    它鼓励创新,拥抱变化,以实现更高水平的客户满意度和团队成就感。 总之,敏捷开发通过灵活、迭代的方式,提升了IT项目的成功率和软件产品的质量。理解和掌握敏捷开发的各种实践,对于任何IT从业者来说都是至关重要...

    敏捷软件开发原则、模式与实践.pdf

    与传统的瀑布模型相比,敏捷开发更加适应于变化迅速的环境,并强调人的重要性,提倡自我管理的团队和个体的多样性。敏捷开发的核心价值和原则主要通过《敏捷宣言》及其十四条原则来体现,本书则进一步对这些原则进行...

    敏捷开发:管理者的成功路线图白皮书

    它要求组织内部的各个层级都能够接受变革并积极拥抱变化。敏捷开发的核心理念包括: - **以人为本**:团队成员之间的沟通和合作至关重要。 - **快速反馈**:通过频繁的迭代来获得及时的用户反馈。 - **持续改进**:...

    火星人敏捷开发手册 2012-12-31(修正了页眉)

    - **拥抱变化**:敏捷开发鼓励在项目的任何阶段都接受变更请求,以更好地满足客户需求。 #### 敏捷绩效考核 - **考核对象的变化**:传统开发方法中,个人绩效通常被单独评估;而在敏捷环境中,重点转移到团队的...

    关于敏捷开发的一本好书

    - **拥抱变化**:即使在后期项目中也能适应需求变化,灵活调整开发方向。 ### 敏捷方法概览 书中详细介绍了多种敏捷开发方法,包括但不限于: - **Scrum**:一种迭代和增量的项目管理框架,适用于复杂产品开发。 ...

    30天软件开发 : 告别瀑布拥抱敏捷(En)

    敏捷开发是一种迭代和增量的软件开发方法,它强调团队协作、客户合作和产品适应性,相比于传统瀑布模型,敏捷开发更加快速和灵活。 敏捷软件开发的核心在于对过程和工具的重视远不及对人的重视。敏捷宣言中提到了四...

    敏捷开发超强指南.docx

    它的核心思想是小步快跑、快速迭代和拥抱变化,强调通过最小可行性产品(MVP)尽早获得市场反馈,然后根据反馈进行调整优化。敏捷开发并不追求一开始就做到完美,而是通过不断的迭代和增量式开发,逐渐完善产品,使...

    火星人敏捷开发手册 2012-02-29

    ### 火星人敏捷开发手册 2012-02-29 #### Scrum基本知识 **Scrum概述** Scrum是一种基于敏捷原则的项目管理框架,旨在通过迭代的方式快速交付高质量的产品。其核心思想是通过短周期的迭代(通常称为Sprint)来...

    [解析极限编程:拥抱变化(原书第2版)

    《解析极限编程:拥抱变化(原书第2版)》是软件开发领域的一部经典著作,作者通过深入探讨极限编程(Extreme Programming, XP)这一敏捷开发方法论,为我们揭示了如何在快速变化的需求环境中,有效地管理和开发软件...

    解析极限编程拥抱变化

    在JSP环境下,可以结合Spring框架进行敏捷开发,利用JUnit进行单元测试,使用Maven或Gradle实现自动化构建。 极限编程拥抱变化这本书很可能会详细讨论这些实践,以及如何在实际项目中应用它们。通过阅读,你可以...

    敏捷软件开发:原则、模式与实践 PDF电子书

    书中详细介绍了敏捷开发的各种原则,如“拥抱变化”、“持续集成”和“测试驱动开发”等。这些原则旨在降低风险,提高开发效率,确保软件质量,并且使项目能够适应不断变化的需求。例如,拥抱变化原则提醒我们,即使...

    小规模团队敏捷开发Scrum

    - **拥抱变化**:欣然接受需求变化,视其为增强产品的机遇。 - **团队协作**:所有成员必须紧密合作。 - **技术卓越**:不懈追求技术进步和个人成长。 - **自我反省**:团队定期反思改进策略,提升效率。 #### ...

Global site tag (gtag.js) - Google Analytics