关闭

敏捷是什么?

606人阅读 评论(0) 收藏 举报

敏捷这个东西我接触的时间并不长,也就是2年左右。由于这2年都在学校读书,所以像什么8小时工作啊,结对编程啊都还没有机会尝试。但之前有过4年的复杂的开发经历,从最开始混杂着SQL的ASP开始,毕竟是吃过不少苦头的,所以在接触敏捷的过程中往往会感觉到很多想法正是对应这以往所遇到的某些问题。所以在尝试着用敏捷的思路和方法作过些东西后,自然对其有了很强的认同感。但是对于敏捷的核心是什么,一直没有切身的体会。

按照现在的说法,敏捷的本质是拥抱变化。或者按流行的说法,敏捷是一种态度。我想,我自己对敏捷的认识可以这么说:从敏捷的角度去思考问题,就是把自己放在一个弱者的角度去思考问题,我们永远不可能真正了解用户的需求(当然,用户自己都未必了解),我们永远不可能真正了解自己使用的工具(语言、框架、环境等),我们也永远不可能写出完美的程序(实际上我们也不应该试图去写这样的程序)——但是,虽然我们处在这样一个弱者的角度,我们却努力的让自己更能适应这样的处境,并努力让自己具有进化的能力。

我们将需求分解成Story,通过快速迭代使自己具有无限接近真实需求的能力;我们将系统设计为一个个自足的小模块(类),通过解耦使得每一部分具有单独进化的能力;我们通过单元测试、持续集成和反复的重构,使得自己具有消除bad smell的勇气,并使得自己的设计越发适应需求。我们通过结对编程和限制工作时间,使得自己有认同感和热情持续这样的进化过程。

之前看过一篇Blog,说的是要正确看待补丁。在有限的时间内发布出的版本必然是有补丁的,关键是如何认识补丁。我们需要的是一个能迅速发现问题,解决问题,保证不引起新问题的机制。也正是看过这篇看似和敏捷无关的帖子后,我才开始思考究竟应该用什么样的态度来知道自己的学习和开发。到今天为止,我才对“敏捷是一种态度”有了自己的理解。希望能在以后的过程中以此为指导并时刻反思之,实现所谓螺旋式的上升。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6360次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档