挂着产品经理的头衔负责app改版到目前有一个月的样子了,实际上从3月5号到3月25号,本人全面负责,26、27号因为主管要介入,不断与之据理力争,期间打断了不少时间,不但产品的,还有工程师的,还有UI的,4月3号还是坚持自己意见,终于要到老大来裁夺,最终让主管全面负责,至此,我的工作沦为对产品的建议,按照主管的意见修改UI布局,换言之,工作已被边缘化,这大概是个危险的信号,不过有趣的是,还是让我学到了不少东西,有些事,必须要经历的,大抵如此。
项目预估时间
3月1号主管召集相关人员开会,总共5人,主管(目前还没搞清楚具体角色是什么,姑且叫他A吧),一个技术主管(负责web和一些后台管理系统),一个iOS工程师(三年工作经验),一个Android工程师(尚未毕业,今年暑假毕业),还有我。A提出他的看法,期限是一个月,包括iOS和Android的,然后就问iOS和Android工程师有没有问题,iOS说没问题,Android因为是新丁,肯定回答之余能听得出不是那么确定。我提醒说一个月的时间恐怕有点激进,主要是担心Android这边,因为我本人有过四年的开发经验,知道好多功能不是做出来就了事的,QA测试发现bug要修改,更何况app还要考虑用户体验之类,很多琐碎的细节必然要消耗时间,这些细节隐藏在功能之外但又不得不去做;另一个担心是当时没有美工设计人员,如果找外包,先不说水平如何,单单沟通就是很大的成本。总而言之,我提出了自己的看法,但A还是坚持一个月,理由是做的只是改版,没有添加新功能。
产品原型
2月28号、3月1号~3月3号用了四天将新版app线框图设计完毕,3月4号产品评审通过,提了一些修改意见,当天连夜修改并初步定稿
协同工作软件
工作几天发现公司虽然有日报、周会的情况,但觉得有些不足,一是iOS和Android每天的工作日志是邮件发给主管,没有发给我,可能是职位的问题,但我没法知道工程师每天做了什么;二是没有一个可以管理的工具来跟进开发的进度,随着开发的进展,必然会遇到各种bug,各种交互的情况,到时该怎么样向工程师们沟通是个问题;三是产品原型肯定要不断修改,总不能每次修改了就跟工程师到会议室讲,我希望有个工具能够存放一些原型并记录修改点,自动通知工程师,让他们在开发的时候看最新设计稿,并能专注在变化点上,于是我向主管提议用某个轻量型的协同工作软件来管理app的项目进展,得到了支持,说可以试行一个月
开发阶段
iOS
iOS工程师(叫他B吧)因为有三年开发经验,而且iOS版就是他一直跟过来的,所以进展顺利,大概用了一个星期,就将旧版的功能按照新版设计迁移过来,但只是功能能用而已,里面的信息布局、组织,文字大小,颜色,icon,pic,交互统统都还没有处理,我口头跟他说需要修改哪些地方,在协同软件上一一列出了要修改的地方,并指派给他,他就是不太愿意动,理由是要美工设计好了icon、pic之类的才能做,其实我知道有些地方无关美工,这时候你就会发现工程师的思维跟产品狗的思维有不一致的地方了,工程师会觉得功能都已经实现了,干吗还要改那些细节的问题?比如左对齐右对齐,比如icon放置在左边信息放置在右边,还是反过来?为啥输入框要做那么多交互反馈?不是一样能输入信息吗?为啥要自定义键盘?节省输入法切换有必要吗?等等诸如此类。这时候产品狗真的需要给出理由,在工程师不认可修改的情况下,况且我们只是刚刚成立的小团队,还没建立默契,而我也不太愿意用强硬的态度(或者说不够自信)去push工程师必须怎么样,所以尽管iOS开头进展顺利,但中间两三天的时间由于B觉得没有美工无法后续工作和我不够强势推进,导致iOS这边进展慢了下来Android
Android工程师(叫他C吧)是个新手,当iOS已经把旧版功能迁移到新版时,这边连影都没看到,开发了将近10个工作日,终于可以拿出测试版看看,结果一试玩,莫名其妙闪退,启动闪退,切换主菜单栏闪退,基本的功能也没实现。我跟C说先解决闪退问题,这是致命的,并列了优先级,但C不知道是对闪退问题没信心解决还是不愿意做,自己埋头做其他简单的功能模块,期间我催了几次,都没有效果,C的理由是闪退是个难点,解决不了的话就一直卡在这里,不如先把其他功能做了,然后回来修补之前做的不足。从C身上看到了当初自己是个菜鸟工程师的影子,那就是N多功能模块,每个模块完成的效果只有60%的样子,剩下的有些有难度的就一直留着,然后就去做其他的功能模块,也是同样的套路,等到简单的能做的都做完了,再回到刚开始的位置慢慢研究之前没完成的难点,其实这样一来花费了更多的时间和精力,而且把问题一直隐藏着,等最后暴露的时候期限将近,反而不利于项目掌控,这些问题都跟C沟通过,只是效果不太如意
意料之外的工作
时间每天过去,临近3月底只有10来天的样子,这时候主管说上头有另外更重要的需求,要iOS和Android抽出时间做另外独立的app,功能简单但优先级高,B和C自己评估后说一天能搞定,再加一天测试,时间被抽走两天
美工来啦
3月18号,终于招到美工(叫她D吧),之前一些时间,我一直跟一个其他城市的UI外包团队沟通,谈好价格和合作方式,先让他们制作几张效果图,结果不太理想,看得出是匆匆忙忙随便拼凑出来的,而且让他们修改,也是花费不少精力,所以还是需要招自己的美工。第一天跟美工讲了产品的定位、用户人群、功能、想要的设计风格等等,第二天让美工先熟悉了解一下主要竞品的设计,第三天开始,美工就干活了。对了,新招的美工也是个刚毕业的
主管介入,两次冲突
第一次冲突
项目在紧张进行着,经过一小段时间磨合,我也慢慢了解成员的秉性,B有能力,但没有热情;C态度认真,但能力明显不足;D作为新人,能力可以,工作态度介乎B和C之间,能完成任务,但不加班。成员们也开始认可我的做事,慢慢感觉团队有良好的凝聚力,能向着一个目标前进(期间我跟他们几个开了两三次小会,大意是表达项目进度、工作态度、责任成败的问题)。25号,iOS版本定了首页风格,页面布局,字体大小,icon,交互,然后交给主管A查看,A看了半个小时的样子,然后找美工说要修改哪里哪里,包括状态栏颜色、内容区底色,信息组织方式,美工按他的意思修改完,A说就这么定了。我一看,就不同意他的做法了,他的方案中有些是我考虑过的,而且让美工和工程师修改后看实际效果的,有些是直接违反设计原则的,比如信息亲密性,对比性等,当天下班前的会议,我还是坚持自己的设计,后来A说让美工D考虑一晚后决定用哪种风格,第二天早上我问了D,她说还是觉得我的风格好些;然而A说觉得让D做决定不太好,还是让公司员工投票,过程的折腾就不说了,投票结果选的我的风格第二次冲突
A在看输入框设计的时候要求输入框标题右对齐,输入框内容区是左对齐。理由是用户焦点集中在右边输入框;我的设计是输入框标题左对齐,输入框内容区也是左对齐,因为我隐约记得以前看过的某本设计书籍中提到这个问题,而且也参考了竞品和其他一些app的设计,还是觉得我的设计好些,因为A的方案标题右对齐的话由于每个输入框标题长度不一,左边会有锯齿状效果,而且从整个页面排列看,显得不整齐;A让我拿例子,我在自己手机上随便打开几个app的表单设计,A终于没说什么,但问题是,A已经让美工修改了,好在程序员B还没动手
与主管沟通
3月31号因为私事请了一天假回老家,4月1号回到公司,B和D跟我说我不在的那天A又让他们修改了不少东西,然后A找我沟通,A的大意有三点,
- app项目进展太慢,不满意;
- 做出的测试版本很差,交互、界面、布局让他不满意;
- 接下来他要全面掌管,项目他会跟进,交互、界面什么的有不同意见的情况下由他决定。
他要全面介入的理由是:他的介入能推进项目更快进展。我同意了项目进展由他跟进,但是设计交互那些还是由我来定,而且认为他介入这么细的层面不会推进项目进展,只会延迟,理由是
- 职责界限要清晰,产品狗对产品负责,A对项目进展不满意,接口对我,设里程碑,到时间点交付版本给他检验,没必要直接找美工找工程师直接修改
- 项目快到deadline时,主管介入修改产品设计稿,让原有美工、工程师和产品经理做好的功能、界面、交互重新修改,只会延迟项目进展(人月神话说到项目deadline增加工程师并不会提高项目进展,很多时候反而会拖延进度,原因是新来的工程师需要培训熟悉项目,需要沟通,增加沟通成本)
- 我委婉的表达了A不是产品出身的,在这点上我相对他专业些,而且整个产品是我系统构思、参考、权衡做的,需要风格统一。
A还是坚持他的决定,要全面接管,我承认了项目推进的不足,接下来由他推进项目进展,但我还是坚持A不宜介入产品设计。
最后A说他对自己自信,对app团队不自信,然后建议由高层决定这事情
高层决定
高层听完整个来龙去脉,采纳了A的意见,并讲了一些原因
学到了什么
- 体会到了不同的企业风格
由于以前工作的几个公司都是外企,感受到的是相对开明的管理方式,职责清晰,界限分明,团队气氛相对轻松,沟通比较平等,每个角色都可以发出自己的声音和提出自己的理由,一般主管或者项目经理会尊重个人的意见,不太有上级因为职位高而产生压下级的感觉;工作分配是清晰易量化的,不会有模糊不清的表述或者口头上的要求而让下级完成具体的工作,也不会突然给你一封没有上下文背景的邮件让你做事的情况;民企相对事情不确定而且杂,多少有官僚意识在里面,相对强势的自上向下的推动,强调更多的是服从和向领导思想靠拢,做事之外还要“做”人。
哪种好?其实无所谓好坏,不同风格而已,存在就有理由 - 团队管理
项目刚启动时,我想用敏捷开发的思维管理团队,慢慢就发现自己没法用好,三个具体做事的,B、C、D,两个是毕业生,他们可能还没有这种意识去实践,我也不够强势去推动(考虑到新团队需要磨合适应),比如agile强调对人的信任,相信人能主动去做好事情,放在B身上,B就不够认真了;再比如敏捷开发团队里,每个人都是独当一面的,有足够的能力,对C来说,显然也不行;让他们每天记录做了什么,哪些没做,遇到什么问题,也稀稀拉拉地没有严格执行。
自身也有问题,团队管理经验不足,发现问题没有及时纠正,跟主管的沟通过于直接等等
结论
成长需要时间,道路还长,但老板对于项目的渴求,只会给你20天的时间,你要做的,是在这20天让老板满意