One of the key challenges for a novice engineer in a product company is to comprehend the product sufficiently and quickly. It can take anywhere from six months to several years for them to attain mastery but they need to start delivering results much before. SaaS (Software-as-a-Service) products have sophisticated system architecture which adds to the time and effort of understanding them. On the other hand, time available to new hires for product understanding continues to be short and getting shorter, given the pressure to deliver more in less time. Constructivist theory views learning as a personal process in which the learner constructs new knowledge for themselves. Building and refining a mental model is the key way in which they learn, similar to how the brain operates. This paper presents an approach to improve system comprehension process by using a system model that a) acts as a transitional object to aid and refine the mental model of the learner, and b) captures the current understanding of the dynamics of the software system in a way that can be reasoned with and simulated. We have adapted discrete systems modeling techniques and used a transition system as a lightweight modeling language. Such a model can be used by novice engineers during their product ramp-up phase to build a model of the software system that captures their knowledge of the system and aid their mental model. The paper also presents a learning approach in which the learners create and refine these models iteratively using the available and newly uncovered knowledge about the software system. We hypothesize that by leveraging this modeling language and approach, novice engineers can reduce the time it takes them to achieve desired proficiency level of system comprehension. This paper presents early ideas on this language and approach.
翻译:产品公司新手工程师面临的一个关键挑战是如何快速且充分地理解产品。他们可能需要六个月到数年时间才能掌握产品,但在此之前就需要开始交付成果。SaaS(软件即服务)产品具有复杂的系统架构,这进一步增加了理解产品所需的时间和精力。另一方面,在更短时间内交付更多成果的压力下,新员工可用于理解产品的时间依然紧张且日益缩短。建构主义理论将学习视为学习者自主构建新知识的个人过程。构建并完善心理模型是其学习的关键方式,类似于大脑的运作机制。本文提出了一种通过系统建模来改进系统理解过程的方法,该模型具备以下功能:a) 作为过渡对象,辅助并完善学习者的心理模型;b) 以可推理和可仿真的方式捕获对软件系统动态特性的当前理解。我们采用了离散系统建模技术,并以转换系统作为轻量级建模语言。新手工程师可在产品入门阶段使用此类模型,构建反映其对软件系统知识的模型,从而辅助其心理模型的形成。本文还提出了一种学习方法,学习者可利用现有及新发现的软件系统知识,迭代地创建并完善这些模型。我们假设,通过利用此建模语言和方法,新手工程师可缩短达到所需系统理解熟练程度的时间。本文介绍了该语言和方法初步构想。