谢谢Daniel让我认识文老师,谢谢文老师拉我入“坑”,加入了软件需求学习小组,真心欣喜可以作为第一批读者阅读到这么棒的书-软件需求(第三版)。不得不说,这是我近期读过的最厚的书了,480页。人间三月天,没有四月的悠闲,不是在出差,就是在忙项目,到今天,我居然完成了三分之二的进度,自己都有点小惊喜。
好几年前,当我转型成为一名业务分析师时,我苦恼于自己并不十分懂得这个职位究竟要做什么,要怎么做,要怎么做好。所以我在网络上搜寻所有可以买得到的相关书籍,以求获得一些指导,其中也包括《软件需求》(第2版)。在那个时候,这本著作系统的知识点给了我很多启发,我尽量从似懂非懂到有样学样,在实践中去思考如何改进,然后再次去实践。不仅仅是最初阅读的时光,后续这几年的工作过程中,当我遇到一些需求相关的问题的时候,我也会重新打开这本书,翻阅相关的章节,以求回到最初的状态,去理解本源,并再次出发去解决当下的问题。这次拿到新鲜出炉的第三版,我的感受是,第三版很好地保留了之前的精髓,并在其基础上补充了很多关于敏捷开发流程的观点。这次也有非常强大的翻译团队,阅读的感觉更流畅,这是一本非常适合软件开发领域的从业人员阅读的书籍,尤其是对需求分析感兴趣的朋友。我的个人观点是业务分析师都应该拥有一本以备随时参考。
这次十多位朋友一起读这本书,大家在微信上展开了很多讨论,也激发了我的灵感,所以想提笔写一写打动我的一些章节。我不知道自己能否写一个系列,但我今天打算从业务分析师的培养说起,呼应本书第四章的内容。
书中提到业务分析师的培养可以是前用户,前开发人员和测试人员,前(或兼职)项目经理,主题专家或者菜鸟(新人)。不管哪一种角色,转型成为业务分析师,都会有各自的优势或者劣质,如果能发挥优势,改进薄弱环节,那么在成为一名成功的业务分析师的道路上就有了好的开始。现在我也有带领一个业务分析师团队,我们的团队成员有前开发人员,前测试人员,也有新人。我本人也是半路出家,是一名软件开发程序员转型过来的。我的理解是,软件开发过程中的每个角色都要或多或少具备软件需求分析的功能,而其中的业务分析师当然是最应该具备这个技能的工作。那么除了文中提到的不同的人员转型到这个工作的优势劣势以外,我就随便谈几点的想法吧:
为用户画像的潜意识
需求分析的工作离不开和用户沟通,我们常常会说需求获取,但和用户沟通并不是一个简单的单方向从用户获取需求的过程。不同的业务分析师去和同一个用户聊,也许会得到完全不一样的需求。我还在做程序员的时候,因为当时的团队没有BA这个角色,所以老板派我去用户现场了解他们的工作内容。那会完全是菜鸟出场,也没有需求获取的技巧和技术可言。当我去到现场,接待我的是一位热情的前辈,因为对方很配合,所以进展还不错,然后有一天我决定在工作之余约她出去一起吃饭。吃饭的时候,大家都很放松,她跟我聊了很多,她从哪里来,为何选择了我们公司,她对工作的看法和期许,她每天花很多时间在上班路上的困扰,甚至还有她的宠物。饭局后,我还在现场呆了一段时间,我明显感觉到我的工作进展的更加顺利了,说不出是什么原因,但很显然彼此的信任增加了。后来,当我们开始去设计这个系统的时候,我会常常想到她,想象如果是她在用这个系统,她的反应会是怎样,她会觉得好用吗,她会困扰吗?当年的我并不明白,这个和用户沟通的过程就是一个实实在在为用户画像的过程,除了明白她的工作,我们更应该去了解用户真实的面目,不是要刨根问底,但你要理解她自身的一些和系统有关的状况。比如她的教育背景,她对电脑的熟悉程度,她对工作的成就感在哪里,如果系统能帮到她,她的幸福感在哪里。如果你在和用户沟通的过程中, 会为了这样的发现而喜悦,那么我想你会适合往业务分析师这个方向发展的。
解决需求问题的成就感
我的第一份工作是软件工程师,当年有幸进入了一家提供电信行业解决方案的知名公司。加入公司一个月后,因为前辈们纷纷被挖角,我们几个菜鸟被迫上了第一线。当时摆在我们眼前的项目,就是某通信公司引入了全新制式的交换机,话单的采集和分拣程序需求需要重新梳理并参与测试评比。当时的新交换机厂商是北电网络,他们在国内的工程师只负责设备调试,对于系统的软件问题只能帮忙联系加拿大的工程师进行中间协调。我们能拿到的所有的文档都是英文的,内部更是充斥着大量的通信术语,语言的障碍以及对这个领域的不熟悉,是否能如期完成需求梳理,当时的我们觉得任务艰巨。为了尽快搞定这个需求工作,我一页页翻看这份文档,不懂的字句求助Google,不能理解的设计用邮件求助外国工程师,最后总算理出了话单生成的机制,采集的要求,以及话单的构成,并整理出详细的数据字典。后续的故事就是,我们一帮菜鸟基于自己的需求理解,开发完成了话单采集及分拣程序,我们的程序在各大厂商对新交换机处理能力的测评中,获得了处理速度快、准确度高的评价,荣登三甲。所以说,需求分析的工作,程序员也可以做好的。如果你是一位对于需求分析工作特别有兴趣的程序员,如果你也确实觉得这样的工作能给你带来成就感,那么不如适当的往这个方向历练一下吧。你可以选择转型,也可以只是将其作为自己成为项目经理必备的技能。我的理解是,不会分析需求的程序员不是好的项目经理。
所谓菜鸟
有谁不是从菜鸟开始的呢?对于刚刚走出校门的人来说,成为一名业务分析师是进入信息技术领域的一个很好的切入点,优点在于他或者她对需求流程的工作原理几乎没有什么先入为主的概念。毕业生要学习的东西很多,工作职责,开发流程,理解开发人员、测试人员,了解用户,掌握基本的业务知识,懂得如何有效的获取需求。我们无法奢求一个刚走出校门的孩子,既懂得需求分析的知识,又掌握了实际的技巧。菜鸟要做的是,保持对这份工作的热忱,快速学习,快速成长。成为一名业务分析师所基本的知识,本书能给你最好的解答。至于技能吗,要在实践中掌握,希望本学习小组的各位能多点分享这部分啦。但最最重要的,是菜鸟的心,可以是决心,信心,恒心,世上无难事只怕有心人。