Integrating Software Engineering and Costing Aspects within Project Management Tools

Integrating Software Engineering and Costing Aspects within Project Management Tools

Roy Gelbard (Bar-Ilan University, Israel), Jeffrey Kantor (Bar-Ilan University, Israel and University of Windsor, Canada) and Liran Edelist (Bar-Ilan University, Israel)
Copyright: © 2009 |Pages: 14
DOI: 10.4018/978-1-59904-845-1.ch059
OnDemand PDF Download:
$37.50

Abstract

This study proposes and prototypes a model that integrates these three aspects of software projects by automatically mapping SE objects and accounting–costing objects into PM objects. To validate the feasibility of the model and without loss of generality, it is demonstrated using former research platform focused on conversion of data flow diagrams (DFD), which are actually full enterprise set of use cases diagrams reflecting entire system-software project into Gantt charts.
Chapter Preview
Top

Introduction

Currently, there is no integration among CASE tools (computer aided software engineering, also named AMD tools, analysis modeling and design), costing tools, and project management (PM) tools. Not only are there no integrated tools, but there is also no conceptual integration among software engineering (SE) aspects and accounting-costing aspects of software projects within PM tools. PM tools, as well as costing tools are used not only for tracking and controlling an ongoing software project, but also at the very beginning stages of the project, in which critical estimations concerning budget and time frame are made. In order to have a firm, robust, and accurate planning, project planning should be based directly upon raw SE components-objects, that is, upon analysis and design components-objects.

According to the Standish Group CHAOS Report 2003, each year in the USA there are approximately 175,000 projects in IT Application Development which spends $250 billion. Among these, 31.1% of projects will be cancelled, 52.7% of projects will cost 189% of their original estimates, only 52% of required features and functions make it to the released product, and Time overruns 82%. In financial terms $55 Billion dollars is wasted in these projects (Madpat, 2005).

Budget overrun indicates cost management problems, although this area is defined by the project management integration (PMI), as one of the nine core activities of projects management. Costing difficulties result from both implementation limitations of costing solutions in complex and changing requirements as well as the technological environment. Risk management is also defined by the PMI as one of the nine core areas of project management; but there is also no integration between PM tools and SE tools in light of the need for risk management.

According to Maciaszek and Liong (2005), success of a software project depends on five software engineering areas that are related to each other: the development of the life cycle of the software, processes management, the model’s configuration and language, and SE tools and project planning. The combining between formal tools of SE and PM processes in the different stages has been proved by research as holding a positive contribution to the efficacy of the project and as an improver of the adherence to costs, technical requirements, and the schedules that were allocated to the project (Barker & Verma, 2003).

This study proposes and prototypes a model that integrates these three aspects of software projects by automatically mapping SE objects and accounting–costing objects into PM objects. To validate the feasibility of the model and without loss of generality, it is demonstrated using former research platform focused on conversion of data flow diagrams (DFD), which are actually full enterprise set of use cases diagrams reflecting entire system-software project into Gantt charts.

Key Terms in this Chapter

UML (Unified Modeling Language): A standardized visual-graphical notation gathering together diverse modeling diagrams, which are required in order to define entire software system aspects. UML is officially defined at the Object Management Group (OMG) by the UML metamodel, a meta-object facility metamodel (MOF).

COCOMO (Constructive Cost Model): An estimation method used to assess the human effort required for software development, which was first introduced in 1981, and since then several modifications were made in order to suit fourth generation languages, decrease in hardware costs, increase in QA levels, and advanced and agile development methods. The current version, COCOMO 2.0 (Boehm et al., 1995), is not based upon line of codes but on four submodels that match a spiral approach of software system development that are applied according to the stage of system life cycle.

Activity Based Costing (ABC): A cost prediction model that has greatly improved the ability to predict a proper allocation of indirect costs among several activities and thereafter between many products. Before using this model, one has to appreciate and understand the overall business (including its production and marketing). The model is not always applicable: a cost-benefit analysis is necessary before a final decision is made.

Gantt Chart: A popular type of bar chart that illustrates a project schedule. Gantt charts illustrate the start and finish dates (ES, EF, LS, LF) of entire project elements. Project elements comprise the work breakdown structure (WBS) of the project. Gantt charts also show the dependency (i.e., precedence network) relationships between activities. Gantt charts can be used to show current schedule status using percent-complete shadings and a vertical “Today” line.

Target Costing: A cost prediction model that suits an engineering framework in which there are several engineering activities which take place simultaneously. It is utilized as a means for costs strategic management. The idea behind the method is that a product’s cost must be based on the sum that can be received for it in the market. It is therefore the development costs which should be the basis for the quantity and mode of investment in the development rather then the development’s outcome.

Function Points: An estimation method used to assess the human effort required for software development, which was first introduced in 1979. Method objective is to assess the software system’s size while using the user’s requirements without direct dependence on the technological realization. It is calculated in three steps using the quantity and complexity of the functional components and the system attributes.

CASE/AMD Tools: Software tools (Computer Aided Software Engineering), also named AMD tools (Analysis Modeling and Design), to assist entire System Life Cycle (SLC), including analysis phase, design phase, testing phase, and even maintenance phase. CASE/AMD tools support the fuctional analysis phase using visual modeling notations, which can automatically convert into code.

Modeling Languages: Visual-graphical notations used to express functionality, processes, structures, behavior, as well as technical aspects of a system. Modeling languages are defined by a consistent set of rules, which are used for interpretation of those graphical symbols. Among modeling languages, in the software domain, there are data flow diagrams, used for hierarchical functionality decomposing; process diagrams, used for business processes modeling; entity relation diagrams, used for data structure modeling; and state transition diagrams, used for behavior modeling.

Complete Chapter List

Search this Book:
Reset