In this universe, building and maintaining specific application versions to meet the
particularities of each interaction context have become a challenge to be overcome. Among
other problems, this cross-context design requires high investments, demands large
development efforts, and still can result in inconsistent application versions. Furthermore,
the existence of multiple application versions hinders the maintenance, since modifications
and changes will have to be managed separately (Eisenstein et al., 2000; Singh, 2004). In this
sense, it is important to provide developers with an appropriate software process which can
guide them through the establishment of activities and artifacts that give support in meeting
the adaptation requirements demanded by a ubiquitous environment, considering the
different contexts involved in the application execution (Serral et al., 2010).