In Software Engineering, a Pattern Language is a network of interrelated patterns that defines a process for the systematic resolution of problems related to software development. MePPLa  (Measurement Planning Pattern Language) is a pattern language composed of a set of interrelated patterns that when used in a combined way help in the elaboration of software measurement plans for the statistical process control (SPC).

In MePPLa, each pattern is related to a process and follows the Goal-Question-Metric (GQM) format. Therefore, a MePPLa pattern includes a measurement goal, questions that indicate information needs that must be met so that it is possible to monitor the measurement goal, and measures (with their operational definitions) that meet the information needs.

MePPLa is represented through two types of models: the structural model and the behavioral model. The structural model presents the patterns that compose MePPLa and the structural relations (dependence, correlation, and composition) between them. The behavioral model, in turn, defines the flow that guides the selection and application of the patterns.

MePPLa can help software organizations to perform measurement planning to submit processes to the SPC. MePPLa currently includes patterns related to Project Management, Coding, and Testing processes. In all, there are 28 patterns: 12 related to the Project Management process, 6 related to the Coding process, and 10 related to the Testing process. Being a pattern language, MePPLa is constantly evolving. Thus, new patterns and processes will be gradually added to MePPLa.

MePPLa’s specification is available here.

MePPLa Tool, which provides computational support to the use of MePPLa, is available here.