前言
这是一个乌卡—VUCA(Volatility、Uncertainty、Complexity、Ambiguity)时代,一切都在高速变化。企业根据当前的战略目标不断调整组织架构、业务领域,目标是从竞争激烈的市场脱颖而出,持续盈利。组织架构和业务调整会带动业务流程、业务产品的变化,进而会导致员工的作内容、工作方式的变化。员工在这个大背景下就需要快速适应、快速学习、快速产出,以便能满足岗位要求。因此产生压力和焦虑,这种感受在更换新工作后尤其突出,因为可能一切都是陌生的。
那在这个持续变化的工作环境中,作为测试工程师该如何应对?怎样快速的切入工作、持续输出价值、保持核心竞争力、缓解我们的焦虑和压力呢?接下来我们先来做个小测验。
小测验
作为测试工程师或者测试管理者我们是正在被如下问题困扰?当然你也可以对此进行补充。
- 学历受限,无法进一步提升。
- 职业瓶颈期,不知道下一步如何规划。
- 非计算机相关专业或者测试培训入行,基础不牢固。
- 初到一个新环境不知道如何开展工作,很迷茫。
- 公司流程混乱,不知道从何入手。
- 公司文档不完善,无法快速的熟悉业务。
- 产品质量不尽人意,无法搭建有效的质量体系。
- 大型复杂的系统的测试策略/方案很头疼。
- 自己提出的方案不受重视,无法落地。
我们是否思考过如下问题?
- 我们公司的商业模式是什么,如何运作和盈利的?
- 我们的组织架构是怎样的,各个部门都负责什么?
- 我们产品的系统架构是怎样的,为什么这样设计?
- 我们的开发模式和流程是怎样,是否有优化空间?
- 我们的组织架构与当前的开发模式和流程匹配吗?
每个人可能遇到的问题不尽相同,我简单将这些问题和疑问归纳起来应该分为2类4点:
组织层面:
- 组织架和业务架构方面
- 系统/技术架构方面
- 开发模式/项目管理流程方面
个人层面:
- 能力提升和职业发展
针对上述问题和疑问,我们思考一下是否有一种相对普遍的方法或者工作模式来应对呢?我个人回答是肯定的。就是转变我们看事物的视角和建设与之匹配的能力。
为什么要提升视角
当我们看到事物的角度和高度发生变化时,我们会获取更多的信息并识别知识盲区,能更我们更好的规划采取下一步行动,这里的行动包括工作上的改进和自我改进。就像我们在一条山间小路探险,我们只能根据当前的情况做依据判断下一步如何走下一步。但如果我们有一台无人机呢?把我们的视野放飞到路的上方甚至是整个山顶,那我们就能看到全局,并且决定接下来如何选择,甚至我们会获得一张地图,掌控全局,这也是我们常说的全局视角。
从整体看细节,再从细节去调整整体,这种工作思路可以让我们跳出局部从全局角度去看待问题、提出方案和建议,分阶段制定出合理的计划,系统化的改进,避免局部优化。那如何把自己的眼睛放飞到足够的高度看全局呢?这就是我们接下来要聊的:测试(管理)工程师怎样给眼睛插上翅膀,看的更高,看的更远。实际上,我理解这是一种看待问题模式的变化。
从哪些方面转变视角
我们将测试要转变的视角和支撑的基础能力进行了简单的结构化的梳理,就像一张系统架构图,这样有助于我们从整体上去看我们要从哪些视角出发,并逐渐将这张架构图进行扩充、细化,重新对自我进行规划。
企业架构视角
将一个企业比作一辆汽车,那企业架构就是整车的架子。企业架构就是对企业多层面、多角度的建模和描绘。企业架构主要分为两大部分:业务架构(汽车的框架)和IT架构(支撑汽车运转的信息化系统)。
企业架构包括业务架构和支撑业务架构的IT架构。
- 业务架构是把企业的业务战略转化为日常运作的渠道,业务战略决定业务架构,它包括业务的:运营模式、流程体系、组织结构、地域分布等内容。
- IT架构指导IT设计,决策IT框架,是建立企业信息系统的综合蓝图,包括:数据架构、应用架构和技术架构。
这里谈的IT架构是支撑企业信息化和运营的架构,包括:公司网络、机房、内部应用等。比如你的公司是研发CRM软件的公司,企业A购买了他,那这套CRM是支撑企业A企业信息化的,属于企业A IT架构的一部分。如果我们采购了一套OA系统,那这套OA系统是支撑我们企业信息化的一部分。
如果我们能站在企业架构的角度去了解公司的运营模式、业务流程、组织架构和支撑企业运营的IT信息化建设,这样我们就对公司有了一个全貌的了解,对我们快速适应企业环境、工作开展是相当有帮助的。如果你是测试管理者,还可有助于我们制定符合公司发展现状的质量方针、质量策略,不至于整体信息缺失导致目标跑偏。后边我们会单独探讨如何去了解企业架构并获取我们想要的信息。
系统架构视角
作为测试工程师/测试管理者来说,被测系统的系统架构对我们进行质量管理、识别风险和建立有效的质量体系至关重要。把测试工程师比作医生,被测系统是病人,系统架构是病人的身体结构,系统(服务)之间的调用就是病人的血管脉络,作为医生如果能熟悉掌握病人的身体构造、血管脉络,再辅以类似CT等手段就可以快速定位病灶、评估病情和制定合理的治疗方案。
如果我们能站在系统架构的角度去剖析系统、理解业务,我们也可以像医生一样快速识别系统问题、制定合理的质量策略和改进方案。个人认为,能快速理解和梳理出系统架构是测试管理的必备能力。后续我们会单独聊一聊如何获得这一能力并通过案例对比看具备和不具备这样能力的差异。
研发流程视角
相信很多从事软件测试的同仁一定都经历过流程变革,前些年是在聊我们在过CMMI几级、我们PMO在做项目管理规范,最近几年听到最多的是我们在做敏捷、在落地DevOps。往往研发流程的调整的背后都是业务战略的调整,业务战略的调整又是以市场变化为前提。这也是为什么在当前乌卡时代大量的软件研发公司开始拥抱敏捷,热衷于DevOps的原因。
作为测试的我们能否快速熟悉研发流程非常重要,研发流程就是一条流水线,流水线的最终输出就是软件制品。测试工程师作为软件制品高质量交付的关键角色,如果不能熟知这条流水线的运作原理、各个角色和环节,当制品出现问题的时候,我们就没办法有效分析根本原因、提出合理的过程改进方案。
如果我们的能力足够,是否也可以变成那个发起变革的人?变成这条生产线的设计师呢?
能力建设
上面提出了作为测试工程师要从企业架构(关键的业务架构、组织架构)、系统架构、研发流程的视角去做转变,如何做能力建设就显而易见了。
下面先对个人觉得比较重要的通用能力进行简单总结,与视角转变相应匹配的能力会在对应的章节进行介绍。
上述通用能力个人认为是软件测试工程师必须的基础能力,快速学习能力能让我快速掌握新的技能;沟通协作有助于我们获取更多信息获得帮助;结构化的思维支持我们在混乱状态下快速理清原委,形成可执行方案;文档的编写能力和画图能力是结构化思维的支撑能力;职业规划能力是让我们能认清不足,持久提升;计算机基础和软件工程是我们构建软件领域系统化知识体系的基础。
总结
如今软件测试行业对软件测试工程师和测试管理的能力要求越来越高,也越来越多维。我们如何在这个变化的时代找到一套适合自己的方法,以不变应万变,持续让自己输出价值而不至于被时代所抛弃。
当然我们不是企业咨询顾问,没能力设计企业架构;我们不是系统架构师,无法设计被测系统的架构;我们也可能不是研发经理,没办法去推进研发流程变革。但至少对于我个人来说,只要转变视角帮助我获取足够多的信息,支撑我把测试管理工作做的更好并为自己持续建设与之匹配的能力提供方向,不至于停滞不前,这就足够了。
本章引出了视角的变化和建设与之匹配能力的观点。后续我们会围绕每个视角如何转变、如何实践和如何建设与之匹配的能力进行深入讨论。
评论区