Different product teams were implementing solutions for the same problem, investing more effort than required, and creating maintenance problems by having different solutions for the same problems.
Objectives
Have a base generic GUI that all products can reuse.
Generalize common aspects of products business logic.
(licensing, telemetry, assessment data generation, front-end interface, code processor interface, local reports, logging, etc.)
Have a common mechanism to collect, store and analyze data.