最佳的架构、需求和设计出自于自组织的团队。蜂巢中的工蜂们看似忙碌,但其工作却是有序而有效,归根结底就是它们的组织架构其实是自我组织的。在自我组织的团队中,团队是一个整体..
你应该听过或读过不少关于测试驱动开发的讨论,测试驱动开发往往被比喻为神奇的独角兽,它能帮你照看你的软件,让大家乐得其所。于是,在写了18.000行“神奇独角兽”代码后,我想把我们..
项目又延期了,老板恨恨的批评了整个项目组,投入了那么多,产出在哪里?查原因,发现是由于项目的需求不断变更导致,这恐怕是很多项目经理、程序员都经历过的事。 我这里就谈谈..
缺陷驱动的流程优化和技术引进 软件领域一个非常大的特点是流程和技术变化相当的快。作为一个软件企业,面对日新月异的开发流程和开发技术,何时、如何选择及引进新的流程和技术变得..
这些话来自于我们的软件领袖Jim Coplien——上世纪九十年代最流行的几本C++著作的作者。原话是这样的: 严格的按照YAGNI原则的驱动测试开发(TDD)会导致敏捷开发3次迭代结构的坍塌。..
传说中的结对编程,大致结构是两个人共用一台电脑,一个开发,一个测试,以随时评审来抵消返工时间损失。 传说归传说,谁也没有见过。问题出在哪里?有两种主要原因。 一..
前些日子看见一个典型案例,一同行说,自己的新浪微博应用,从提出创意到发布只用了6天,6天!这款应用叫“APP汇”,思路上挺带感的APP 社交推荐服务。从正面的意义讲,尽早拿出一个可用..
几个月前,我去一个客户那里,他们在使用测试驱动开发上遇到了很多问题。 “我们的单元测试用例要半个小时才能跑完,”他说。..
最近CoolShell上的一篇《TDD并不是看上去的那么美》引起了敏捷社区的高度关注和激励辩论。今天,InfoQ甚至专门举行了一个虚拟座谈会《TDD有多美?》,几位国内敏捷社区的名人专门就此问题展开..
多数大型开发组织都有一套自己的编码和实践规范。但是对这些团队而言,光是将这些规范文档化,并保证实时更新,就是一个巨大的挑战。此外,在工作中长期、忠实地执行这些规范和标准..
敏捷开发:如何通过回顾保持学习状态 软件开发不是孤独的追击,它需要同其他开发者和其他部门协作。大多数组织建立的软件生命周期没有涉及到如何进行这些交互。现实是许多团队的过程..
编写需求文档,在嵌入式开发领域是非常普遍的。需求文档被用来定义开发任务,协调大规模的研发计划。对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。..
在《建设全功能团队》和《建设全功能团队——实践篇》两篇文章中,我的同事胡凯曾介绍过建设全功能团队的必要性和良好实践,此后在围绕这一话题的讨论中,很多人都分享了自己的理解,..
在今天的快节奏的商业世界里,能够通过计划、组织、和管理资源池以及评估开发资源的模式来管理一个项目,是一个很艰巨的任务。 有很多现成的项目管理软件来帮助减轻项目管理的..
测试驱动开发(TDD)跟敏捷开发有冲突. 这些话来自于我们的软件领袖Jim Coplien—上世纪九十年代最流行的几本C++著作的作者。原话是这样的: 严格的按照YAGNI原则的驱动测试开发(TDD)会导..
你应该听过或读过不少关于测试驱动开发的讨论,测试驱动开发往往被比喻为神奇的独角兽,它能帮你照看你的软件,让大家乐得其所。于是,在写了18.000行“神奇独角兽”代码后,我想把我们..
这不是测试驱动开发.几个月前,我去一个客户那里,他们在使用测试驱动开发上遇到了很多问题。 “我们的单元测试用例要半个小时才能跑完,”他说。..
TDD中Transformation动作的优先顺序 Transformation Priority Premise.在TDD循环中,重构(Refactoring)是不改变行为而改变内部结构的动作,保持测试常绿。而变形(Transformation)是改变内部实现来使测试由红变绿..
Mike Cohn建议在Sprint复审中展现未完成工作 Scrum联盟的创始人之一Mike Cohn,就Sprint复审的内容向敏捷社区发出了不同的声音。他认为,展现待办事项列表中未完成的事项,有时候是值得的。 ..
2010年,在Agile@IBM敏捷社区的讨论热点因为集中在“软件全生命周期敏捷”、“分布式敏捷面临的挑战”这两个话题而使得我对敏捷的价值和敏捷宣言又有了新的理解,也促使我从一开始对“核..