Software Project Planning Through Simulation of Entire Project's Problem-Space

Software Project Planning Through Simulation of Entire Project's Problem-Space

Moshe Dayani (Bar-Ilan University, Graduate School of Business Administration, Ramat Gan, Israel) and Roy Gelbard (Bar-Ilan University, Graduate School of Business Administration, Ramat Gan, Israel)
DOI: 10.4018/IJITPM.2017070102


The current research has two main objectives: 1) Integration of the system analyst's products together with the project manager's work, via handshaking of software tools used for these tasks (Software modeling tools, Project management tools, as well as Word and Excel files). 2) Simulation of the entire project's problem space subject to organization's policy and constraints in order to achieve best project planning in the given situation. For this purpose, a rule-based system, developed in this study, utilizes a simulation of entire project's problem-space, which is a Cartesian product composed of all system elements (as defined in the software modeling tool), and organization's policy, preferences and constraints, via a specific user interface (see Figure 1). Then the project manager can choose, by simple filtering, the appropriate planning, and the Gantt-chart and all plans' details are automatically exported to the Project Management tool.
Article Preview


The current study proposes a method for converting software project specifications, as defined by a software modeling tool or as any tabular representation (created by MS-Word or MS-Excel) into a Gantt chart, according to organization policy and constraints. The components of the specification and the organization policy are regarded as project's problem-space. A simulation of the Cartesian product, representing entire project's problem-space, enables the project manager to reach an optimal planning by filtering the best fitted alternative, and the Gantt-chart as well as all plans' details is automatically exported to the Project Management tool.

Visual software modeling techniques, such as Use-Case diagrams and Data-Flow diagrams, are commonly used to present the software specifications, while the Gantt chart displays their envisaged development process. The current study follows previous researches, in which specific methods were introduced for this conversion (Gelbard, Pliskin & Spiegler, 2002; Gelbard, Kantor & Edelist, 2008; Hang, 2011; Helming, David, Koegel & Naughton, 2009; Helming, Koegel & Naughton, 2009; Jia, Fuh, Nee & Zhang, 2007). However, in the previous studies, the model that was used for converting the software specifications into a Gantt chart was mostly technical in nature and ignored aspects such as the development methodology habitually used by the organization, the organization's policy on matters such as allocation of resources, and its constraints with regard to each specific development project. As a result, the Gantt chart obtained did not represent in full the process that was actually required to develop the target software. For the Gantt chart to serve as a development plan, it must take into account all the organizational aspects, mentioned above, and all possible combinations among these parameters (of the software and the organization as well).

In view of this, the goal of this research was to develop (i) a rule engine model that would represent the organizational aspects mentioned above, and apply it to the products of the technical conversion obtained with the existing conversion model. (ii) a simulation of entire possible combinations, filtering the most appropriate development plan (from the entire project's problem-space) and accordingly presenting the matched Gantt chart.

The rule engine is designed to translate organizational aspects, such as development methodology, resource allocation policy, and specific constraints regarding the certain development project, into a set of conversion rules. In turn, these additional conversion rules denote the order by which operations are carried out, recommend postponing or bringing forward certain operations and adding or withholding resources, and create dependencies. Once applied to the product of the original technical conversion, these conversion rules are able to produce a Gantt chart for a development plan, that would correspond to the specific characteristics of the organization as represented in the variables and rules defined in the rule engine.

To achieve automatic conversion of the specifications into a Gantt chart, subject to practices and constraints of the organization, the current research looks to resolve the following issues:

  • Define a rule engine that enables supporting a variety of development strategies (development methodology, resource allocation policy and specific constraints);

  • Set the order to be applied to the building blocks of the software specification once each development strategy component has been defined in the rule engine;

  • Define an evaluation mechanism to verify that the obtained development plan not only meets all the listed definitions and constraints, but also promises effective development.

Nowadays, various tools are commonly used in software development. Among them are project management tools such as PS-Next, Pro-Chain, and Microsoft Project, and various modeling tools, such as SAP Sybase Power-Designer. However, these different environments are not automatically integrated, and the users (development managers and software engineers) have to develop components of their own within their specific environments, without a common support environment. Setting up an environment of this kind is an innovative approach that has several advantages:

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2018): 2 Released, 2 Forthcoming
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing