如何快速上手项目
推荐好文:
[内部资源] 想拿年薪30W+的软件测试人员,这份资料必须领取~
前几天在技术交流群,有同学问了我一个问题:
刚入职一家新公司,做的项目是之前很少接触的行业,该怎么快速的熟悉并上手自己的工作?
这个问题其实很多同学都遇到过,无论是跳槽去新公司还是公司内部新项目,都可能是自己陌生的业务类型或者技术栈。
那么面对这种情况,测试同学该如何快速熟悉,并搞定自己职责范围内的工作呢?
这篇文章,我想结合自己的经验,聊聊自己的一些看法。
首先,我觉得面对一个比较陌生的业务或项目时,可以从2个大的方面来考虑:客观现状和主观能动性。
客观现状
客观现状,就是需要快速的去了解这个项目相关的信息,主要有如下几点:
1、项目目标是什么?
想要快速的了解一个项目,首先第一件事就是去了解这个项目的目标是什么。
或者说,为什么要做这个项目(背景)?要解决什么问题(痛点)?用什么方式解决(方案)?
举个例子:我们经常遇到项目重构,或者业务改造的项目,其本质都是原有的业务模式/技术架构无法支撑进一步的业务发展和商业活动需要,因此需要采用新的方案来解决问题,让技术支撑业务目标更好的达成。
2、有哪些衡量项目结果的指标?预期数值是多少?
既然要用新的方案解决问题,那项目肯定是有预期目标的,这些目标也需要不同维度的指标来衡量。
可以是项目上线后的投入产出比,可以是新技术架构带来的性能/效率提升,也可以是用户体验带来的口碑等。
3、项目从立项到发布过程是什么?如何拆解?和你强相关的有哪些?
这点其实和个人的关系就比较大。
了解项目的生命周期和过程,以及不同环节要做的事情,结合项目目标和衡量指标,可以评估出自己处在哪个环节,大致的工作范围,工作强度和难度以及工作的粒度,相当于一个从模糊到清晰的工作职责定位。
4、每个环节由谁负责,谁来配合?时间节点是什么?
这点其实无论在新项目还是在日常的工作中,都需要注意。
现代企业每个人所处岗位要负责的事情是越来越精细的,对团队协同配合的要求也越来越高。
知道了自己的工作职责定位和范围,为了更好的完成工作,我们需要去了解自己的上游依赖和下游协作的角色,以及具体的交付时间、交付方式和沟通协作的机制(有些企业是邮件,有些是IM通讯工具,有些则是文档居多)。
尽可能在这些细节上快速熟悉,才能更快的上手自己的工作。
主观能动性
主观能动性,就是通过对项目现状的客观了解,结合自己的经验和能力,发掘自身的优势并融入项目。比如:
1、你的能力能否对项目带来促进作用?
举个例子,新项目的deadline定的比较紧急,而且测试时间不太充足,这个时候如果你具有较好的协同沟通能力,或者风险评估及规划能力,就可以尝试多参与其中,做好风险评估和协调沟通,主动去owner某个部分甚至做为项目进度的推动者,去证明自己的能力,体现自己的价值。
2、过往经验/技术能力是否可以在项目中快速融入?
举个反例,新项目是设计很详细,交付时间足够但对交付质量要求很高的项目。那这个时候对测试同学来说,考虑的就是如何提高交付质量以及过程的效率了。
交付质量的提升,要考虑多方面,但最基本的扩大有效测试覆盖率,提升测试的粒度是必须的,这就需要强大的分析能力和测试case设计以及验证能力。
另一方面测试的粒度很细,手动执行效率比较低,那自动化测试和持续集成等技术就可以尝试应用起来,一方面可以实在的提升质量和效率,另一方面也算个人产出,何乐而不为。
3、你目前在项目中缺乏什么?你从中可以学到什么?
这一点可能有些同学会忽略,但这点其实对个人的成长具有很大的隐性帮助。
找到自己的职责定位和工作范围,知道了自己过往的能力可以对项目带来的促进作用,但还是需要快速发现自己的不足。
比如对业务知识的了解,对新技术框架,技术架构的理解,这些一方面可以帮助我们快速的融入项目,另一方面也可以借此明确自己的不足之处,找到后续的一个重点学习和成长方向。
听过很多同学说公司工作比较忙,没有时间学习,自己没有太多成长。
其实职场中,最快速的成长阶段就是在不同的项目中去实践成长。因为遇到了自己不擅长的领域,在实践中去主动学习,通过工作实践解决问题,这就是最快的成长途径。
而不是闭门造车学很久,但一直没有太多实践,聊起来头头是道,做起来支支吾吾。
相关文章
- linux下如何部署php项目?
- Visual Studio VS如何拷贝一个项目的窗体文件到另一个项目
- 项目开发过程中如何使用免费开发手机验证码验证功能(详细教程)
- IDEA中MAVEN项目有多个子目录,如何加载构建
- web项目路径如何更改
- Intent Flag实际项目 -- 超时跳转登录界面并清理前面所有activity
- crm项目-权限组件
- Eclipse中如何clean项目以及clean的作用
- SAP CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的
- Java servlet项目里的web.xml
- Angular 项目中的可摇树依赖 - Tree-shakable dependencies
- Xcode 如何计算整个项目的代码行数
- 如何解决在Android Studio上导入GitHub旧项目后,左边的project不见了
- 【项目实战】如何在关系型数据库(Oracle、MySQL)中创建定时任务
- 卓越项目【商城版本】完整实施过程(持续更新,最终为VIP版本)
- 对于一个人工智能项目如何把模型调整为最好
- Python实现GWO智能灰狼优化算法优化XGBoost回归模型(XGBRegressor算法)项目实战
- Python实现决策树回归模型(DecisionTreeRegressor算法)并应用网格搜索算法调优项目实战
- Vue3+vite项目中如何动态导入并创建多个全局组件
- 领导给你一个项目,如何开展性能测试工作
- 对immutable的理解?如何应用在react项目中?
- 【Spring Boot】Spring Boot项目中如何查看springBoot版本和Spring的版本
- 如何5秒解决PyCharm下Django项目执行之后出现"TypeError: 'os.stat_result' object is not callable"的问题
- 如何快速入手一个JavaWeb项目