Article Preview
TopIntroduction
Software development is a dynamic, complex and unpredictable process, since many interacting factors impact the costs and schedule of the development project as well as the quality of the developed software product, throughout the lifecycle. Many unanticipated cost overruns that occur in companies specializing in software development typically absorb valuable resources and occasionally necessitate abandoning a project altogether (Na et al., 2007). To monitor and control Information Technology (IT) projects, management experience and knowledge on how to balance the various influential factors are required. IT project management has received considerable attention that stems in part from the frequent reports on high profile cases of mismanaged software development projects (Charette, 2005). The Standish Group CHAOS Report in 2004 indicated that 53% of IT projects were unable to deliver on schedule, within budget, and with the required functions, while 18% of the software developments were cancelled (Standish Group International, 2004). Obviously, in order to avoid such failures, IT project managers need methods and tools to manipulate from time to time alternative execution modes in such way that will ensure obtaining project completion targets in the most efficient ways.
Software development organizations are mostly simultaneously involved in more than one project. Governmental agencies, companies from the business sector and venture capital firms may have a certain budget dedicated to IT project portfolios. Project portfolio management is a set of processes used to support such organizations. An IT program manager has to select and conduct a mix of projects by maximizing potential portfolio return and strategic alignment, while balancing various preferences, and considering limited resources. In the dynamic class of portfolio selection problems (Bard et al., 1988; Cooper et al., 1997), at every decision point there are projects that have already started, denoted as active projects, and a set of proposed projects known as candidate projects. The decision space includes both groups, and may involve the continuation of active projects at various budgeting levels, abandoning other active projects and launching new projects (Eilat et al., 2006). A revision of active and candidate project targets may be required as well. Doubtlessly, IT program managers need tools to improve solutions that will enable them to conduct efficiently complex project portfolios with multi objective targets.
This article proposes a Simulation-based Decision Support (SBDS) system for assisting IT program managers in balancing the project portfolios' various influential factors in order to achieve efficiently realistic time and cost targets. This computer-based interactive system supports decision makers rather than replaces them, utilizes data and models, solves problems with varying degrees of structure, and focuses on the effectiveness rather than the efficiency of decision processes. Obviously, the program manager's decisions must consider the most efficient planning that can be introduced by each of the portfolio project managers at the decision point. For this purpose, the proposed SBDS system implements an appropriate method for simultaneous control and integration of IT projects, seeking to satisfy their specific chance-constrained project completion times in the most efficient way. Since stochastic models provide greater levels of information for analysis and less unbiased estimates of the expectations than do deterministic models (Moder & Rodgers, 1968), we consider both stochastic and deterministic times and costs but regard a stochastic approach superior over prevalent deterministic approaches.
For the convenience of the reader, the notations used in the paper are introduced in the Appendix.