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.Comment: 5 page