## 3 CoMeS-SPL Method
### Participating Roles in CoMeS-SPL  
Collaborative work requires joining the efforts of a team of people to achieve a common goal, so it is important that the roles are well defined so that each participant knows their functions and how they contribute to the activity. The identified roles in CoMeS-SPL are:  
* Domain expert: This participant is usually an external advisor from the companies or organizations of the target domain. He/she provides knowledge about the application domains, context information, customers' needs, related products, and associated regulations from the companies or organizations of the target domain. It is a mandatory role.
* Business administrator: This role belongs to the administrative unit of the software producing company (a manager or administrator). It is a mandatory role.
* Marketing expert: This role represents the business concerns of the company against the production of an SPL. This person can belong to the unit of marketing and sales of the production company. It is a mandatory role.
* Software architect: A software architect is responsible for the high-level design and strategic planning of software. He/she is usually a person with the greatest experience of the development team with good communications and negotiation skills. It is a mandatory role.
* SPL project leader: The SPL leader is the person who manages and controls the resources assigned to the SPL project, with the purpose that the plans may correctly be fulfilled in the estimated time. This person provides a strategic vision, a business approach that considers aspects such as cost, time, and resources of the project. It is a mandatory role.
* Potential customers representative: This role represents the possible customers of the products to be developed as part of SPL. The objective of the customer's participation is to identify real needs. It is an optional role.
* Sales staff: The person in this role knows and collects all possible information about the sales of the company's products, competitors, and aspects of the customer's purchasing processes. This is an optional role.
* Domain analyst: This role involves interaction with potential users and experts in domains to establish the SPL scope. The person in this role gives an overview of the target domain and determines the common and variable features from the products that belong to the SPL and their restrictions. This role is optional.
* Technical expert: He/she knows different tools, techniques, environments, and programming languages. He/she provides technical knowledge of the products and helps the team evaluate the available technical options. This role is optional.
* SPL expert: This role is necessary if the leader of SPL has no experience in the development of SPL, he/she provides knowledge in the planning and development of an SPL initiative. This role is optional.
* Teamwork advisor: He/she knows about collaboration techniques and practices, which will help in the execution and management of the method, in the solution of impediments, and in the interaction among the participants. He/she supports and encourages communication and collaboration among the participants. This role is optional.