Binary Linear Programming-based Release Planning for Multi-tenant Business SaaS

In multi-tenant Software as a Service (SaaS) business software, the degree of tenants' satisfaction is a significant indicator of the success of the SaaS system. Tenants' satisfaction can be achieved by continuously fulfilling their evolving needs. Usually, SaaS providers frequently deliver new releases of the application. Each release contains new or enhanced features. However, SaaS providers have limited resources, which makes it difficult to them to incorporate all of the tenants' requests in the next release. Therefore, some requirements shall be postponed to later releases. In order to achieve the highest possible level of tenets' satisfaction, SaaS providers shall include the most common requirements in the next release, which guarantee the satisfaction of highest possible number of tenants with less effort. Additionally, tenants' priorities and preferences about the requirements must be considered. Besides maximizing tenants' satisfaction, it is crucial to meet different types of constraints such as resource, technical, and contractual constraints. This paper identifies the factors that govern the release planning process for multi-tenant business software, which are contractual constraints, commonality of requirements, tenants' preferences and decision weights, risk, technical constraints. The first two factors are suggested by this paper, while the remaining factors are inherited from the traditional release planning process. Moreover, this paper proposes a framework that deals with the uniqueness of the release planning process in multi-tenant SaaS system. In this framework, Binary Linear Programming (BLP) is employed to optimize the selection process of the requirements that will be implemented in the next release. An experiments section is provided to illustrate the degree of satisfaction that can be achieved using the proposed framework.

[1]  Chris Fry,et al.  Large Scale Agile Transformation in an On-Demand World , 2007, Agile 2007 (AGILE 2007).

[2]  Günther Ruhe,et al.  Towards Comprehensive Release Planning for Software Product Lines , 2006, 2006 International Workshop on Software Product Management (IWSPM'06 - RE'06 Workshop).

[3]  Günther Ruhe,et al.  A systematic approach for solving the wicked problem of software release planning , 2007, Soft Comput..

[4]  Ashish Sharma,et al.  A Complexity measure based on Requirement Engineering Document , 2010, ArXiv.

[5]  Bikram Sengupta,et al.  Engineering multi-tenant software-as-a-service systems , 2011, PESOS '11.

[6]  Wei Shen,et al.  Release planning under fuzzy effort constraints , 2004 .

[7]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[8]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[9]  Rajkumar Buyya,et al.  SLA-Based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[10]  Jerffeson Teixeira de Souza,et al.  A New Approach to the Software Release Planning , 2009, 2009 XXIII Brazilian Symposium on Software Engineering.

[11]  Sjaak Brinkkemper,et al.  Software product release planning through optimization and what-if analysis , 2008, Inf. Softw. Technol..

[12]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[13]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[14]  Wei Shen Software release planning with fuzzy objectives and constraints , 2005 .

[15]  Sjaak Brinkkemper,et al.  Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product , 2007, REFSQ.

[16]  Moshood Omolade Saliu,et al.  Fuzzy Structural Dependency Constraints in Software Release Planning , 2005, The 14th IEEE International Conference on Fuzzy Systems, 2005. FUZZ '05..

[17]  Günther Ruhe,et al.  Optimized Resource Allocation for Software Release Planning , 2009, IEEE Transactions on Software Engineering.

[18]  BrinkkemperSjaak,et al.  Software product release planning through optimization and what-if analysis , 2008 .

[19]  Günther Ruhe,et al.  Hybrid Intelligence in Software Release Planning , 2004, Int. J. Hybrid Intell. Syst..

[20]  Armando Eduardo De Giusti,et al.  Cloud Computing. Concepts, Technology & Architecture , 2013 .