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