NOV 12 1987 7 6^StWtNT• MODELING THE DYNAMICS OF SOFTWARE PROJECT MANAGEMENT TarekK. Abdel-Hamid Stuart E. Madnick September 1987 CISRWPNo. 163 Sloan WP No. 1935-87 Center for Information Systems Research Massachusetts Institute of Sloan School of Technology Management 77 Massachusetts Avenue Cambridge, Massachusetts, 02139 ^ MODELING THE DYNAMICS OF SOFTWARE PROJECT MANAGEMENT Abdel-Hamid Stuart E. Madnick Tarek K. September 1987 CISRWPNo. 163 Sloan * WP No. 1935-87 1987 T.K. Abdel-Hamid and S.E. Madnick Submitted for publication to the Communications of the Center for Information Systems Research Sloan School of Management Massachusetts Institute of Technology ACM • ? TTS-vii*^ ^^riM '\ l\W RtCE^gL MODELING THE DYNftMICS OF SOFTWARE PROJECT MANAGEMENT Summary development of software has been marked by the problems of cost poor reliability, and users' dissatisfaction late deliveries, which continue to persist in spite of the significant advances that have been made in the software engineering field to tackle the technical hurdles of software production. The objective of this paper is to enhance our understanding of, and gam insight into the general process by which software development is managed by integrating our knowledge of its multiple activities into an integrated continuous view of the software development process. The model is currently being used as an experimentation vehicle to study/predict the dynamic implications of an array of managerial policies and procedures pertaining to the management of software projects. The overruns, cost-effectiveness the number economical the estimate that applications continuously operation and is placing greater and greater demands for increase in record shows overruns, late [(Buckley and the demand for software has not, in deliveries, Poston, conservative (Musa, however, 1985). been painless. development of software has been marked by cost the that fl the demand for software each or a hundred fold increase between 1965 and 1985" growth made in the enormous expansion in of computer software systems, "tenfold a ar\ being which computing is becoming a feasible and for This in turn, solution. are computer hardware are causing of indicates This The of development decade, improvements impressive The poor 1984), reliability, (Ramamoorthy et and al., users' 1984), dissatisfaction and (Newport, 1986)]. In attempts and effort to bring discipline to the development of software systems, an have engineering significant been made since the early 1970s to apply the rigors of science to progress the software production process. has been made over the On the technology side, last decade, leading to the 2 of a large number of methodologies d»v»lopm«nt structured and compilers, diagnostic coding, verification, formal design, so language forth) structured programming, (e.g., design for more reliable address that many of the t*?t!Di?§i problems experienced in software development. evolution comparable fi [(Zmud, 1980) on the managerial front has not occured, however (Beck and Perkins, and 1983)]. Software engineering project management (SEPM) has not enjoyed the same progress the technology of software development). While it might be (as argued that SEPM has been defined, it is far from a recognized discipline ... The major issues and problems of SEPM have not been agreed on by the priorities for whole, and consequently, community as a computing addressing them have not been widely established. Furthermore, research in this area has been scant (Thayer et al., 1981). substantiated by a survey, reported in the same revealed that only a handful of U.S. which paper, is further position This universities offer courses in the area of software project management. "deficiency" in the field's research repertoire is being blamed by a This number growing difficulties meets in fundamental lack a that without address such of understanding Gehring, 1960), (Thomsett, 1960), and expressed is that, as of yet, we still the software development process, the and or likelihood of any possibility 1962) and 1963)]. paper the comprehensive use concern understanding an and gains on the managerial front is questionable [(Basili, significant This such [(Pooch chief P and practitioners for the B§CiiiiiD2f o^ our software that is on time, within budget, and that producing 1982)]. (Weinberg, researchers requirements user (McKeen, of a reports the results of an ongoing research effort designed to above concerns. mathematical model as Specifically, model it is our goal to develop a of the software development process and to a laboratory vehicle to study, gain insight into, and 2 make predictions about the software project management process. parts remaining the In dynamic integrative developed. arguments for presentation, our begin We present we and management project discuss the has been that will provide an overview of both the model's structure and its We behavior. software of model paper this of however, first by presenting the utility of such a formal dynamic modeling approach in the the study of software project management. Ibg_bi3b_Q9™Bi§><it^_2f_tbi_i9ftyi!2§_E!22Jf£t_M§nagement_Process management Project captured portrays model (1) resources project accomplished completion forecast remaining out be the on time job. loop completed IS adjustments What is simple. wield. But management? (6) date is (3) equipment). Ps (£) work is through some project control (4) project's in man-days) (e.g., the level of manpower working on the productivity as and the of the project team. difference, the (4) believed by management to forecast if any, The feedback between the completion date (5) causes in the magnitude or allocation of the project's resources. attractive It The to the current date the indicated time the project, (closed) completion scheduled 1981). (Roberts, Assessing the job's remaining time involves figuring perceived the and is reported adding by complete to project, and it the magnitude of the effort remaining 1 cumulate and are processed to create the reports Such system. in Figure facilities, (manpower, the project, on shown model work is accomplished through the utilization of project how based simpl istically on a "mental picture" is single-loop the by often therefore, is, it about an adequate the above model is that it is both reasonable a mental tool that is not too difficult to model for the dynamics of software project (5) SCHEDULED COMPLETION DATE (1) (61 PEOPLE i OTHER PROJECT RESOURCES RESOURCE CHANGE & ALLOCATION DECISION (2) WORK RATE REPORTED PROGRESS FORECAST COMPLETION •*DATE (3) (4) FIGURE (1) A MODEL OF SOFTWARE PROJECT MANAGEMENT 4 •oftw«r« project management system is Th» of fashions. environment, softwar* some excluding By that variables interdependant above the manager. could model interrelated aspects vital see how, To are far more complex conglomerate a of seriously the in various nonlinear real software project misguide the unsuspecting us consider some of the typical decisions let pondered in a software project environment. 6ddiD9 suggests the a direct rate resources the world on higher the has i§t§ § B!29Ji?t! The mental picture of Figure 1 relationship between adding people resources and increasing work of 1° Bi9Bii !!!2!2§ the the many led project, the higher the level of project i.e., work rate. Subscribing to this simplistic view of a software manager into serious trouble (Brooks, 1978). For example, one vital manager can afford software Figure known "Brooks' as project makes project, which productivity project Law", dynamics that no ignore is captured by the feedback loop of to leads to higher can in turn adding more people to a late software that i.e., later (Brooks, it often people project portrays some of the dynamic forces that create the phenomenon It 2. software of aspect 1978). fis the figure indicates, communication adding more and training overheads on the the project team's productivity. dilute Lower translates into lower progress rates, which would delay the late even further. This turn in could trigger an additional round of workforce additions and another pass around this "vicious cycle." Figure In link between 3a the we, therefore, workforce level amend Figure (and the 1 by incorporating the vital associated communication and training overheads) and productivity. ttli_i£!l!§dyii_2f_§_U§t§_E!!2J§9t' Another part of the real system ftdjusting ignored The by Figure attitudes and 1 is the human element motivations of in project actions and decisions. software developers and their managers. Product! Progress Rate vi ty Communication & Training Overheads (5^ Workforce Hi r 1 ng Fi S< qure Fin ng (2) EXAMPLE FEEDBACK LOOP ICNXSUUE CaiMITION bATI CKAJiCt RTOOLTICT 4 rtOfU. . 4 OTHtX PROJtn Msoinicrs ALLOCATION DICISIOK / / / / \ \ \ WORX RATI RZPORTri PkOCRtSS LATl (a) scMtDULi: conriXTiCM CAT! Kt%C'J!>'n aul(>:at:on \ CHAHOt FTCriE 4 OTHr« 4 dicieio fkZ^tn MiOL'RCEi \ tChODULI COrff JTICW ItATI rORICx£T PRODUCT! VI IT kiposrt: PKXRiss •^- (b> REFINEMENTS TO THE M3DEL OF SOFTWARE PROJECT MflN«GEMENT (CHXDULSC COnPLITION UTt n^Flt » OTHtR PfcCtCT RISOySCE' PRODUCT vir> I RiPCRTi: ntocust (c) SCMlDCLlr Curr.ITlO 'tC'l Lt i roMCAS- coruTiih* tATI Id; EiSyCi-lil iAfc/u;jkT (continued) i CTHrk s . the affect real and current estimates in the project, the schedules, of knowledge their that progress achieved, is all well as the progress and as problems that are reported upward in the organization. For behind falls 1978). (Ibrahim, on and by concentrating more on the essential tasks of the job one In experiment, Boehm (1981) found that the number of devoted to project work increased by as much as lOOX. Most of this man-hours gain faced with schedule pressures that arise as a project schedule, software developers typically respond by putting its hours longer in when example, by reallocating people's slack time by spending less time achieved was activities off-project such as personal business, coffee breaks, non-project commmunicat ion. This Figure link schedule Does this mean, 3b. adjusting between the then, pressure and productivity is captured in that software managers need not worry about schedule of a late project and should rely, instead, on simply maintaining the pressure on their project teams? to The impact the above visible roles. increase the the project of schedule pressures on software development is not limited relatively For direct role. Schedule pressures can also play less example, as Figure 3c suggests, schedule pressures can error rate of the project team and thus the amount of rework on [(Radice, 1982) and (Mills, 1983)3. People under time pressure don't work better, they just work faster ... In the struggle to deliver any software at all, the first casuality has been consideration of the quality of the software delivered (DeMarco, 1982). The the rework necessary to correct such software errors obviously diverts project team's effort from making progress on new project tasks, and thus can have a significant negative impact on the project's progress rate. Alto, rate contldtr (Figure 3c). tht impact of schedule pressure on the workforce turnover There is evidence to suggest that workforce turnover 6 increases when organization unreasonably (Freedland, tight scheduling can This 1987). situations persist quite costly, since be in a an higher turnovtr ratt tr«nil«t«i into low»r productivity on the project. Hoe EiD§ii^i manager back can succeed track on imperative development difference progress between is for that Before "5 software a lagging software project and bringing it adjusting is the schedule, etc., it of the magnitude of the delay be on target. an lack intangible of during product visibility achievement real error an (Figure real too the extent rate, accumulate This process. the To job. basically is a people, assessment the that is_a_Late_Sgftware_Proj.ect rescuing in adding by software But Late Bi§iiy can produce most a of the significant and the B§C£§iy§d progress on the the perceived progress rate differs from the real in perceived cumulative progress will gradually This undoubtedly poses yet another complication that 3d). software project manager to exclude from any model or the analysis of the process. 8_y§§^_f9!2_§D_l!l!ii9!2§*i^§_B§!!iB§?li^§_2f_Softwart_Devel^OBment above The Furthermore, another one behavior such of major has components of measurement, fashions. systems been the and there are a is number of that impact the software development Perhaps most importantly, complex large far beyond the but are related to understanding the capacity of human 1981). deficiency management total that these variables are not independent, in complex intuition (Roberts, ft illustrates both tangible and intangible, variables, process. discussion much of the research to date on software project in its inability to integrate our knowledge of the micro software development process such as scheduling, staffing socio-technical to system progress derive implications about the behavior of the in which the micro components are embedded " 7 1979). (Thayer, words the In phases individual attention on sequence, but the on little Jensen and Tonies (1979): "There is much of and functions of the software development whole lifecycle as an integral, continuous process. The perspective. process, second ft web management taken by Examples been through The integrative functions (e.g., planning, or modeling our approach is the use of the variables projects. thing involved in the development and Feedback is the process in which an action will eventually affect that person or thing. systems in the software project environment have feedback demonstrated in the above discussion and are evident in Figures 3. significance managerial (Roberts, an System Dynamics to structure and clarify the complex interacting software such of feature of person of already 1 unique of a such reviewing, testing). dynamically of provides as well as the software production-type activities (e.g., principles feedback paper management -type the both staffing) coding, this in integrates the multiple functions of the software development It including control, design, presented model systems and has applicabilty been For example, 1981). of substantiated the by feedback systems concept to a large number of studies Weick (1979) observes that, The cause-effect relationships that exist in organizations are dense and often circular. Sometimes these causal circuits cancel the influences of one variable on another, and sometimes they amplify the effects of one variable on another. the network of causal relationships that is It impose many of the controls in organizations and that stabilize or disrupt the organization. It is the patterns of these causal links that account for much of what happens in organizations. Though not directly these causal patterns account for more of what happens in visible, organizations than do some of the more visible elements such as machinery, timeclocks, ... of The third the computer distinctive aspect of our modeling approach is the utilization simulation tools of System Dynamics to handle the high a complexity of tven •ntlyiii, reasonably complex point! feedback The implications structures (Richardson and Pugh, describing portion For paper. Madnick, 1987a)]. of software projects; that is, once such as choice of programming language. is intended research behavior decided of a productivity intended project change model's otherwise mental time rather than throughout the constant how time yD^i!Z§t§!I}^iDS variables like why) rather and °^ *^b dynamic workforce-level than to and provide of the number of errors generated). the review, model developed based on field studies and a was a model is, by definition, a simplification. Thus value ultimately depends upon its ability to help us understand an overly model, the provide to (e.g., over although literature careful and This is particularly relevant because this accomplish. to E2i!2tzE!!§^i£ti2Di ^s. g., Fourth, and 1984) necessary to have a perspective about what the model is and primarily is (flbdel-Hamid, aspects that change during the remain then project, it C such as workforce level and productivity, project, are there are several the focus of this research is on Second, that not of real problems are often so the reader is referred to and the Third, isolated loops may be entire modal can be presented and explained in this th* of aspects a The behavior of due to its length and complexity First, details di;nami^cs of of the model and experiments performed, more (flbdel-Hamid IS model. 1981). that are important to clarify. A life feedback the behavior they generate over time can usually be traced only that Before dynamic the though obvious. by simulation the integrative of interconnected feedback loops often confounds common intuition and systems only resulting the a complex situation. Specific benefits are that unlike a System Dynamics simulation model can reliably trace through implications of a messy maze of assumptions and interactions, " 9 without stumbling over phraseology, emotional bias, dynamic integrative Our developed of basis the on battery a software of model or gaps in intuition. project management was 27 field interviews of software of managers in five software producing organizations, supplemented by an project extensive depicts database model's four Management Subsystem; (2) Controlling Subsystem; the findings empirical of and namely: subsystems, Software the (1) Production Planning the (4) the from literature. Figure 4 Human Resource the Subsystem; Subsystem. The (3) the figure also illustrates some of the interrelationships among the four subsystems. ThB_Human_Resource_Management_Subs^5tern: Human The assimilation, System in systems can Management Subsystem captures the hiring, training, and transfer of the human resource, conventions schematic The used Resource Dynamics represented is an 5. used in Figure 5 are the standard conventions models. be as shown in Figure in From terms a of System Dynamics perspective all "level," "rate," and "auxiliary" variables. ^ i§Y§i changes to that accumulation, or an integration, over time of flows or come into and go out of the level. The term "level" is intended invoke the image of the level of a liquid accumulating in a container. flows increasing WORKFORCE" is a below, and level of people that Thus, "NEULY HIRED is increased by the "HIRING RATE" and "WORKFORCE RSSIMILflTION RATE. decreased by the Rates and decreasing a level are called rates. The levels are represented as stylized valves and tubs, as shown further emphasizing the analogy between accumulation processes and the flow of a liquid. 1 / / / / PR03RESS STATUS ' / / ^ •VCRACE AvcniOC 0€l*t aSSIHIt. AllON eui'LOtutNi MlREOY Otl «» — o o HIRER! liUL ASIMDY ^ VVFNtW HI WLT MIHtO WOHKFOACt i Avi — S wrfxp flPCHlENCfO WONkFORCC aSlMRT OUITHI l»0*t»KJ«Ct ( NE WTRR NfWlT HtRCD IRANSflR RlIC \ ExPTRR \^. [ipcriEnCCD \l tR»Nif{M Hkll .-t)^ IRNSDT IHlNSKR DtL*t ouii RAie RAIE / IRNSOT T,^ o IR*NSFE.II V riou''e 5 MPT *FNf fO «0««fORCt ) 10 ^ LEVEL RATE The flows diff»r»ntly, that RfiTE are d«p»nding controlled the rates are usually diagrammed on the type of quantity involved. We will use the two by types of arrow designators shown below: INFORMftTION FLOUS OTHER FLOWS (e. g. fill , People) variables are either levels or rates, tangible flows are presently i.e., they are either flowing. Auxiliary accumulations of previous variables, the other hand, are information-type variables in the system, and on or capture things like concepts (e.g., the concept of a "WORKFORCE GPP") and policies (e.g., the policy for allocating "DAILY MANPOWER FOR TRfllNIING"). Auxiliary variables are represented by a circular symbol. 11 variables Finally, are that defined in other sectors of the model are represented by enclosing the variable name in parentheses as shown below. FROm\ /VORIfiBLE \ that the project's total workforce in Figure 5 is comprised of two Notice workforce Disaggregating employees necessary is productive the HIRED WORKFORCE" workforce for two reasons. these into First, and "EXPERIENCED categories two of newly added team members are the average) than the "old timers" (on Secondly, 1980). "NEWLY namely, levels, WORKFORCE." less ONOTHER sector/ (Cougar and Zawacki, allows us to capture the training processes involved in it assimilating the new members into the project team. On deciding consider be completion discussed believes would completion the stability the the hand tht even workforce of the project, the project managers fis is the current part of the planning subsystem management determines the workforce level that to complete In addition to this, of level desired, One important factor, of course, necessary Different general, changes total workforce. it the project within the scheduled however, consideration is also given to Thus, before adding new project members, typically contemplates the duration for which the new members will needed. one date later), be time. management be the number of factors. a scheduled (to upon with project though organizations weigh this factor to various extents. In relative weighing between the desire for workforce stability on and the desire to complete the project on time, on the other, the stage of project completion. th«r« the could time and For example, toward the end of b« considerable reluctance to bring in new people, effort perceived remaining might imply that more 12 «r» paopl* there wouldn't just mechanics the of reluctance This needed. enough be would time acquaint to integrate project, arise from the realization that the new people with the them into the project team, and train them in the necessary technical areas. Figure model. depicts It behavior 1983). demonstrates 6 model's the output that by (Abdel-Hamid, 198A). that proceeds towards workforce level NASA's was slippages were accepted peaks, That project to translated, as project's actual here the in differs literature, from i.e., behavior the "typical" the concave type and then drops back to lower levels as the project 1981). The reason why the to the completion of the DE-A software, overrode that management avoid before days 90 serious schedule Specifically, all software was required to be tolerated. not developed necessary the scheduling constraints. Because NASA's launch of the DE-A tied pressures is, (NASA, here shoots upwards towards the end of the project has to do frozen and the DE-fl software project system testing phase (Boehm, the tight satellite discussed as rises, to pattern workforce the pattern workforce from simulating the points in the figure), as is documented in detail in the that accurately quite (represented Notice resulted Appendix for more details on the DE-A project.) The model's the conformed r«»ulti with kinds of dynamic behaviors reproduced by the of one of NASA's software projects, (See curve the launch. the As this date was approached, workforce stability considerations. became increasingly willing to "pay any price" overshooting the figure indicates, the 90-day-before-launch date. This into a management that was increasingly Milling to add more people. The_Sof t war e_Production_Sub5y stem The four primary software production activities are: development, quality assurance, rework, and testing. The development activity comprises both the - — « r« r^ CI Oi ^ tl 3 3 3 3 u u u u ooo^ , ( 1 ) SCHEDULED COMPLETION DPTE (2) ESTIMOTED C'RDJECT COST IN MftN-DAYS C* O i—1— *A (% ^-" O O — "^ .^^s— ^Mi 1^ sC .-. o ,'^ ®' limn M C) bctuol fbqction op md on project UORKTORCE (PEOPLE) 100 200 DESICN- PiJkSE 300 CODING PHASE -T" 380 TESTING^ TIME (Davs) ^ ^ ® DE-0' s actual DE-P' s act ual DE-P' s actual D? VE "SrHEDULED CDMP'LETION DPTE "ESTIMPTED PROJECT ZOST IN MPN-DPYS" "WORKFORCE" (Full-Tirne Equivalent People) ( FIGURE 6 ! OUTPUT FOR MODEL OF NASA DE-fi SOFTWARE PROJECT 13 design of the software, coding and fls the software is developed, it is also structured walkthroughs) to detect any errors. Errors reviewed (e.g., detected through such quality assurance activities are then reworked. Not all errors using detected and reworked, however. Some "escape" detection until the get testing phase. The Software space limited overview this paper, rather but the total subsystem we Hill, of structure of Production Subsystem is too complex to fully explain in the of one subsystem's the of than provide just a high level instead, discuss in some detail the important components, the namely, structure that captures the dynamics of software productivity. model's The IS based, psychologist in productivity structure is depicted in Figure software part, Ivan on a Sterner model of (1972). group Steiner's productivity proposed 7. It by the model can simply be stated as follows: Octual Productivity = Potential Productivity - Losses Due to Faulty Process where losses due to faulty process basically refer to a group's communication and motivation losses. Paraphrasing Steiner (1972): Potential productivity is defined as the maximum level of productivity that can occur when an individual or group ... makes the best possible use of its resources (that is, if there is no loss of productivity due to faulty process) ... Potential productivity can be inferred from a thorough analysis of task demands and available resources, for it depends only upon these two types of variables. Actual productivity, what the individual or group does in fact accomplish, rarely equals potential productivity. Individuals and groups usually fail to make the best possible use of their available resources. Problems of coordination and/or motivation are responsible for inadequacies in process, and for consequent losses in productivity. 1 /WFEXP \ NPwPNE ^•OOUCTIVI T T - t «» NPWPEX /WFNEW \ o KHAUSTlON OtL*' •"»»£ EXMDDT 'pi I £XM_rv tlHAuStlON C* »<<OjtCT 1 I 'MOOTPO AFMDPJ 0' i M«S-DAT ON ••OjECT / '< pjBa*k •/. \ 0' JOB NC'v»vOT Ov{»«rO<»« '"•€SxO,.0 F 1 qu >- e 7 SOFTWftRE PRODUCTIVITY SECTOR -~-^ . 14 according Thus, sets effects Botential productivity 15 a function of two the of task and the group's resources. The of various factors belonging to these two sets of determinants on the productivity software of literature. siz* nature the factors, of Sterner, to These (examples availability development factors include task-type of software of have been widely investigated in the such as product complexity and database variables) and personnel capabilities and the development tools (examples of resource-type variables) Notice while that most organization to organization capability, and within project size, throughout a dynamic and from personnel project to product complexity, database (e.g., software tend would role. Thus, any of of this for one Bi!;ticul.ar project. discussion. It This means that in patterns of software productivity during the lifecycle dynamic Bitzticyiar life significant quite is the variables remain to which project, constant representing in our is and, concern here, the above therefore, would not play a the dynamics of software productivity the life of a software project such factors could be captured by a throughout single development the observation of characteristics) organization single factors would tend to vary from availability of software tools, (e.g., computer-hardware a above the programming language) they, however, would tend to remain constant and studying of invariant paramter. In our model this is termed the "NOMINfiL POTENTIAL PRODUCTIVITY" parameter. Not determinants all non-dynamic dynamic increases (Weinberg, nature. role in are EQliDtiii pi'oduct ivity are, however, of such a Two variables identified in the literature that do play a the project 1982)]. of workforce familiarity experience due to level learning (Chrysler, 1978) and [(Shell, 1972) and These dynamic variables are captured in Figure 7. 15 Due actual rarely in communication and motivation overheads, equals potential productivity. Communication ii th» drop in th» productivity of the average team member caused by losses of incurred losses productivity ov»rh»«d the the to the incurred in relationship investigated communicating with others on the project. The nature between several by communication authors. For overhead and team size has been example, it has been suggested that 2 communication overhead of the team [(Brooks, (Zelkowitz, proportion 1978), to n , where n is the size and (Shooman, 1983)]. same distinction mb made above between factors that remain constant the during of any one particular project and those that tend to change life the throughout in 1978), in understand the effects of motivation losses on productivity we need to To make increases the life of a project. literature the responsibility, organizational setting factors be would for possibility (e.g., and salary) Many of the motivational factors discussed growth and advancement, are factors that tend to characterize the overall climate. and implicitly formulation, such non-dynamic our In within incorporated the definition of the potential productivity parameter. On the throughout other the motivational to expand fraction goals and schedules play a dynamic motivational role hand, life of a software project. Boehm (1981) suggested that the role of schedule pressures and project deadlines is specifically or contract the project members' "slack time." Slack time is the of project time lost on off-project activities, e.g., coffee-breaks, personal business, and non-project communication. The impacts motivation of mechanism in the model captures such dynamic motivational schedule pressures pressures the fraction full-time team member "NOMINAL FRPCTION OF ft of to on daily "slack time." In the absence of schedule hours allocated (on the average) by a project-related work is captured by the parameter MftN-DftY ON PROJECT. " Several studies indicate that the 1& value to lies Gehring, and (Pooch 1378), value parameter this of within the 50-70X range [e.g., and 1980), implies that an employee allocates, the amounts to ^0% cut a an S-hour in potential on the average, For example, 0. 6 X 8 = 4. 8 schedule to both a hours productivity. of course, throughout the life of the project. The motivational effects constant of a &0-A Under such conditions, the loss day). lost In productivity du« to motivational factors does not, Th» remain (assuming project 1981)]. (Boehm, see (Brooks, pressures can push the "PCTyflL FRfiCTION OF ft ON PROJECT" MfiN-DfiY higher value (under positive schedule pressure) as well as a lower value (under negative schedule pressure). developers to what typically physically) continued the deficit, 1984), and and to bring the project back on (Ibrahim, 1978)]. rate. not based on our own field study results, answer, 1984). (fibdel-Hamid, employees long was Our findings indicate that there is a would willing be to work at an other words, workers need their slack time and they In tolerate a prolonged deprivation of such "breathers." slack time, therefore, exhausts them (psychologically more so than the in sense over-working. model interested Madnick, The how would Compressed in no for "above-normal" software up in a late project, build such a situation persists? Would workers be willing to work indefinitely'' threshold (DePree, 1981), if overwhelmingly perceived the for schedule [(Boehm, But pressures to work harder by compressing their slack time in an attempt tend compensate harder schedule positive When is reader 1987a).] [ft devoted should that it cuts into their tolerance level for significant portion of the productivity structure to refer handling these intangible dynamic forces. The to (ftbdel-Hamid, 1984) or (flbdel-Hamid and 17 dynamic behavior of the "ACTUAL FRACTION OF A MAN-DAY ON PROJECT" for The is depicted in Figure 6. the DE-A the end-of-development happens project need we started, "new" project's Figure (in To understand why this that when project DE-A 6) underestimated its true size by 45X. As the project had job tasks were discovered causing upward adjustments in the scope man-day the approached. is observe to first management developed, milestone Notice the "spike" that occurs as measured in man-days. As is typically the case, however, as adjustments made were not quite enough. This created a deficit in the project's man-day allocation which only became visible towards the end of the development when the development work was almost finished and phase the man-day budget was almost used up. As working track. man-day the harder translates This the the in model into the higher values of the "ACTUAL FRACTION OF A MAN-DAY ON PROJECT" as shown in Figure But as was explained above, maintain an exactly what above-normal work That 6. project teams are not, rate is, willing to On project DE-A this is indefinitely. the in general, persistence the of work backlog overwhelms the workforce's intensified efforts, and around day 300 eventually arrangements project happened. project's team reacted by hours in an attempt to bring the project back on longer and visible became deficit were deficit made with management project to handle the remaining through adjustments to both the project's man-day budget and its schedule. I!lli_Q2!2t!!9i_iyk§^5t.§!D made Decisions information is actually available information variables it Apparent in is represents. conditions may, any organizational available to inaccurate, The the i.e., information therefore, setting decision not are based on what «aker(s). Often, this identical may be late, to the primary biased, and noisy. be actually far removed from the actual IS or depending on the information flows that are being used and the true state, amount of time lag and distortion in these information flows. True variable true the needs to productivity that accomplished difficult true date to values and study measured team is a good example of a To know what the total amount of project work both expended. however, This, can be to evaluate because the software product remains largely intangible then, process. measured progress is corroborate findings progress, of resources the during most of the development How, project productivity is at any point in time in the project, one of the know software a often not knowable by members of the project. is value of especially in those the a software project? Our own field in reported earlier in the phases of literature, software that namely, development, is by the rate of expenditure of resources rather than by some count of accomplishments. example, For perceived budgeted would be expended; and when complete, etc. 50 a project as man-days being are for which a total of 100 man-days is 10% complete expended it when 10 man-days are would be perceived as 50?4 IS essentially impossible for the programmers to estimate the fraction What is A55C of a program? Worse yet, what is the program completed. A55C of three programs'" How is he to guess whether a program is ^0% or 30% complete'' The easiest way for the programmer to estimate such a figure is of time actually spent on the task to date by the to divide the amount time budgeted for that task. Only when the program is almost finished or is almost when the allocated time budget used up will he be able to recognize that the calculated figure is wrong (DeMarco, 1982). It of This surrogate for measuring project progress has some interesting implications on how management assesses the project team's productivity. progress in the tl), measured is earlier phases of software development by (call the rate of expenditure of resources, it When time period status reporting : 19 ends PERCEIVED "MftN-DfiYS conditions, more nothing being up than echo an of the original plan. STILL NEEDED FOR NEW TfiSKS" (MDPNNT) becomes, That is, under such equal to the "MPN-DfiYS PERCEIVED REMfilNING FOR NEW TASKS" simply (MDPRNT) = MDPNNT MDPRNT tl tl PERCEIVED "MflN-DPYS But (implicitly if REMfilNING" (TSKPRM) productivity, explicitly) the NEW value manager's the by value the to equal divided by i.e., That (PRDPRD). not FOR NEEDED STILL TfiSKS" (MDPNNT) is "TASKS PERCEIVED of notion of the team's "PERCEIVED DEVELOPMENT PRODUCTIVITY" of is, MDPNNT = TSKPRM / PRDPRD tl tl tl Substituting MDPRNT for MDPNNT, we get MDPRNT = TSKPRM tl / PRDPRD tl tl which leads to, PRDPRD = TSKPRM tl This IS measure would progress TASKS" interesting result. divided (TSKPRM) (MDPRNT). tasks remaining by they, by so doing, their productivity equals "TfiSKS PERCEIVED the "MfiN-DftYS PERCEIVED REMfilNING FOR NEW What makes this interesting is the fact that such an assumed productivity for MDPRNT by the rate of expenditure of resources, i!5Eiicitl_^ assuming that be REMfilNING" value an / tl tl For, it suggests that as project members and solely is a function of future projections (i.e., remaining man-days) as opposed to being a reflection of accomplishments (i.e., completed tasks and expended resources). This implicit notion of productivity is captured in the model by the variable "PROJECTED DEVELOPMENT PRODUCTIVITY" (PJDPRD), defined as, PJDPRD = TSKPRM At th» projtct «dv*nc»« / toward! MDPRNT it» final stages, and accomplishments 20 become to relatively more visible, perceive perceived IS productivity determined "PERCEIVED t»«m'« productive how I'h the TfiSKS workforce basis of actual a result, fts accomplishments. That approaches PRODUCTIVITY" DEVELOPED" has actually been, function of projected productivity and a PRODUCTIVITY" DEVELOPMENT MON-DflYS EXPENDED" ThUi on DEVELOPMENT "CUMULATIVE the ceases to be instead "flCTUftL project members become increasingly more able (CUMTKD) the (fiCTPRD), divided is, value of the project i.e., the value of by the value of "CUMULATIVE (CUMDMD). Ihi final ttAgtl of a toftwart projtct PRDPRD (call it time period t2), ACTPRD > t2 t2 where, flCTPRD = CUMTKD To recapitulate, DEVELOPMENT PRODUCTIVITY" projections (i.e., on project, explicitly One other hand, the about progresses. "infamous" It is phases development, of "PERCEIVED implicitly determined on the basis of future tasks man-days). Towards the end of the and basis of productivity, however, consequence the early CUMDMD "PERCEIVED DEVELOPMENT PRODUCTIVITY" gets to be the on their The change, discussion. is ri!!!§iDiD9 determined assumptions the in / accomplishments. actual therefore, change as the People's project is typically gradual not abrupt. of this error in perception deserves some "90* syndrome phenomenon." Baber (1982) provides the following description of the problem: ... estimates of the fraction of the work completed (increase) as originally planned until a level of about 80-90S is reached. the programmer's individual estimates then increase only very slowly until the task is actually completed. There syndrome is ample evidence in in the literature on the software development projects (DeMarco, pervasiveness of the SOX 1982). Its manifestation 21 project is depicted in Figure in the in the earlier phases of the project by the rate of expenditure of resources, simulated status plan. reporting This created resources are accomplished apparent, "illusion" the that project was right on target. the same the appreciation progress Thus, the of amount percent tasks of became increasingly able to effort of started it to, in actually remaining, effect, fls this discount the project's although the project members proceeded towards the final project progress net the workforce has actually been. This results in a the the of developed, rate. between members project time, productive how discrepancies percent of resources expended became increasingly more the appreciation stages being nothing more than an echo of the project's up consumed), and flt perceive their ended By measuring progress 8. as the project approached its final stages (e.g., when 80-90* of the However, better DE-fl at high work rate because of schedule pressures, a slowed down considerably. This continued until the rate project completed. It!§_Bi§DDiC3_iybs^5tern completion project's schedule, By of the or staffing do For plans a then example, can little to be of estimates <e. g. , for man-days) are made at the beginning of the load, are project initial revised, handle revised both. necessary, as a project that to more add throughout the is perceived to be people, extend the The Planning Subsystem is depicted in S. dividing the value of "MAN-DAYS REMAINING" effort REMAINING" would Subsystem, estimates life. schedule, Figure time, These project. behind Planning the In a still manager remaining) can at determine (a measure of the magnitude any point in the project, by the "TIME the "INDICATED WORKFORCE LEVEL. " This represent the workforce size believed to be necessary and sufficient to 75 50 r 25 200 100 300 TIME FIGURE 8 REPORTED v. OF WORK COMPLETED OVER TIME 380 , ' 1 \ / CtlLlNC ON "^ T01*L W0<««FWCI \ ^ 22 complete date. of simply is true, the has as hiring level been on the For are project, excessive employees would If on the other hand, the opposite project, not the in Human determined Resource only on the Management basis of Consideration is typically given to the stability organizations Different example, DE-ft explained decisions considerations. workforce. extents. ifi on the currently scheduled completion based then this would indicate a need to add more people. •ch»duling NPSft' s time transferred out of the project. be Subsystem, the workforce actual However, of on indicated workforce size turns out to be lower than the value this If the project the workforce weigh stability this factor to various had relatively little weight in Such organizational differences are captured as we saw. by th« policy variable termed "WILLINGNESS TO CHANGE WORKFORCE MOdtl LEVEL," and whose form is organization-specific. By the dividing the value of the "WORKFORCE LEVEL SOUGHT" above REMftlNING, to of set " complete factors management the is contemplated) determines the time project. Once this, it (that emerges after into the value of the "MflN-DfiYS perceives to be still required in turn, is known, it can be used to adjust the project's "SCHEDULED COMPLETION DATE," if necessary. Referring inclined not back development the project, is Figure 6, notice how project DE-0' s management was to adjust the project's scheduled completion date during most of the behavior to phase were of the project. instead not atypical. made It to arises, Adjustments, the project's in the earlier phases of workforce level. This according to DeMarco (1982) because of political reasons: Once an original estimate is made, it's all too tempting to pass up subsequent opportunities to estimate by simple sticking with your previous numbers. This often happens even when you know your old estimates are substantially off. There are a few different possible explanations for this effect: It's too early to show slip ... If I re-estimate now, risk having to do it again later (and looking bad I twice) ... As you cart see, all such reasons are political in nature. 23 discussion this With overview interested reader, mathematical and 198A) a model's the of presentation the model's Planning Subsystem we conclude our of structure and behavior. For more detailed description of the model's structure, formulation, and of its validation is provided in (fibdel-Hamid and Madnick, [ the its (fibdel-Hamid, 1987a)]. It}i_?!!9d§i_§i_i!l!_E>lB§!2i![l§Dl§ti9!J_yibiQi§ Many for authors have argued for the desirability of having testing ideas and hypotheses in software engineering a (Thayer, Weiss (1979) commented that in software engineering example, laboratory tool it 1979). For is remarkably easy to propose hypotheses and remarkably difficult to test them. The simulation tools of System Dynamics provide us with such an computer experimentation vehicle to test ideas and hypotheses relating to the software management project environmental factors systems, effect factors of the The process. can of effects to various events (Forrester, model and unlike the real Internally, the model provides complete control the system's organizational structure, the assumptions changing one factor can be observed while all other are held unchanged... Currently, different In the model system, tested. be of its policies, and its sensitivities 1961). is being used as an experimentaion vehicle to study and predict the dynamic implications of managerial policies and procedures on the software development process in areas such as: scheduling, control, quality assurance, and staffing. Three types of results are: ! yDSO^iCiDfl ESliQiti- ^^ practices particular organization, to come and (ftbdel-Hamid scheduling model up £9Dlf9y§D£i§ dil§fyD£iiQD§i in with a Madnick, major U.S. 1986) 9f S95!§ SyCCSDli^ S^ogted we investigated the project minicomputer manufacturer. In the software project managers use Boehm' s (1981) COCOMO initial project estimates, which are then adjusted 24 using upwards judgmental a factor" come to up with the project The purpose of the experiment was to investigate the actually used. estimates "safety implications of this safety factor policy. demonstrated results The project." That different initial different in pattern, productivity). pressures and project. o. addition, in "creates" are. It IS clear that EHQYi^lDS a completion time, workforce schedule project's creates ECS^idiDS that be reject the notion that a new software adequately judged strictly on the basis of estimates historical projects. it §yEE2!2t_f2!2_!!!§D§Si!2iii_^§?iii2!I!_[!!§hiD9' adding 1978). should can tool (Qfi) is manpower Since ^^ <fibdel-Hamid and is used to analyze the economics function and to support the selection of the Qfi. iDSistlts examined we is, needs to be judged on how costly the projects it estimation D§y fin both the software manager as well as the student of Assurance Quality necessarily a better estimate, be judged not only on how accurate it we reported on how the model 19fl7b) phenomenon is not should optimal investment level in (Brooks, because is estimate method it Madnick, states in terms of the actual This accurate more ft how accurately 3. the outcomes would be significantly The implications of this are: estimation the were conducted twice using two project perceptions that significantly affect how people behave on the software of different schedule creates a different estimations, nature (e.g., but, £. "a software a schedule estimation o. if is, how iDt.2 "Brooks' to a i2fty*I!i Law" late B!22Jf£t (fibdel-Hamid, software its "enactment," Brooks' BtlfD2!D§D§- 1987). project ^^^ such Brooks' Law makes it later Law has been widely endorsed 25 the in for programming-type systems large Furthermore, literature. and it projects and applications-type projects, this wide-spread endorsement of Brooks' Interestingly, small. has often been endorsed indiscriminately both Law has taken place, even though the "Law" has not been formally tested. Our objective Brooks' law projects. late the to The in this experiment Mas to investigate the applicability of environment of medium-sized application-type software experimental results showed that while adding more people to a project this of type does cause it to become more costly, always cause caused by the increased training and communication overheads, decrease in cost in does not The increase in the cost of the project is productivity the of which in effect workforce and thus increase the For the project's schedule to also suffer, man-days. productivity the must be severe enough and late enough in the project's to render an additional person's net cumulative contribution to the lifecycle project to complete later. average the project's drop it it to indicate be, that acquisition in effect, negative contribution. Our experimental results happens this policies a and only where under extremely management's aggressive willingness manpower to add new staff members persists until the very final stages of the testing phase. Summary: The tremendous decades two deliveries, of has not been, in the demand for software systems over the last for many organizations, a painless one. The record that the development of software has been marked by cost overruns, shows set growth poor reliability, and users' late dissatisfaction. Some refer to this of difficulties as the "software crisis." These problems persist in spite significant software engineering advances made over the last decade to tackle the technical, hurdles of software production. In recent years, the managerial aspect of software development has gained 26 r«coQnition with bting at th» corm of both the problem and the solution, «• understanding fundamental serious the is the of and belief legitimate concerns have been that software as of yet we still development process, lack a and that an understanding the likelihood of any significant gains on the such without them among Chief raised. though, recognition, this fllorig managerial front is questionable. objective The enhance which understanding our software integrative complements focus on and integrating of the model, predict is been this, we developed an of the software development process. The current research efforts, which tend to programming, (1) fin productivity) overview of the four human resource management, as an experimentation implications of an being pertaining have achieve these micro-components into an integrated of namely, this paper is to (2) planning, software production was presented and discussed. (4) dynamic the procedures results and model To of the software development process, subsystems in gain insight into the general process by upon knowledge our view The reported micro-components (e.g., scheduling, the control, project managed. model builds continuous (3) in Dynamics System and of development model by research the of to used management the obtained in areas array of such vehicle to study and of managerial policies and software projects. Important as understanding the impact of schedule estimation and manpower adjustments on actual project performance. 27 BEPiNDix The Section of design, data conducted at the Systems Development Goddard Space Flight Center (GSFC) at Greenbelt, Maryland NfiSfi' s 1979/1980 time period. The basic requirements for the project were to the in was project software DE-fl and implement, would and test provide a software system that would process telemetry attitude determination and control for NfiSfl' s DE-R satel lite. development The -75. and target operations machines were the IBM S/360-95 and programming The language was mostly FORTRfiN. Other project statistics include: o Project Size o Cost (in Delivered Source Instructions) 24,000 DSI (for design through system testing) initial estimate 1,100 man-days actual 2,220 man-days o completion time (in working days) intial estimate 320 days actual 380 days 2S BIBLIOGROPHY 1. T.K. "The Dynamics of Software Development Project fln Integrative System Dynamics Perspective." Unpublished Management: Ph.D. dissertation, Sloan School of Management, MIT, January, 1984. fibdel-Hamid, 2. T.K. "The Dynamics of Software Project Staffing: fi System Obdel-Hamid, Dynamics Based Simulation Approach." Accepted for publication in IEEE_Transact ion5_on_Software_En9ineeri!D3» 1987. 3. flbdel-Hamid, and Madnick, T.K. S.E. "Impact of Schedule Estimation Software Project Behavior." IEEE_Software, 4. ftbdel-Hamid, Englewood and T.K. New Cliffs, (July, on 1986). Software Project Management. Madnick, S.E. Jersey: Prentice-Hall, Inc., to be published in 1987a. 5. T.K. and Madnick, S.E. "The Economics of Software Quality ft System Dynamics Based Simulation Approach." Accepted Pssurance: for Publication in Ihe_BDD§i§_2f_ttl§_i2£i§ti_2f_U23iiii£i_in3i!!5i§nij. flbdel-Hamid, 1987b. 6. 7. Software R. L. Baber, Company, 1982. Basil 9. 10. Mass., Nov., 13. North Holland Publishing 1982. and Perkins, T. E. "A Survey of Software Engineering Practice: Methods, and Results." IEEE IraQsactions on Software iDaiD§ering, Vol. SE-g, No. 5, (Sept., 1983). Software_Engineering_Economics, Englewood Cliffs, New Jersey: Prentice-Hall, Inc., 1981. Boehm, B. W. Brooks, F. P. The Buckley, F. , Mi:thical 1978. and Poston, R. iofty§!;§_i!29in!§?!2i!2'9i 12. York: Beck, L. L. Tools, Publishing Co. 11. New V. R. "Improving Methodology and Productivity through Practical 1, Measurement." ft lecture at the Wang Institute of Graduate Studies, Lowell, 8. Reflected. M§D Month. Reading, Mass: Add i son-Wesley "Software Quality Assurance." IEEE_Trans^_on (January, 1984), 36-41. "Some Basic Determinants of Computer Programmer Productivity." Communications of the ACM, Vol. 21, No. 1978), 472-483. Chrysler, Cougar, E. J. D. 6, (June, and Zawacki, R. A. Motivating_§nd_Managing_ComButer New York: John Wiley & Sons, Inc., 1980. E§!2iQ!2D§i' 14. DeMarco, T. 1982. Qontrol^l^ing_Softw§re_ProJ5cts. New York: Yourdon Press, Inc., 29 15. DePree, R. W. 1984), 16. Forrester, "The Long and Short of Schedules." Datamation, 131-134. J. W. Industriai_Dynarnics. (June 15, Cambridge, Mass: The MIT Press, 1961. 17. Freedland, M. 1987, 15, "What You Should Know Obout Programmers." Datamation, pp. 91-102. March "Software Development Information System." JQurnal_of R. L. S^stems_Management, (Dec, 1978), 34-39. 16. Ibrahim, 19. Jensen, and Tonies, Prentice-Hall, R. W. N. J. : C. C. Software_Engineerir!g. Englewood Cliffs, Inc., li79. 20. McKeen, J. D. "Successful Development Strategies for Business Application Systems." MIS_Quarterl^, Sept., 1983. 21. Mills, 22. Musa, J. D. "Software Engineering: The Future of Software, January, 1985, 55-62. 23. NflSfl. "Software Development History for Dynamics Explorer (DE) Attitude Ground Support System (fiGSS)." GSFC Code 580, June, 1983. 24. Newport, H. D. John 1986, 25. Software_Productivit^. Canada: Little, Brown P. Jr. "fl ft & Co., 1983. Profession." IEEE Growing Gap in Software." Fortune, fipril 28, 132-142. and Gehring, P.F. Jr. "Toward a Management Philosophy for Development. " In 8^^§D£i§ ID Q°!!!Byt§!2 E!229!2i!!!!Di!l!S Edited by T.fl. Rullo. Philadelphia, PO: Heyden & Sons, ?!iDi9i[0§Dl« Pooch, U. W. Software Inc., 1980. A. "Productivity Measures in Software." Ihi_Economics_of information Eizocessingi §12^ SofiyiCi QBi!!§ti2Dii. E!!93!!§!!![!!iDaj Volume II. Edited by R. Goldberg and H. Lorin. New york: y9dii§' John Uiley & Sons, Inc., 1982. 26. Radice, 27. Ramamoorthy, C. V. et al. "Software Engineering: Problems and Perspectives." Computer, Oct., 1984. 26. Richardson, G. P. and Pugh, G. L. III. lDt!!Qduction_to_S^stern_D^n«tnicB ysdSiiDS-Bittl-DyQimo. Cambridge, Mass: The MIT Press, 1981. 29. Roberts, E. B. (ed. ). Manageriai_9EEii2§ti2Di_2f_S^StSS_Q^SQliE§Cambridge, Mass: The MIT Press, 1961. 30. Shell, 31. Shooman, M. L. Software_Engineering_-_D?sign,__Reiiabiiity_and_Managemen^ N«M York! McGraw-Hill, Inc., 1963. "^ R.L. "Work Measurement for Computer Programming Operations." lDdustriai_Engineering, (Oct., 1972), 32-36. 30 32. Steiner, I.D. Grgug_Prgce55_and_Product ivit^. New York: Ocademic Press, 1972. 33. Tausworthe, R. C. StandardizedDevelogment _gf _Comguter_Sgftware. Prentice-Hall, Inc., 1977. Cliffs, N.J. Englewood : "Modeling a Software Engineering Project Managaement R. H. dissertation, University of California, System." Unpublished Ph.D. Santa Barbara, 1979. 34. Thayer, 35. Thayer, R. H. et al. "Major Issuas in Software Engineering Project Management. " iiii l!!§D§§?ii9D§ 9D_S2ftware_Engineeri.ng, Vol. No. A, July, 1981. 36. Thom»»tt, R. Peggl^e_Pro^ect_Manageraent . New York: Yourdon Press, SE-7, Inc., 1980. 37. Weick, K.E. The_Sgcial_Ps^chglgg^_gf _Organizat ign. 2nd edition. Mass: Add i son-Wesley Publishing Co., Inc., 1979. 38. Weinberg, G. M. ynderstanding_the_Profe5Si_onal__Prggrammer. Brown & Co., Inc., 1982. 39. Weiss, 40. Zelkowitz, Boston: Little, D.M. "Evaluating Software Development by Error Analysis." Journal. of_Systems_and_Sgftware, Vol. 1, 1979, 57-70. M. V. iyr:v§i:s, 41. Reading, Zmud, R.W. "Perspectives on Software Engineering." Comguting Vol. lO, No. 2, (June, 1978). "Management of Large Software Development Efforts." M^S Vol- •*» No. 2, June 1980, 45-56. QyiCtir:!^. •.v:3ST5:-.. 5261 85