A dynamic programming algorithm for optimizing the financial return of software projects

The Incremental Funding Method (IFM) in software development projects aims at optimizing the financial return of a software project through proper sequencing of development activities and incremental releases of the software product. This paper presents a Dynamic Programming (DP) project scheduling algorithm that maximizes a software project's net present value (NPV) under IFM assumptions. Through an exemplar case study we demonstrate that the DP algorithm guarantees optimality in the project scheduling sequence and offers flexibility in adjusting the optimum project schedule dynamically, as market or development conditions change.

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

[2]  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.

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

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

[5]  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.

[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]  Antonio J. Alencar,et al.  Maximizing the Business Value of Software Projects - A Branch & Bound Approach , 2008, ICEIS.

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

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

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

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

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

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

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

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

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

[17]  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.

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

[19]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .