SH语音项目管理心得

做项目管理,目的只有一个,那就是项目的交付,过程其实并不是太重要。

项目经理在做项目过程中,重点是要沟通,一帆风顺的项目基本上是没有的。

做项目,核心是要搞定用户,建立用户之间的信任;方式方法有:满足用户的需求,对于用户需求的及时响应,按照用户说的要求去办事情;当然有一些团队驻场开发,驻场住宿就选择用户所在的小区,和用户同吃同住等,最终得到用户的确认。

项目经理在选择做项目,要选择组织架构健全的单位,每一层级的对接要清楚明确,要有商务经理、技术经理、开发人员等;确保要有人员组织,遇到问题要有人大家一起想办法解决,一起来处理。

管理项目首先是要管理好自己,包括自己的做人,处理事情等。搞定客户的核心是建立客户的信任,赢得客户信任的前提除了要做好事情之外,再就是自己人品,为人处世。

做项目过程中要比客户理解深入一点点,在客户遇到问题的时候,其实你的结果是做或者不做,这个是你初步已经确定好了的。对于比较简单容易实现的需求,协调资源让开发去实现就好了。但是对于难以实现或者工作量及技术不可行的需求,你的目的是开发不做。但是直接拒绝用户的需求是不合理的,一般的处理方式有以下几类:

引导用户:用户的目的通常只有一个,就是能实现这个需求达到这个目的,但是实现功能可以有别的办法,用这个工具不行,用别的工具行不行;在这里不可以实现,在别的地方是否可以实现。举个实际例子,在人工智能语音产品中,客户想使用语音搜索功能检索知识库中的内容,并且使用语音功能播放出来。其实用户希望做到的是检索到内容并且把第一条内容自动播放出来,但是如果将该功能做到APP上,并且还是自动播放的,这样势必会产品很大的并发数量,对于语音合成产品服务性能造成了影响,在这种情况下需要做成用户点击选中自己想要播放的内容,并播放出来。引导的方式可以是如果检索到的内容不是用户想要的,或者需要用户去翻页查找,对于这种情况下去翻页查找没有意义;或者引导说第一二次用户用到这个功能的时候很新奇,但是时间久了,用户听得耳朵都起茧了,这个功能也是不可行的。

正面直接回绝用户:对于用户提出来不合理的需求,是需要回绝用户的。比如人工智能语音音频文件识别产品,用户想要将会议录制的音频文件转换成文字。在这个功能第一步实现之后,用户希望做成音频分段功能,实现通过语音特征提取,将不同的说话人及说的话的内容区分开,以分段的形式显示出来。当技术做到 这一步之后,用户又说会议音频转换成的文字不太准确,我还想要人工去编辑整理,当编辑的时候,我想听着会议录音原文来完成。让开发在页面上实现将不同的人说的话的音频分段显示,并且在文字的后方做成按钮,我在编辑到这一段内容的时候,点击播放我正在编辑的这一段内容,一边听取一边播放。对于这个功能,是没有办法做到的,那么就需要正面拒绝用户。

SH语音项目管理心得

从技术不可行的角度回绝用户:对于石化项目,石化公司指定统一使用IE11版本的浏览器,但是对于语音识别纯B/S架构浏览器端采音,IE浏览器受内核限制,确实做不了,这种情况就需要从技术角度回绝用户。需要去了解IE浏览器使用的是什么浏览器,google使用的是什么浏览器,IE浏览器受内核限制,确实不支持采音功能。

从技术实现的复杂度回绝用户:在知识检索项目中,用户希望集成语音,实现纯解放双手。实现语音唤醒打开软件,接着说我需要的内容,使用语音识别识别成文字,知识检索到结果,使用语音合成播放出来;假如我只想听检索到的第五条数据,我使用指令词“播报第五条”,即可播放指定内容,形成一个闭环。这看似一个简单的需求,如果实现了,用户真的会很好用,但是底层是需要技术及产品做支撑的,而且费用也很高。比如打开手机上服务,使用到了语音唤醒功能;说话在检索框中显示文字,使用到了语音识别功能;用户说的可能还是包含关键词的废话,这种情况下就需要用到实体识别及语义理解功能;完成检索过程使用到了检索及知识图谱功能;检索到内容播放出来使用到了语音合成功能;用户指定播放某一条内容,并且形成交互,使用到了对话机器人功能。而用不最开始的需求是实现知识管理适配移动端,能让用户在手机端查看检索想要的知识内容,假如最开始方案设计的预算只要50万元。做到这种程度,技术能实现,但是费用和工期不允许,这种情况下可以给用户讲里边的技术实现过程(不必要提费用的问题)。

会后评估:对于用户提出来难度比较大,同时又没有办法实现的需求,和用户确定的结论是会后评估。对于这种既没有理由拒绝,又不想实现的功能,那就是会后评估。会后拉着开发人员一起沟通,如果是做,那么谁来实现,需要多长时间。如果是不做,那么不做的理由是什么,必要情况下再去补补课,完成该需求技术方面的评估。然后再和用户沟通确认。

当场接受:对于用户提到的简单需求,实现起来不复杂,同时能给用户带来价值的需求,可以当场接受。举个栗子,在做人工智能语音产品的时候,语音产品都是底层服务,模型,接口等这些东西。用户想要可视化测试语音产品,要求给他们做成一个可视化供测试演示的东西。于是出现了可视化测试版本,假如在该版本页面上添加了实时流式语音识别、音频文件识别、语音合成、声纹识别等功能,将这个版本命名“语音助手”。用户提出了一个需求,实现会议视频转文字,将这个需求定义为“会议语音识别”。当有一天将这个功能做出来了,用户觉得放到“语音助手”页面下比较合适,提到让在语音助手页面上加一个功能键“会议语音识别”,点击即可跳转到会议语音识别页面上。对于这个跳转功能是比较简单的,同时能给用户带来方便,可以当场答应。

以上对于用户提出来的需求,分了三类:当场接收⑥、当场拒绝①②③④、会后评估⑤

对于用户提出的需求,这里指接受的需求,一般的处理方式有以下三种情况:

简单好实现的需求:能短期内实现的,影响用户使用的需求,那么就短期内解决掉,同时和用户进行一版沟通;

复杂需求:往后排,等着由空了再去实现。

高复杂需求:建议往后排,如果有二期的话放到二期中。

对于用户提出的需求,一般分为三类:

bug类需求:对于bug类需求,是一定要解决的,并且是需要快速解决的。比如点击页面没有办法切换,比如点击没有反应,比如点击后出现了400或者500这种报错信息。

优化类需求:比如字体太大了,行间距太小了,页面空格太宽了等

上边讲到了用户提出来的需求,那些该做,那么不该做,还谈到了用户需求拒绝的方式。下面来讲一下那些需求该做,那些需求不该做,评估需求界限在哪里,怎么判断这个需求该做,怎么判断这个需求不该做。

在做一个项目的时候,首先一个是项目需求分析,这个时候确定的需求是比较宽泛的,极其不细化的东西,属于模块下属的子系统及大的功能点范围。一般的项目会划分出一级功能模块、二级功能模块、三级功能模块及功能点说明。在将该需求确定之后会形成附件,作为商务合同的技术附件。

那么对于属于大的功能模块范围内的需求,用户提出来的,这个时候用户提出来是属于需求细化,用户提出来是在用户需求范围内的,从用户的角度来看是没有超出界限范围的。比如在人工智能语音识别系统中,最开始和用户确定的一级需求有语音识别、声纹识别、语音合成、语音唤醒4个一级功能。

①用户想要实现的场景包括在知识管理检索场景中实现语音代替键盘录入功能、实现会议场景中会议识别、实现技术服务管理场景中将远程故障诊断录制的视频中语音转换成文字、实现电子实验场景中完成语音录入电子实验记录及语音填写电子实验表单填写,共计4个业务场景。在四个场景都实现之后,用户提到在知识管理场景中实现移动端场景中也集成语音,这时候作为语音产品而言,需要提供接口及SDK,同时需要配合业务人员完成该功能的实现,必要情况下如果合同附件中没有界定,还需要实现移动端的适配。同时用户提到在该场景中使用语音录入,同时将检索到的内容使用语音播报播放出来。对于用户提到的这个需求是合理需求。

