敏捷史话(十六):我对《敏捷宣言》没有半点贡献—— Brian Marick
“ 虽然我是敏捷宣言的作者之一,但我实际上的贡献只是提供了‘宣言’这个词而已。”Brian Marick 在一次演讲上说道。他说完,现场一片哄笑。因为大家都明白,这只是他的自谦。
说起 Brian Marick,大家都知道他是《敏捷宣言》的作者之一。但很少人知道,他还是一个多面手,我们就从他的职业生涯方面说起吧。
Brian Marick 是个自律的人,曾就读于伊利诺伊大学。众所周知,伊利诺伊是美国最具影响力的公立大学之一,在全世界享有盛名。大学期间,Brian Marick 凭借自己的努力获得了英语文学和计算机科学的双学位。在教育及自身性格的影响下, Brian 对自己的职业生涯做出了清晰的规划。
程序员
1981年,Brian Marick 开始了大学毕业之后的第一份工作,他选择加入 Compion Corporation。
一开始他只是做测试工作,后来没多久就转成开发的工作。从测试转岗到研发,并非易事,首先对 代码能力要求比较高,除此之外,对个人的学习能力也有所要求。显然,这对 Brian 来说并非难事,大学的专业学习和行业中累积的经验为他奠定了很好的基础。转岗后,Brian 直接参与到了 UNIX 的网络协议模块的研发项目,在该项目中,他出色地完成了各项任务。
除此之外,他当时所在的公司还为美国政府提供服务,主要做一些安全相关的计算。这项工作的基础上,他们成功地开发了一种设计验证系统。而 Brian 在这个系统中主要负责编写语言解析器,同时承担了很多其他工作,比如规范检查器,整理规范大量的用户文档等。
对 Brian 而言, 做一件事情就要做到最好。在工作中,他还发现了部门中存在的一系列问题,并针对这些问题专门开发了培训课程。这也为他之后成为培训师埋下了种子。
项目经理
1984年,Brian 换了一份工作,他来到了古尔德计算机系统部。起初,他从事的岗位还是研发,在古尔德计算机系统部,他承担起了部分重要的研发任务。
工作一段时间后,Brian 凭借自己出色的工作能力被提拔为项目经理,也解锁了他的职业生涯地图中的一个新角色。
之前转岗的经验,不仅丰富了 Brian 的知识面,还扩展了他看待事情的角度。在担任项目经理的过程中,他完成了很多项目,其中有一个比较难的项目让他至今难忘。在这个项目中,他勇敢地提出自己的想法:要求在开发过程中进行声音测试。这个建议一提,就有人提出了质疑。但他坚信自己的直觉和判断,在他的坚持下,大家采纳了他的想法。最后的结果表明,正因为有了这个声音测试,才让这个项目最终取得成功。
该项目的成功让很多人对他刮目相看,Brian 顺理成章地成为了 Urbana 开发中心的核心成员。后来,公司让 Brian 去给新员工做培训,帮助这些新员工更好地完成开发软件中的任务。从参与这些培训的员工表现来看,Brian 的培训是成功的,因为这些人在接受培训后,都很好地完成了工作,甚至有大多数人由于表现出色而得到了晋升机会。
测试人员
测试,对 Brian 有着特殊的意义。兴许是第一份工作给了他很大的鼓舞,当他再一次寻找工作的时候,Brian 果断选择了这个岗位。1988年,Brian 从上一家公司辞职,成为摩托罗拉 MCD 公司的一名测试人员。
再一次的跨岗,对他来说也没有那么难了。在新的公司中,他主要的工作是构建压力测试的工具,做一些系统压力的测试。Brian 的工作重点主要放在了后面,早在第一份工作做了一小段时间的测试之后,他便一直在思考测试和开发这两者的相互作用。这样的思考让他在实际工作中不断地精进自己的能力,改进自己的工作。事实证明,他在整个项目中参与的那部分工作往往是整个测试程序中非常成功的一部分。
后来摩托罗拉停止了该项目,他参与到了另外一个和伊利诺伊大学联合发起研究的项目当中。在这个新项目中,他主要研究可扩展的、具有成本效益的测试技术,包括支持工具的开发和实验评估。这一段工作经历帮助他积累了更多软件测试的经验和技术,最终也构成了《软件测试的工艺》这本书籍的基础。
测试顾问
Brian 喜欢测试、编程,他也乐于将自己的经验想法与人分享,当看到其他人将他的经验应用到自己生活中并能够实现一定价值的时候,Brian 就觉得他也实现了自己的价值。于是,在1992年,Brian 对自己的职业做了新的规划,那就是成为一名测试顾问,帮助测试人员和程序员了解必备的知识,帮助管理人员了解员工的需求,并就流程改进和测试策略提供咨询。
除了培训咨询,Brian 还成立了 Testing Foundations,开始大范围分享他的观点和作品。之后,他还为研究生和高级本科生开设了有关软件测试或软件开发实用程序的课程,这项工作一直持续到了1998年。
敏捷顾问
2001年春,Brian 收到了 Martin Fowler 的邀请,参加了雪鸟会议。作为雪鸟会议中唯一的测试人员,Brian 与其他人站在一起显得格格不入。他也曾担心过,外界是否会因为他的身份而质疑此次会议的权威性。这也是他自嘲什么贡献都没有的原因。
雪鸟会议后,Brian 被更多人认识。在那之后,他依然专注于研究敏捷方法和敏捷测试,也发表了一些相关文章和作品。
接下来,他又陆续参加了 XP 和敏捷开发会议。2003年,Brian 发表了一系列有关敏捷测试的极具影响力的文章,其中知名的“敏捷测试的象限(Agile Testing Quadrant)”就是在同年8月份发表的。
2004年,他提出了一系列对敏捷联盟的改进建议,同时被选为新一任敏捷联盟董事会主席,紧接着他又提出了关于重新规划联盟发展方向的一些草案。 他希望可以为人们参与敏捷项目提供支持,并促使更多的敏捷项目诞生。这也是敏捷联盟的初心。
回归程序员
如果说每个人心中都有一件自己自始至终要坚持做的事情,那 Brian 的坚持便是代码,他就是一个简单的程序员。
2001年,也就是 Brian 开始做敏捷顾问的这段时间,他接触到了 Ruby,并开始学习这一语言。在那之后,他就一直用 Ruby 进行编程。基于自己的使用情况和经验总结,他还专门撰写了一本 为非测试人员提供教程的书:《使用 Ruby 进行日常脚本编写》,这本书籍一经推出,便受到了诸多好评。
程序员,对 Brian 来说有很多含义。程序员不仅 是他个人生涯的起始点,还是在他历经各类角色后回归的终点。就如他 Twitter 简介上的介绍:程序员→测试人员→测试顾问→敏捷顾问→程序员,这便是他的个人职业路线。
Brian 在自己的职业生涯中,先后尝试了多种不同角色,这些角色在很大程度上充实了他的人生。虽然每一阶段他的身份都有变化,但每个不同角色所处的不同时期,他都可以凭借自己的能力和经验赢得身边同事的认可。除了程序员、测试人员、测试顾问、敏捷顾问,Brian 还有一个角色——作者。Brian 前后共发表了超百篇极具影响力的文章、数十篇科学研究论文和多本专业书籍。
“ 如果你不能按照自己想的那样去活,总有一天,你会按照自己活的那样去想。”每个人的生涯规划都是要通过学习、思考和选择,逐渐形成一个目标,然后付诸行动。但并非所有人都可以像 Brian 一样,对待每个角色都全身心的投入,将工作做到极致。Brian 就是这样一个多面手,而他,现在仍在默默地通过他的代码和文字影响这个世界……