技术开发 频道

结对编程是软件公司都该采用的开发方式

        【IT168 评论】如果说这世界上有一家公司懂“软件开发”,那非Pivotal Labs莫属。Pivotal公司的Edward Hieatt和他的同事都是从事敏捷开发培训,指导结对编程工作,在跟客户合作中,他们发现有大量的创业公司在成长壮大的过程中,都会经历不同程度的企业开发文化上的变质侵蚀。跟Pivotal公司合作过的超过100家公司中,大部分都会重新找到他们,说他们需要更多软件开发上的支持,帮助他们更快的开发出产品、更好的管理公司的成长,但Edward Hieatt的发现却是,他们的真正问题隐藏在更严重的软件开发文化问题中。尤其是那些由风险投资支持的创业公司的早期阶段,发展的压力影响企业文化的存在,进而严重影响正常的软件开发活动。

  至于解决方案,正如Edward Hieatt在First Round Capital CTO峰会上说的,非常清楚:培养一个完全拥抱结对编程的企业文化。

  通常,当程序员在谈到结对编程的好处时,他们典型的观点结对编程能使他们写代码更快或更好,而Edward Hieatt却认为,这只是这种重要开发方法的关键作用之一。事实上,结对编程活动牵涉到一系列人的各个方面的因素,它改变了人们传统的团队形式和团队合作的理解。例如,跟结对编程不同,当今的文化中,当一个团队还在初级阶段,程序员通常会各自为政,自己安排时间,自己解决任务,不能形成一个团队。还有,一些技术首领担心结对编程会影响团队的开发速度,影响开发人员的工作产出,至少会影响那些喜欢独自坐在一边整天独自编程的习惯。

  什么才是有活力的企业软件开发文化

  问创业者或程序员,什么才是有活力的企业软件开发文化时,大部分他们的回答都指向开发环境、招聘过程、技术选择,编程审查规范,团队首领等。然而,在Edward Hieatt的眼里,这些都不是软件开发文化所关心的。

  相反,软件开发文化真正关注的是发生在开发团队各个方面上的一系列的行为和交互,它影响到决策的如何产生,谁会参与决策,以及决策对业务经营承担哪些责任。

  这是企业文化的终极定义。

  团队合作在我们这个行业中没有定义

  如果想让一个公司培养出一个可持续的软件开发文化,我们必须首先定义什么是“团队合作”。在Edward Hieatt的眼里,尽管关于团队合作的陈词滥调到处都是,然而,在软件行业里,关于“团队合作”的概念要比其它行业落后几十年。现实情况是,在软件企业里,英雄崇拜思想仍然盛行,个人英雄行为仍然被鼓励——你可以看到那些通宵加班的人,还有团队中各人的贡献不平衡。更严重的,这些科技企业通常不善团队管理,随意的强行拼凑团队,导致他们在一起不能很好的进行开发。要想结对编程,首先要想清楚什么是团队合作。

  为什么要结对编程

  谈论软件开发,实际上是谈论人,它实际是人的一种社交活动。因此,结对编程应该是团队合作的核心思想,以此为基础建立软件开发文化,当团队开始迅速壮大后,这种文化能给公司带来无尽的益处。例如,在Pivotal公司,程序员所有时间都在结对编程,结对编程能带来:

0
相关文章