②还比如最开始用户提到会议场景中语音识别,那么用户刚开始要求实现会议室中一边开会一边识别结果的场景,做成这样的一个无纸化会议室办公系统。待这个系统开发完成之后,用户提到说要实现另一个会议室中录制的视频的识别,将这个视频文件转成文字,这个需求属于合同范围内的合理需求。处理的办法同上。

③以上两个例子均是合同范围内,前期弱化后期又提起来的需求,并且这两种需求都是可以实现的。第三种需求是合同范围内,但是不可以实现的。在实现了用户提出来的会议视频转文字之后,用户提到既然我们采购了语音识别产品、声纹识别产品,那么实现通过声纹识别将这个音频,在识别成文字的同时区分出不同说话人的姓名及在会议中所说的内容。将声纹识别及语音识别功能集成在一起,达到我在会后将会议视频转成文字之后能很快根据声纹区分出来的姓名定位到该人说话的内容处。并实现在该段文字内容后提供该切割后的该段音频,使用户在编辑修改该音频的同时,点击文字后边该段文字对应的音频播放,一边听音频一边修改该文字内容。同时对于该音频播放,还需要添加一个倍速播放功能,用户在编辑该段文字听音频的同时,能达到倍速播放,对于不需要重点听取的内容快速过一遍,只有对于重点内容才放慢速度播放,便于记录并修正音频转换成的文字。对于这种倍速播放过程是滚动条可选择的。这种需求是用户提出来合同范围内的合理需求,但是并非技术不可实现,只是实在太复杂。无论是和技术评估还是不和技术评估,都是需要拒掉的。这类需求的拒绝办法我暂时没有想出来。

对于合同范围外的需求,直接拒绝掉就好了。例如在知识检索场景中,用户希望使用语音完成录入功能,底层使用检索完成检索功能,再使用语音合成默认将检索到的第一条内容播放出来。在该场景中,用户想要实现在语音录入的时候说了一堆包含关键词的废话,而让语音完成关键词的提取,使用提取出来的关键词再去检索结果。对于该关键词提取,属于语义分析及语义理解的范畴,并非语音产品的范畴。这种需求一定需要拒绝掉,这种情况下可以直接和用户说这是语义理解及语义分析应该做的事情,语音识别只是将音频转换成文字。至于转换成的文字,要拿去怎么使用,属于业务端应该做的事情。

以上分析了合同范围内及合同范围外的界限,严格来说即使属于合同范围外的需求,但是由于最开始合同没有界定清楚导致后期说不清楚。这种情况就需要在最开始沟通需求的时候将合同范围界定清楚,将范围说明白。比如上文提到的会议识别,最开始沟通的是要实现会议语音识别,但是没有说清楚是要做成会议室现场实时会议撰写还是会议录音文件撰写,或者会议录制视频的转写,笼统地说明之后会导致后期这三个方向会议识别都是合同范围内的,也就是都需要实现的。那么如果刚开始就确定好是实时会议撰写,或者会议录制视频文件的撰写,或者会议过程中录制的会议音频文件的撰写,单纯只是会议音频转文字还是还需要加上声纹的区分。应该一开始在合同技术附件中说清楚。

备注1:实时会议识别中还要界定清楚终端是在PC端电脑上还是在Android 移动端、iOS移动端;PC端具体是web网页的形式还是.exe可执行文件的形式;移动端是H5的形式还是移动APP的形式。

备注2:会议录制音频文件转文字,要明确录音笔还是手机录制,手机是华为手机还是苹果手机。录音笔具体用的是那个品牌的,比如联想录音笔录制的音频文件格式为MP3,爱国者录音笔录制的音频文件格式为wav;苹果手机录制的音频为m4a格式;华为手机录制的音频各位wav格式。市面上语音产品支持识别的音频格式为wav或者pcm,要求单声道、16k采样率,16比特率。如果是电话录音,格式为8k采样率。

