
nights, etc). On the other, companies have to pay full 
salaries  to  their  assistants  (not  for  the  hours  they 
worked, which makes it critical for them to plan the 
service that minimizes the displacement of assistants 
between homes). In addition, each user pays the hours 
of  service  actually  received  each  month  with  a 
percentage of their cost. The cost varies from user to 
user according to their economic situation. 
In  addition  to  charging  and  billing,  the  service 
organization  itself  is  complex  because  there  are 
dependents  who  should  always  receive  the  service 
(they depend on it to eat, get out of bed or to have a 
minimum hygiene). On the other hand the auxiliaries 
have the right to vacations, days off and sick leave, 
however, replacing them is complex as it sometimes 
requires increasing the number of work hours of other 
colleagues, which is only possible within certain legal 
limits.  Besides,  dependents  have  periods  of 
hospitalization or travel to their family home which 
means interrupting the service (and stop paying) but 
the company must continue to pay the salary to their 
assistants and always minimize periods without work 
or of displacement between users since they do not 
charge for them. 
Finally,  municipalities  want  to  be  informed  of 
everything at any time, especially the hours of arrival 
and departure of each assistant to each domicile and 
when a dependent changes his assistant, as frequent 
changes mean a low quality of service. 
In  order  to  solve  this  complex  problem,  we 
developed  an  application  that is being  marketed  as 
SaaS and is currently in use in more than 130 Spanish 
city councils, especially in Galicia. This application 
offers a company profile and a city council profile to 
access  the  data  of  each  municipality,  so  that  the 
application itself serves as a means of communication 
between  them.  The  check-in  in  each  domicile  is 
achieved by calls from the number of the domicile to 
a special phone number of a digital switchboard and 
is  reflected  in  the  database  available  to  the  city 
council  and  company.  On  the  other  hand,  a 
mechanism  is  offered  so  that  the  company  can 
efficiently plan the organization of the service and the 
scheduling of its assistants. The city council can also 
access this planning and see which assistant provides 
service to each user each day. 
Although the mechanics of work are similar in all 
companies  and  municipalities,  the  reality  is  that 
points  of  variability  began  to  emerge  from  the 
beginning.  This  is  due  to  the  fact  that  different 
companies and city councils have different protocols 
of action and, logically, they wanted the management 
application to support their way of working. 
Aware  that  the  variability  management  is  in 
general  a  preferable  option  to  the  development  of 
independent versions that are installed independently 
to each client, we assumed from the beginning that 
each  variant  in  a  point  of  variability  should  be 
implemented in the code as an alternative to the flow 
of execution, dependent on a control parameter of that 
point of variability. These parameters are inserted in 
the  database  associated  to  each  client.  Thanks  to 
making this design decision from the beginning, we 
have been able to undertake the growing development 
of new functionalities that have been bringing new 
points of variability as described in Section 3. 
The  rest  of  the  paper  is  organized  as  follows.  
Section 2 describes some aspects of the Home Help 
Service  management  necessary  to  understand  the 
points of variability. Section 3 describes the different 
points  of  variability  integrated  in  our  application, 
both for the city council and the company. Section 4 
presents an empirical analysis of the real deployment 
of the system and how the different variability points 
are  being  used.  Finally,  Section  5  presents  the 
conclusions of the paper. 
2  PROBLEMATIC OF THE 
VARIABILITY OF THE HOME 
CARE SERVICE 
A  fundamental  concept  in  the  management  of  the 
home care service is that of a “bag of hours”, that is, 
the number of hours that each assistant works in a 
given period. Managing these data for each assistant 
allows  the  company  of  a  home  care  service  to 
automatically  have  up-to-date  and  detailed 
information about the hours hired and worked by their 
employees,  in  addition  to  other  data  of  interest. 
Calculations of the bag of hours are held weekly at 
the end of each week. The bag of hours is shown as a 
table where its main columns are: 
●  Nº of hired hours: Number of hours assigned 
to the employee for his current contract. 
●  Nº  of  worked  hours:  Number  of  hours 
actually worked by the employee. For this, 
the  hours  of  the  services  carried  out  in  a 
period of time are added. Certain factors are 
also taken into account, such as absences or 
services canceled at the request of a user. 
●  Nº  of  complementary  hours:  Number  of 
overtime  hours  worked  beyond  the  time 
hired and paid separately. 
●  Nº  of  permission  hours:  Number  of  paid 
hours  (permission,  holidays,  public 
APMDWE 2018 - 3rd International Special Session on Advanced practices in Model-Driven Web Engineering
392