前几天在技术交流群,有同学问了我一个问题:
刚入职一家新公司,做的项目是之前很少接触的行业,该怎么快速的熟悉并上手自己的工作?
这个问题其实很多同学都遇到过,无论是跳槽去新公司还是公司内部新项目,都可能是自己陌生的业务类型或者技术栈。
那么面对这种情况,测试同学该如何快速熟悉,并搞定自己职责范围内的工作呢?
这篇文章,我想结合自己的经验,聊聊自己的一些看法。
首先,我觉得面对一个比较陌生的业务或项目时,可以从2个大的方面来考虑:客观现状和主观能动性。
客观现状
客观现状,就是需要快速的去了解这个项目相关的信息,主要有如下几点:
1、项目目标是什么?
想要快速的了解一个项目,首先第一件事就是去了解这个项目的目标是什么。
或者说,为什么要做这个项目(背景)?要解决什么问题(痛点)?用什么方式解决(方案)?
举个例子:我们经常遇到项目重构,或者业务改造的项目,其本质都是原有的业务模式/技术架构无法支撑进一步的业务发展和商业活动需要,因此需要采用新的方案来解决问题,让技术支撑业务目标更好的达成。
2、有哪些衡量项目结果的指标?预期数值是多少?
既然要用新的方案解决问题,那项目肯定是有预期目标的,这些目标也需要不同维度的指标来衡量。
可以是项目上线后的投入产出比,可以是新技术架构带来的性能/效率提升,也可以是用户体验带来的口碑等。
3、项目从立项到发布过程是什么?如何拆解?和你强相关的有哪些?
这点其实和个人的关系就比较大。
了解项目的生命周期和过程,以及不同环节要做的事情,结合项目目标和衡量指标,可以评估出自己处在哪个环节,大致的工作范围,工作强度和难度以及工作的粒度,相当于一个从模糊到清晰的工作职责定位。
4、每个环节由谁负责,谁来配合?时间节点是什么?
这点其实无论在新项目还是在日常的工作中,都需要注意。
现代企业每个人所处岗位要负责的事情是越来越精细的,对团队协同配合的要求也越来越高。
知道了自己的工作职责定位和范围,为了更好的完成工作,我们需要去了解自己的上游依赖和下游协作的角色,以及具体的交付时间、交付方式和沟通协作的机制(有些企业是邮件,有些是IM通讯工具,有些则是文档居多)。
尽可能在这些细节上快速熟悉,才能更快的上手自己的工作。
主观能动性
主观能动性,就是通过对项目现状的客观了解,结合自己的经验和能力,发掘自身的优势并融入项目。比如:
1、你的能力能否对项目带来促进作用?
举个例子,新项目的deadline定的比较紧急,而且测试时间不太充足,这个时候如果你具有较好的协同沟通能力,或者风险评估及规划能力,就可以尝试多参与其中,做好风险评估和协调沟通,主动去owner某个部分甚至做为项目进度的推动者,去证明自己的能力,体现自己的价值。
2、过往经验/技术能力是否可以在项目中快速融入?
举个反例,新项目是设计很详细,交付时间足够但对交付质量要求很高的项目。那这个时候对测试同学来说,考虑的就是如何提高交付质量以及过程的效率了。
交付质量的提升,要考虑多方面,但最基本的扩大有效测试覆盖率,提升测试的粒度是必须的,这就需要强大的分析能力和测试case设计以及验证能力。
另一方面测试的粒度很细,手动执行效率比较低,那自动化测试和持续集成等技术就可以尝试应用起来,一方面可以实在的提升质量和效率,另一方面也算个人产出,何乐而不为。
3、你目前在项目中缺乏什么?你从中可以学到什么?
这一点可能有些同学会忽略,但这点其实对个人的成长具有很大的隐性帮助。
找到自己的职责定位和工作范围,知道了自己过往的能力可以对项目带来的促进作用,但还是需要快速发现自己的不足。
比如对业务知识的了解,对新技术框架,技术架构的理解,这些一方面可以帮助我们快速的融入项目,另一方面也可以借此明确自己的不足之处,找到后续的一个重点学习和成长方向。
听过很多同学说公司工作比较忙,没有时间学习,自己没有太多成长。
其实职场中,最快速的成长阶段就是在不同的项目中去实践成长。因为遇到了自己不擅长的领域,在实践中去主动学习,通过工作实践解决问题,这就是最快的成长途径。
而不是闭门造车学很久,但一直没有太多实践,聊起来头头是道,做起来支支吾吾。