A Dynamic Programming Approach for Solving the IFM Based Project Scheduling Problem

A key factor in the development of software projects is the generation of added value to the business. The Incremental Funding Method (IFM) is a financial approach to software development aiming at maximizing the net present value (NPV) of a software project through proper sequencing and deployment of the software marketable features. This paper proposes the application of Dynamic Programming (DP) to address the complexities of the IFM method. We demonstrate that DP is a computationally efficient method that yields optimum development and deployment schedules for releasing the marketable features of a software product. The results show that the proposed approach is superior to other, previously presented in the literature, heuristic scheduling algorithms. The approach provides means for software project managers to plan and react dynamically in setting optimum development scheduling sequences.

[1]  Thomas L. Saaty,et al.  DECISION MAKING WITH THE ANALYTIC HIERARCHY PROCESS , 2008 .

[2]  Hayder Radha,et al.  A dynamic programming approach to maximizing a statistical measure of the lifetime of sensor networks , 2012, TOSN.

[3]  Abdelhakim Artiba,et al.  Hybrid Flow Shop Scheduling with Availability Constraints , 2014, Essays in Production, Project Planning and Scheduling.

[4]  Barry W. Boehm Value-based software engineering: reinventing , 2003, SOEN.

[5]  Stephanie Lester,et al.  Information Economics: linking business performance to information technology , 1990, J. Inf. Technol..

[6]  A.J. Alencar,et al.  Generating software-project investment policies in an uncertain environment , 2008, 2008 IEEE Systems and Information Engineering Design Symposium.

[7]  M.C. Fernandes,et al.  A multicriteria approach to the XP release plan that maximizes business performance in uncertain environments , 2008, 2008 IEEE Systems and Information Engineering Design Symposium.

[8]  Alexandre L. Correa,et al.  On the Merits and Pitfalls of the Incremental Funding Method and Its Software Project Scheduling Algorithms , 2012 .

[9]  J. Cleland-Huang,et al.  Financially informed requirements prioritization , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[10]  P. Gács,et al.  Algorithms , 1992 .

[11]  Robert Giegerich,et al.  Modeling Dynamic Programming Problems over Sequences and Trees with Inverse Coupled Rewrite Systems , 2014, Algorithms.

[12]  Jane Cleland-Huang,et al.  The incremental funding method: data-driven software development , 2004, IEEE Software.

[13]  Antonio J. Alencar,et al.  Applying Game Theory to the Incremental Funding Method in Software Projects , 2014, J. Softw..

[14]  M. Held,et al.  A dynamic programming approach to sequencing problems , 1962, ACM National Meeting.

[15]  Antonio J. Alencar,et al.  A Statistical Approach for the Maximization of the Financial Benefits Yielded by a Large Set of MMFs and AEs , 2014, Comput. Informatics.

[16]  Vassilis C. Gerogiannis,et al.  Consolidation of the IFM with the JSSP through Neural Networks as Model for Software Projects , 2014, 2014 2nd International Conference on Artificial Intelligence, Modelling and Simulation.

[17]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[18]  Antonio J. Alencar,et al.  Maximizing the Business Value of Software Projects - A Branch & Bound Approach , 2008, ICEIS.