以下内容,仅为俺个人臆想,正在实施但未知效果如何。
我向来自我感觉,或被人诟病工作效率低下。现在做了小头目以后,要带几个丁搞项目,自觉责任重大,又有业绩压力,再也不能这样活,必须发粪涂墙,提高效率。
如何提高工作效率呢?
我认为应该酱紫:
1、要有计划
凡事要有计划。
项目必须有项目实施进度计划。不一定要搞个甘特图。搞这个甘特图,容易陷入细节,而忽略本质。就搞个简单的txt文件,罗列一下项目的里程碑,比如开发到什么时候,啥时测试,啥时交付,啥时验收;然后是每个人负责哪部分。
小的方面,每天工作如何安排,上班路上都可以想一想,当天要做些啥,顺序如何?要始终抓住最重要的事情不放,严禁节外生枝,本来在做主体的东西,结果延伸到旁边一个枝节去了。好比说,我在写份WORD文档,结果发现有个啥WORD命令不会,于是就花时间去了解这个命令。其实我们不就是要写文档吗,写完就完了。这个命令以后有时间再去了解不迟。
2、并发执行
同时做多件事。
在个人层面,可以在一件事不得不等待的过程中,利用这个间隙做另外的事。比如说,你在装一个系统,那么就让电脑自己装,然后自己可以去忙别的事;或者有个界面要让美工画,就交代美工画,然后自己先写代码。
而在团队中,并发效益最明显。作为团队头目,你可以尽量安排其他成员去做东西。努力克制自己凡事亲力亲为,一定要搞得妥妥当当,清清楚楚,才交给手下去做的冲动。一方面,手下是个人,有主观能动性,只要目标清楚,他们会自己想办法千方百计完成,不用你操心过多。如果他啥事都要你推动,那是失职,要么态度不行,要么能力有问题,应该炒掉;另一方面,团队成员有自己的抱负,如果你什么事都弄得差不多才交给他们去做,自己累得半死,手下又得不到锻炼,他们非但不感激,反而会怨恨。
所谓项目经理,就是组织团队的力量去完成项目。
3、异步处理,迭代实施
异步处理,非堵塞,好处就是可以立即返回,给人感觉很快很屌的样子。事实上,立即返回的时候,所有的工作可能并没有全部完成,它只是改善了用户体验而已。
比如说,注册,注册信息保存到数据库,后续的工作可能还要发邮件,发短信通知用户。这时候,可以等邮件和短信发送完毕才返回,告诉用户注册成功,所有工作完成,但时间可能有点长;也可以采用异步,引入消息队列,注册信息保存到数据库,写入消息队列,然后立即返回,后续工作由消息队列机制触发邮件和短信发送。用户的感觉就比较快。
工作中,也可以如此。领导要一个东西,或者布置一个任务,我们应当在无伤大雅的前提下,尽快返回,然后再从容完善背后的细节。你如果要做得尽善尽美才交货,一方面这很难,因为你不是他肚子里的蛔虫,甚至有可能你的方向根本就是错的,延误战机;另一方面,他可能会觉得你效率低,或者死脑筋。
比方说,前几天有个经理让我搭建项目的开发环境,包括代码和数据库。代码弄好了,还有个导入数据库。这个数据库的备份包,我一时找不到,但另外一个项目用的数据库,与新项目的数据结构一样,为了不影响开发,于是我将新项目指向该数据库,回复经理说环境已搭好,然后今天才抽空建好新的库,修改一下链接即可。
像快速原型,迭代实施,都是类似的道理。