备注3:会议视频转文字过程中,需要将视频中的音频剥离出来,然后再调用语音识别模型将音频转换成文字。剥离的过程使用像ffmpeg这种转码工具、格式工厂等,在该过程中如果有识别设备,需要对接识别设备或者音频矩阵,监听语音的接口,最终拿到音频文件。总之涉及到工作就涉及到开发及复杂的对接工作。

以上用户口头上或者在项目执行过程中用户提出来的需求,假如这些需求都实现了,该项目就一定能够交付吗?答案是否定的,且抛开目前国企单位说风凉话提需求的人很多,但是最终拍板的人太少。最核心的依据是项目合同。

合同范围内的事情:对于合同范围内的事情,是一定要完成的,合同是甲方执行的依据,同时也是乙方执行的依据,在合同管理中叫做合同履行管理,甲方会对着合同中的范围项去考核,即使目前不考核,后续也会做出核对考核;即使该项功能他们没有真正用起来解决他们问题,但是为了应付交付也要做个东西出来。换句话说即使在执行过程中用户对于某一个模块深挖,提了很多需求让技术实现。对于合同范围内其他用户没有提及的需求也是需要实现的。

举个例子:DLDK机器人项目,最开始的项目方案中设计的包含:调规编辑、对话机器人、语义理解平台、搜索引擎、实体识别平台、文本抽流程工具、语音识别、语音合成、意图管理。但是客户方团队在集成过程中,发现真正使用的,能体现亮点的地方只有调规编辑、对话机器人、文本抽流程及语音部分,对于意图管理、语义理解、搜索引擎,使用起来还得花精力和时间,因此就不做集成使用了,客户也不对这一部分做要求了。但是这几部分内容依然需要完成的,因为这几个部分属于项目技术附件中明确要求的一级功能模块。项目管理实际上就是按照要求完成约定的内容,这些内容即使客户没有使用起来,但是是约定范围内的,所以需要交付。

再举个例子:在SH项目上,约定的一级一级模块有语音识别、声纹识别、语音唤醒、指令识别。在项目执行及上线阶段,用户一直关心语音识别及语音合成的使用,设想的很多很多的业务场景,让技术实现,技术花了很多的时间都实现了,但是忽略了语音唤醒及指令识别,从项目交付的角度,这个项目是没有完成的。但是假如语音识别只实现了最简单的会议音频转文字,而且只支持最简单的wav格式5分钟之内音频识别(假如技术附件中对于格式及时长没有要求),没有做会议系统,也没有做会议视频转文字系统。但是语音唤醒及语音指令识别也都完成了,那么这个项目是可以交付的。直白一点说,围绕着一个功能项展开做了很多合同没有约定的场景,对于用户来说是给他们带来了便捷之处,用户确实需要,但是对于项目交付而言只是锦上添花,核心没有完成依然不能交付。

合同范围外的事情:对于合同范围外的事情,如果后期项目上真的需要,那么就需要添加增补合同,重新再走商务,对于增补部分做需求分析,评估工作量和成本,确定项目边界。

举个例子:在SH语音项目上,最开始约定的四个一级模块分别是语音识别、声纹识别、语音唤醒、指令识别。但是在项目执行过程中,用户按照最开始设想的要解放双手,于是提出了在知识管理移动端要完成语音识别、语音合成,实现说话完成语音识别,知识管理系统拿到文字检索到结果,语音播放给用户,形成闭环。在这个过程中语音合成是必须的功能,要想实现,就需要评估人工时及工作量,重新确定语音合成使用的要求(包括并发量,部署的服务器,使用的终端,对于特殊同音白字的要求、响应时间的要求,由于需要集成开发,还涉及到开发语言及接口的要求),评估完成的时间,评估成本和利润及人工时,补充报价,签订补充协议合同。

笔者认为项目执行很关键,但是前期合同技术附件的确定也很关键。