自动自发的敏捷团队
伍斌_Ben
独立匠艺程序员
展开
-
ATDD与TDD的哲学内涵
ATDD (Acceptance Test-Driven Development)验收测试驱动开发是基于“用户需求实现”层面的测试驱动,TDD (Test-Driven Development)测试驱动开发是基于“模块代码实现”层面的测试驱动,在软件开发中运用两者就像人走路,先迈ATDD左脚,再迈TDD右脚,二者相辅相成。ATDD与TDD都实现了孔子所倡导的“君子欲讷于言而敏于行”,如果开发人原创 2012-09-29 18:58:54 · 1087 阅读 · 0 评论 -
软件开发越来越不像工业,而更像农牧业
我是学软件工程的,软件工程这个名称给人最大的误解是:似乎软件开发可以实现像汽车生产那样的工业化,按个按钮,软件就能从生产线上制造出来。做了多年的软件开发后,我越来越感觉软件开发越来越不像工业,而更像农牧业。农牧业的生产除了靠天,主要是靠人。软件开发也是一样,除了靠流程和工具外,也主要靠人。人的因素在软件开发中占了很重要的地位。日本汽车的精益制造(流水线上的每个员工都是能够相互学习的多面手,这一点很原创 2012-09-21 20:31:45 · 2453 阅读 · 0 评论 -
测试驱动开发的好处
测试驱动开发TDD的好处:1. 快速反馈2. 有利于解偶,不好测试的用例需要重构3. 测试用例是重构的基础,4. 先定义好API接口,基于接口编写测试用例和实现,目标明确5. 一个个测试用例,就是“摸着石头过河”的石头,没有石头,就过不了河6. 单元测试用例可以用做软件功能说明书7. 单元测试用例是用于对付遗留代码的及其重要的组件之一原创 2012-09-21 19:20:02 · 1434 阅读 · 2 评论 -
程序员苦难的根源
我最近一直在想,程序员苦难的根源到底在哪?为什么程序员总是不停地加班改bug? 佛家说,一切苦难的根源就是“无明”。 无明就是无知。程序员的bug不是天生的,而正是我们程序员自己造的孽。要是我们能够做到无无明,知道如何能够有效控制住我们自己造孽的那些bug的机会,那么,我们就离解脱苦难不远了。我能看到的控制造bug孽的技术,就是TDD,和unit test。好在程序员可以用程序来帮我们控制bug。原创 2012-09-21 19:18:13 · 1208 阅读 · 2 评论 -
《自动自发的敏捷团队》——敏捷之旅2012北京演讲提纲
我将于2012年12月1日在敏捷之旅2012北京站分享《自动自发的敏捷团队——西方的敏捷软件开发如何用于中国团队》的话题,下面是演讲提纲,供参考。* 敏捷之旅2012北京站 :http://www.headin.cn/Themes/Activity/Details/?activityId=508d2c72869d081978bddf4d&groupId=3957§面对敏捷开发"原创 2012-11-23 13:34:09 · 959 阅读 · 0 评论 -
不要迷信敏捷软件开发中的敏捷管理工具
不要迷信敏捷软件开发中的敏捷管理工具,因为敏捷宣言里说得很清楚,"个人和互动高于流程和工具。"比尔-盖茨说:“任何高科技带来的自动化运用于商业流程时,都有两条法则:第一,当运用于那些已经高效的流程时会放大其高效性;第二,当运用于那些原本低效的流程时只会放大其低效性。”原创 2012-10-01 22:48:07 · 719 阅读 · 0 评论 -
可补软件开发之偏:《佛教的精神与特色》
《佛教的精神与特色》是台湾教授林世敏40年前的有关佛学启蒙的经典之作。书中提到孙中山说:佛学是哲学之母,研究佛学可补科学之偏。研究佛学同样可补软件开发之偏。比如佛学中六度,是使人读过生死苦海(软件开发的痛苦磨难)的六种方法:1.布施(多多分享)、2.持戒(戒除恶习(网游、网瘾、美女......))、3.忍辱(忍受压力)、4.精进(努力不懈)、5.禅定(心无旁骛)、6.般若(大彻大悟)。你在原创 2012-09-21 19:26:29 · 787 阅读 · 0 评论