2010年3月空降到前公司,全面接手产品,研发和网站运营,开始了对团队的改造。之后历经一年,花了很大的精力,付出了很多,也总结了很多经验和教训。
2010年3月 - 2010年8月
这段时间主要是熟悉公司的状况,了解部门业务和员工。当时部门士气很低落,总共17个员工,在我接手部门前已经有两个员工提出了辞职,后来陆续有员工离开,到8月底部门剩下了10个人。考虑到自己也是新人,需要时间了解和适应公司,另外刚刚空降,应安抚老员工保证部门正常运转,因此这段时间做了几项有针对性的改良措施:
两个部门人员很少,部门之间协作却存在互相推诿;我和基层员工隔了部门主管,团队经理两个层级,不利于深入业务层面进行调整。因此进行了组织架构调整:合并两个部门取消部门主管层级,改设5个团队,团队经理直接向我汇报,减少管理层级,提高执行效率。
逐步建立和完善部门规范的管理制度,如:使用JIRA进行整个部门的工作任务量化管理;建立定期周会,周报和月报制度;我亲自制定了部门绩效考评内容、评分标准和奖励等级;要求团队间工作配合必须邮件书面确认抄送给我等等。
针对公司过去跨部门配合出现的混乱状况,明确了本部门和公司其他部门合作流程,并要求跨部门合作必须抄送我和相应部门高管,得到我邮件确认才准执行。
针对公司过去产品无规划无设计的状况,设立产品团队,制定产品设计流程,我兼任产品经理主抓产品,并开始培养产品设计人员。
在我来之前,公司无产品设计和研发流程,无论部门内部还是跨部门产品研发,都是业务人员直接找负责该产品线的程序员下命令修改;大的产品研发,业务人员找UI设计人员做一套页面就发给程序员要求XX时间完成,相互之间缺乏沟通:一方面程序员反感和抵制没头没脑的需求和毫无计划性的产品变更,觉得自己被使唤来使唤去在公司没地位;另一方面UI设计人员被迫承担了本应该是产品经理的需求搜集和产品设计工作,盲人摸象的做完就交差;最后是业务人员抱怨UI设计人员和程序员根本不配合,觉得他们都是大爷哄着才能干活。结果团队之间部门之间推卸责任,事情做不好只怪对方不给力,自己全然没责任。
针对这种状况我设立了产品团队,亲自兼任产品经理把所有产品都抓过来统一管理。无论部门内部还是跨部门产品研发,统一走产品设计流程:所有产品先经我批准,然后在产品团队立项,走产品原型设计流程,接着才是UI设计和页面制作,最后才是程序员研发。从源头上狠抓产品原型设计,在原型设计阶段反复推敲和修改,慎重的对待每项产品功能,避免了后续UI反复推翻页面设计,程序员反复改产品的大问题。主要工作在梳理公司混乱的产品线,通过两次清理,关闭了100多个废弃或者很少被使用的子网站和域名,关闭了很多鸡肋性质的频道,以及核心产品的鸡肋功能。
这几个月虽然做了大量的部门建设工作,员工士气得到了很大的提高,但员工流失仍然在继续。而且我反复强调的工作理念得不到良好的贯彻执行,员工完成的任务质量离我心中的标准差距很大。
2010年9月 - 2011年1月
2010年8月底部门员工只有10个人:3个程序员,3个社区运营和客服,2个网站运维,1个产品设计,1个UI制作,巧妇难为无米之炊。所以9月和10月进行了一轮大规模招聘,总共招聘了10名新员工,重新build了整个部门团队,开始取得了一些成绩,但也遇到了非常大的困难。
在部门团队build方面:设立了PHP,.net和Ruby三个研发团队,分别负责不同的产品线;公司整个UI团队也划到我部门管理;网站的社区运营方面增设了内容审核团队,加上原有的产品设计和运维,总共有8个团队经理直接向我汇报。
在产品和研发方面:彻底重写了用户管理功能(以下称passport),数据库也迁移到了Linux下MySQL;编写整个网站的搜索部分代码,提供了全文检索;对网站全站导航进行了重新设计和改造。
由于各产品线都是独立的,因此需要统一的用户注册登录管理产品passport。在过去,passport代码极其臃肿,不同产品线的登录代码直接hard code在源码中;数据库使用SQL Server,大量有用无用的存储过程调用,用户表数据量庞大,而且非常多无用冗余字段,查询缓慢,用户时常无法登录;而且用户注册和登录页面的用户体验极其糟糕;最后公司很多产品以各自的方式调用passport,导致passport不得不维护多套协议适配各种产品。因此欲改进网站,必先动passport,而一动passport,则牵一发而动全身,所有产品都可能出问题。因此在动手重写passport之前,我耐心等待了好几个月,一方面一遍一遍做公司产品线梳理,尽可能找出所有耦合产品提前解决隐患;另一方面等待各部门高管一致表态愿意承担各自产品线出问题的代价来支持重写。
新的passport产品从2010年9月设计到2011年元旦上线花了3个月时间,passport产品看似需求简单,代码量不大,然而却有非常多的细致工作:重新设计整个用户登录验证功能,以确保更高的账号安全性;尽可能的测试所有需要登录验证的产品线,跨不同编程语言,以确保兼容性;由于账号数据库达到了1700多万条,必须使用缓存来提高用户账号数据查询效率;详细的登录日志记录、授权记录以及账号审核功能以确保误操作的可追溯和找回;庞大的数据量从SQL Server迁移到Linux下MySQL的迁移效率问题;重新设计用户注册,登录和账号设置,改进用户体验等等。新的passport产品上线并不引人注目,但意义非常重大,它是第一个真正讲究产品设计和用户体验的公司产品,而且解决了passport问题,其他产品才有可能改进。
这段时间遇到的最大困难是我始料未及的团队融合问题:9月和10月集中入职了10名新员工,整个部门有一半都是新人,但到11月有5名新员工离职。公司招聘新人留不住是个很严重的问题,这也是我进前公司以来遇到的最严峻的挑战。新员工离职虽然有很多原因,但最核心问题在于两点:
新员工入职过多过于密集比例过高,我没有高度重视新员工的融入问题。后来关于新员工融入也有很多经验和教训:新人入职前两周对公司的印象决定了他对公司的最终印象;新人入职第一个月适应与否决定了他在这家公司会待多长时间。那段时间集中入职了10个新人,没有制定系统的新人融入计划,新人茫然无措。
原文转自:http://www.ltesting.net/deltestingadmindd/