Article Preview
TopIntroduction
Software projects still have a low success rate in terms of reliability, meeting due dates and working within assigned budgets (Smith, 2002; Yeo, 2002; Royal Academy of Engineering, 2004). Factors, which determine successful project management (Abdel-Hamid & Madnick, 1989), may be related to technical production processes, time scheduling in a dynamic environment and individual differences in project managers, members and team processes. Capers Jones (1996) has estimated that such projects only have a success rate of 65%. Projects may be considered as a system in which demands are made (the requirements) and an internal project organisation, is controlled to produce the software goals, while being disturbed by the external environment.
The cost of such disasters such as the UK National Air Traffic System, Health Service computerisation and the London Ambulance Service computerisation is high in both money and human terms.
Despite these failures significant progress has been made in the use of System Dynamics methods to describe the operation of software projects (Rodrigues & Bowers, 1996). Other workers such as Lin and Levary (1989) describe computer aided software design using System Dynamics, expert systems and a Knowledge based management system used in the design of a space station. More recently Häberlein (2004) has discussed the common structures involved in SD models. He contrasted the Abdel–Hamid model, which uses tasks completed with an approach based on requirements. Although we do not use this here the idea has considerable merit as the Abdel-Hamid approach has difficulty including requirements phases. His approach would be more suitable to use when modelling agile methods for example. This point was made by him in referring to the universality of the model. Rodrigues and Bowers (1996) and Lyneis and Ford (2007) have established the role of System Dynamics in project management, pointing out the dominating effect of rework and the way factor such as quality or productivity affects project performance.
The models of operation of the software development process were described by the successful System Dynamics (SD) models of Abdel-Hamid and Madnick (1991), which set up equations relating levels such as the number of perceived errors, or the number of reworked errors and relates them to rates such as the error detection rate or the rework rate, significant features of these models included the decision processes. These models were validated against NASA project data for a medium size project and the agreement is strikingly good. The SD model structure is highly non-linear with a number of theoretical assumptions, for example about how the errors in the coding are propagated. These structural assumptions do not allow for System Dynamics models to enable any general rules to be developed by academics to allow managers to make sound judgments based on good analysis. The distinction with models of inventory processes, which are related, is the rationale for this research programme. Early SD inventory models developed by Forrester (1961) were also non-linear and contained a number of factors, such as employment rate, that made the problem too complex for simple rules to be developed. Towill’s group at Cardiff (Disney & Towill, 2002) and others devised linear control system models to enable operational rules to be investigated and optimal solutions to be found as well as stability margins to be obtained (White & Censlive, 2006). Part of the simplification of the Project Model is being tackled in the USA by the newer control system models of software testing (Cangussu et al., 2002) and the approach to control by White (2006). The whole purpose of this research application is to develop simple control system models of the project development process, as in inventory analysis, and obtain rules for stability. This should include the newer evolutionary and agile Project Management methods of Gilb (2005) and others.