skip to main content
Skip header Section
Software project dynamics: an integrated approachJanuary 1991
Publisher:
  • Prentice-Hall, Inc.
  • Division of Simon and Schuster One Lake Street Upper Saddle River, NJ
  • United States
ISBN:978-0-13-822040-2
Published:03 January 1991
Pages:
264
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Luna-Reyes L and Harrison T (2023). An Enterprise View for Artificial Intelligence Capability and Governance: A System Dynamics Approach, Digital Government: Research and Practice, 5:1, (1-23), Online publication date: 31-Mar-2024.
  2. Liu B, Zhang H, Ma W, Li G, Li S and Shen H (2023). The Why, When, What, and How About Predictive Continuous Integration: A Simulation-Based Investigation, IEEE Transactions on Software Engineering, 49:12, (5223-5249), Online publication date: 1-Dec-2023.
  3. Klünder J, Kortum F, Ziehm T and Schneider K Helping Teams to Help Themselves: An Industrial Case Study on Interdependencies During Sprints Human-Centered Software Engineering, (31-50)
  4. Akerele O (2018). System dynamics modelling of the impact of agile practice on the quality of continuous delivery projects, Innovations in Systems and Software Engineering, 14:3, (183-208), Online publication date: 1-Sep-2018.
  5. ACM
    Lavazza L, Morasca S and Tosi D Technical debt as an external software attribute Proceedings of the 2018 International Conference on Technical Debt, (21-30)
  6. Franco E, Hirama K and Carvalho M (2018). Applying system dynamics approach in software and information system projects, Information and Software Technology, 93:C, (58-73), Online publication date: 1-Jan-2018.
  7. ACM
    da Cunha J, da Silva F, de Moura H and Vasconcellos F Towards a Substantive Theory of Decision-Making in Software Project Management Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
  8. Stylianou C and Andreou A (2016). Investigating the impact of developer productivity, task interdependence type and communication overhead in a multi-objective optimization approach for software project planning, Advances in Engineering Software, 98:C, (79-96), Online publication date: 1-Aug-2016.
  9. ACM
    Barros M and Araujo L Learning Overtime Dynamics Through Multiobjective Optimization Proceedings of the Genetic and Evolutionary Computation Conference 2016, (1061-1068)
  10. ACM
    da Cunha J, da Silva F, de Moura H and Vasconcellos F Decision-making in software project management Proceedings of the 9th International Workshop on Cooperative and Human Aspects of Software Engineering, (26-32)
  11. ACM
    Gao C, Zhang H and Jiang S Constructing hybrid software process simulation models Proceedings of the 2015 International Conference on Software and System Process, (157-166)
  12. ACM
    Jiang S, Zhang H, Gao C, Shao D and Rong G Process simulation for software engineering education Proceedings of the 2015 International Conference on Software and System Process, (147-156)
  13. ACM
    Gao C, Jiang S and Rong G Software process simulation modeling: preliminary results from an updated systematic review Proceedings of the 2014 International Conference on Software and System Process, (50-54)
  14. ACM
    Sahaf Z, Garousi V, Pfahl D, Irving R and Amannejad Y When to automate software testing? decision support based on system dynamics: an industrial case study Proceedings of the 2014 International Conference on Software and System Process, (149-158)
  15. ACM
    Trimble J and Keeling H Comparative paradigms in the examination of software production Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference, (341-346)
  16. Spasic B and Onggo B Agent-based simulation of the software development process Proceedings of the Winter Simulation Conference, (1-11)
  17. Rich E and Nelson M (2012). Understanding the Context of Large-Scale IT Project Failures, International Journal of Information Technologies and Systems Approach, 5:2, (1-24), Online publication date: 1-Jul-2012.
  18. Shukla R, Shukla M, Misra A, Marwala T and Clarke W Dynamic software maintenance effort estimation modeling using neural network, rule engine and multi-regression approach Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IV, (157-169)
  19. Raffo D Process simulation will soon come of age Proceedings of the International Conference on Software and System Process, (231-231)
  20. Zhang H Simulation modeling of evolving software processes Proceedings of the International Conference on Software and System Process, (228-230)
  21. Houston D Research and practice reciprocity in software process simulation Proceedings of the International Conference on Software and System Process, (219-220)
  22. Zhang H Special panel: Software process simulation--at a crossroads? Proceedings of the International Conference on Software and System Process, (215-216)
  23. Houston D Elements of a generalized duration forecasting model of test-and-fix cycles Proceedings of the International Conference on Software and System Process, (93-100)
  24. Wang J, Li J, Wang Q, Zhang H and Wang H A simulation approach for impact analysis of requirement volatility considering dependency change Proceedings of the 18th international conference on Requirements Engineering: foundation for software quality, (59-76)
  25. ACM
    Rodriguez D, Ruiz M, Riquelme J and Harrison R Multiobjective simulation optimisation in software project management Proceedings of the 13th annual conference on Genetic and evolutionary computation, (1883-1890)
  26. Fernández-Sanz L and Misra S Influence of human factors in software quality and productivity Proceedings of the 2011 international conference on Computational science and Its applications - Volume Part V, (257-269)
  27. ACM
    Wirthlin J, Houston D and Madachy R Defense acquisition system simulation studies Proceedings of the 2011 International Conference on Software and Systems Process, (189-193)
  28. ACM
    Zhang H, Jeffery R, Houston D, Huang L and Zhu L Impact of process simulation on software practice Proceedings of the 33rd International Conference on Software Engineering, (1046-1056)
  29. ACM
    Woolridge R and Bailey J Co-adaptive processes of stakeholder networks and their effects on information systems specifications Proceedings of the 49th SIGMIS annual conference on Computer personnel research, (140-147)
  30. Boyadzhiev D Simulation of an iterative software development process for an educational repository system Proceedings of the 10th WSEAS international conference on communications, electrical & computer engineering, and 9th WSEAS international conference on Applied electromagnetics, wireless and optical communications, (83-88)
  31. ACM
    Cao L, Ramesh B and Abdel-Hamid T (2010). Modeling dynamics in agile software development, ACM Transactions on Management Information Systems (TMIS), 1:1, (1-26), Online publication date: 1-Dec-2010.
  32. Zickert F and Beck R Assessing project effort in requirements engineering Proceedings of the 5th international conference on Global Perspectives on Design Science Research, (490-505)
  33. ACM
    Agarwal R and Umphress D A flexible model for simulation of software development process Proceedings of the 48th Annual Southeast Regional Conference, (1-4)
  34. ACM
    Wright M and Capps C (2010). Information systems development project performance in the 21st century, ACM SIGSOFT Software Engineering Notes, 35:2, (1-10), Online publication date: 27-Mar-2010.
  35. Chan S, Ip W and Cho V (2010). A model for predicting customer value from perspectives of product attractiveness and marketing strategy, Expert Systems with Applications: An International Journal, 37:2, (1207-1215), Online publication date: 1-Mar-2010.
  36. Ferreira S, Collofello J, Shunk D and Mackulak G (2009). Understanding the effects of requirements volatility in software engineering by using analytical modeling and software process simulation, Journal of Systems and Software, 82:10, (1568-1577), Online publication date: 1-Oct-2009.
  37. Cherif R and Davidsson P Software development process simulation Proceedings of the 10th international conference on Multi-agent-based simulation, (73-85)
  38. Pendharkar P, Rodger J and Subramanian G (2008). An empirical study of the Cobb-Douglas production function properties of software development effort, Information and Software Technology, 50:12, (1181-1188), Online publication date: 1-Nov-2008.
  39. ACM
    Zhang H, Kitchenham B and Pfahl D Software process simulation over the past decade Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, (345-347)
  40. Zhang H, Kitchenham B and Pfahl D Reflections on 10 years of software process simulation modeling Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story, (345-356)
  41. Zhang H, Jeffery R and Zhu L Hybrid modeling of test-and-fix processes in incremental development Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story, (333-344)
  42. Khosrovian K, Pfahl D and Garousi V GENSIM 2.0 Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story, (294-306)
  43. Menzies T, Elrawas O, Boehm B, Madachy R, Hihn J, Baker D and Lum K Accurate estimates without calibration? Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story, (210-221)
  44. Colla P and Montagna J Framework to evaluate software process improvement in small organizations Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story, (36-50)
  45. ACM
    Zhang H, Jeffery R and Zhu L Investigating test-and-fix processes of incremental development using hybrid process simulation Proceedings of the 6th international workshop on Software quality, (23-28)
  46. Spector J (2008). Cognition and learning in the digital age, Computers in Human Behavior, 24:2, (249-262), Online publication date: 1-Mar-2008.
  47. Moreno García M, Román I, García Peñalvo F and Bonilla M (2008). An association rule mining method for estimating the impact of project management policies on software quality, development time and effort, Expert Systems with Applications: An International Journal, 34:1, (522-529), Online publication date: 1-Jan-2008.
  48. Yilmaz L Modelling software processes as human-centered adaptive work systems Proceedings of the 14th European conference on Software Process Improvement, (148-159)
  49. Nonaka M, Zhu L, Ali Babar M and Staples M Project cost overrun simulation in software product line development Proceedings of the 8th international conference on Product-Focused Software Process Improvement, (330-344)
  50. Luna-Reyes L, Andersen D, Richardson G, Pardo T and Cresswell A Emergence of the governance structure for information integration across governmental agencies Proceedings of the 8th annual international conference on Digital government research: bridging disciplines & domains, (47-56)
  51. Zhang H, Kitchenham B and Jeffery R Achieving software project success Proceedings of the 2007 international conference on Software process, (332-343)
  52. Zhang H, Kitchenham B and Jeffery R A framework for adopting software process simulation in CMMI organizations Proceedings of the 2007 international conference on Software process, (320-331)
  53. Nonaka M, Zhu L, Babar M and Staples M Project delay variability simulation in software product line development Proceedings of the 2007 international conference on Software process, (283-294)
  54. Donzelli P (2006). A Decision Support System for Software Project Management, IEEE Software, 23:4, (67-75), Online publication date: 1-Jul-2006.
  55. Setamanit S, Wakeland W and Raffo D Exploring the impact of task allocation strategies for global software development using simulation Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (274-285)
  56. Choi K and Bae D Analysis of software-intensive system acquisition using hybrid software process simulation Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (254-261)
  57. Zhang H and Kitchenham B Semi-quantitative simulation modeling of software engineering process Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (242-253)
  58. Madachy R Reusable model structures and behaviors for software processes Proceedings of the 2006 international conference on Software Process Simulation and Modeling, (222-233)
  59. Dutta A and Roy R (2005). Offshore Outsourcing, Journal of Management Information Systems, 22:2, (15-35), Online publication date: 1-Nov-2005.
  60. Smolander K, Schneider K, Dingsøyr T, Bjørnsson F, Juvonen P and Ovaska P Future studies of learning software organizations Proceedings of the Third Biennial conference on Professional Knowledge Management, (134-144)
  61. ACM
    Bhatt P, Shroff G and Misra A (2004). Dynamics of software maintenance, ACM SIGSOFT Software Engineering Notes, 29:5, (1-5), Online publication date: 1-Sep-2004.
  62. Middleton P, Lee H and Irani S (2004). Why Culling Software Colleagues Is Popular, IEEE Software, 21:5, (28-32), Online publication date: 1-Sep-2004.
  63. ACM
    Keil M, Smith H, Pawlowski S and Jin L (2004). 'Why didn't somebody tell me?', ACM SIGMIS Database: the DATABASE for Advances in Information Systems, 35:2, (65-84), Online publication date: 14-Jun-2004.
  64. Fenton N, Marsh W, Neil M, Cates P, Forey S and Tailor M Making Resource Decisions for Software Projects Proceedings of the 26th International Conference on Software Engineering, (397-406)
  65. Lee B and Miller J (2019). Multi-Project Management in Software Engineering Using Simulation Modelling, Software Quality Journal, 12:1, (59-82), Online publication date: 1-Mar-2004.
  66. Moore J and Burke L Reluctance to report reality in troubled technology projects Strategies for managing IS/IT personnel, (282-299)
  67. Antoniol G, Cimitile A, A. Di Lucca G and Di Penta M (2004). Assessing Staffing Needs for a Software Maintenance Project through Queuing Simulation, IEEE Transactions on Software Engineering, 30:1, (43-58), Online publication date: 1-Jan-2004.
  68. Pfahl D, Laitenberger O, Dorsch J and Ruhe G (2019). An Externally Replicated Experiment for Evaluating the Learning Effectiveness of Using Simulations in Software Project Management Education, Empirical Software Engineering, 8:4, (367-395), Online publication date: 1-Dec-2003.
  69. ACM
    Kuppuswami S, Vivekanandan K, Ramaswamy P and Rodrigues P (2003). The effects of individual XP practices on software development effort, ACM SIGSOFT Software Engineering Notes, 28:6, (6-6), Online publication date: 1-Nov-2003.
  70. Kuppuswami S, Vivekanandan K and Rodrigues P A system dynamics simulation model to find the effects of XP on cost of change curve Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (54-62)
  71. Padberg F A software process scheduling simulator Proceedings of the 25th International Conference on Software Engineering, (816-817)
  72. Lehman M and Ramil J (2019). Software Evolution and Software Evolution Processes, Annals of Software Engineering, 14:1-4, (275-309), Online publication date: 10-Dec-2002.
  73. Dalcher D Software development for dynamic systems Proceedings of the 2002 international conference on Metainformatics, (58-75)
  74. Cangussu J, DeCarlo R and Mathur A (2019). A formal model of the software test process, IEEE Transactions on Software Engineering, 28:8, (782-796), Online publication date: 1-Aug-2002.
  75. Rus I and Lindvall M (2019). Guest Editors' Introduction, IEEE Software, 19:3, (26-38), Online publication date: 1-May-2002.
  76. ACM
    Lehman M and Ramil J Evolution in software and related areas Proceedings of the 4th International Workshop on Principles of Software Evolution, (1-16)
  77. Bradley J and McGrath G Boot camp or bordello Proceedings of the twenty first international conference on Information systems, (467-472)
  78. Keil M, Mann J and Rai A (2018). Why software projects escalate, MIS Quarterly, 24:4, (631-664), Online publication date: 1-Dec-2000.
  79. Montealegre R and Keil M (2019). De-escalating information technology projects, MIS Quarterly, 24:3, (417-447), Online publication date: 1-Sep-2000.
  80. Keil M, Tan B, Wei K, Saarinen T, Tuunainen V and Wassenaar A (2018). A cross-cultural study on escalation of commitment behavior in software projects, MIS Quarterly, 24:2, (299-325), Online publication date: 1-Jun-2000.
  81. ACM
    Boehm B and Sullivan K Software economics Proceedings of the Conference on The Future of Software Engineering, (319-343)
  82. ACM
    Trimmer K, Collins R, Will R and Blanton J Information systems development Proceedings of the 2000 ACM SIGCPR conference on Computer personnel research, (174-179)
  83. Collofello J University/Industry Collaboration in Developing A Simulation Based Software Project Management Training Course Proceedings of the 13th Conference on Software Engineering Education & Training
  84. Abdel-Hamid T, Sengupta K and Swett C (2018). The impact of goals on software project management, MIS Quarterly, 23:4, (531-555), Online publication date: 1-Dec-1999.
  85. Raffo D, Kaltio T, Partridge D, Phalp K and Ramil J (1999). Empirical Studies Applied to Software Process Models, Empirical Software Engineering, 4:4, (353-369), Online publication date: 1-Dec-1999.
  86. Jurison J (2018). Software project management, Communications of the AIS, 2:3es, (2-es), Online publication date: 1-Nov-1999.
  87. Williams D, Hall T and Kennedy M (1999). A Framework for Improving the Requirements Engineering Process Management, Software Quality Journal, 8:2, (133-147), Online publication date: 1-Oct-1999.
  88. ACM
    McGrath G and Offen R Undergraduate students and the management-technology interface Proceedings of the 3rd Australasian conference on Computer science education, (2-8)
  89. McGrath G A Process Modelling Framework Proceedings of the Australian Software Engineering Conference
  90. ACM
    Lehman M Process modelling—where next Proceedings of the 19th international conference on Software engineering, (549-552)
  91. ACM
    Slaughter S and Ang S (1996). Employment outsourcing in information systems, Communications of the ACM, 39:7, (47-54), Online publication date: 1-Jul-1996.
  92. Madachy R System dynamics modeling of an inspection-based process Proceedings of the 18th international conference on Software engineering, (376-386)
  93. ACM
    Spector J Using system dynamics to model courseware development Proceedings of the 1995 ACM symposium on Applied computing, (32-35)
  94. Raffo D Evaluating the impact of process improvements quantitatively using process modeling Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1, (290-313)
  95. Abdel-Hamid T, Sengupta K and Ronan D (2019). Software Project Control, IEEE Transactions on Software Engineering, 19:6, (603-612), Online publication date: 1-Jun-1993.
  96. Abdel-Hamid T (2019). Adapting, Correcting, and Perfecting Software Estimates, Computer, 26:3, (20-29), Online publication date: 1-Mar-1993.
  97. ACM
    Curtis B, Kellner M and Over J (1992). Process modeling, Communications of the ACM, 35:9, (75-90), Online publication date: 1-Sep-1992.
  98. ACM
    Fairley R Recent advances in software estimation techniques Proceedings of the 14th international conference on Software engineering, (382-391)
Contributors
  • Naval Postgraduate School
  • MIT Sloan School of Management

Recommendations

Reviews

Tom DeMarco

I know it is a sign of economic and intellectual vigor that we have so many books to choose among for whatever subject we would investigate. Want to learn C++__?__ Take your pick from nearly a hundred new titles. Getting into metrics__?__ There must be 70 new books on the subject. Isn't it nice to have a choice__?__ Perhaps. It's just that the n th book on even the most valuable subject begins to seem pointless as n goes into double and triple digits. Wouldn't it be nice, just once, to pick up a book so intrinsically unique that it was and would remain the only one of its kind__?__ Such a book is this volume by Abdel-Hamid and Madnick. It is not another book on anything; it is the only book on its topic. It is chock-full of intriguing and useful insights that are simply not to be found anywhere else. Abdel-Hamid and Madnick lead you where you have never been before. The subject is simulation of software projects. The authors would have you build a fairly elaborate simulation of your next project, after first having calibrated your organization against a norm that they provide. Their advice is specific and to the point. They supply a design for the simulation and all its components and even supply the actual code. They discuss the theory and use of the model in clear, prescriptive text. Once you have a simulation in place, they suggest that you run your project a few times, varying key parameters to see what mix gives you the best outcome. They urge you to tinker with your assumption set to see in advance how unwelcome news may manifest itself: Suppose the system turns out to be 40 percent larger than you had anticipated and you do not discover that until the project is more than half over. Suppose you lose a key person in month eight. Suppose sign-off on the spec is delayed by a month. The simulation tells you what net effect to expect. It may be right and it may be off to some degree, but you quickly come to the conclusion that its best guess as to what the outcome will be is better than your best guess. I have been using Abdel-Hamid/Madnick models for the past three years. I have come to believe that the models I<__?__Pub Caret> construct (guided by the authors' scheme) know better than I do myself how the project will respond to changing circumstances. I would not think of running any but the most trivial project again without using such a model. The work of Abdel-Hamid and Madnick is changing the way projects are run and the way we think about them. It has changed me, and I predict that it will change you.

Lou Agosta

The unifying theme of this review is the transformations and vicissitudes of the system software development life cycle (SDLC). In its traditional form, the SDLC encompasses the following software development phases: survey of the existing system, requirements analysis, design of the solution, coding, testing, conversion (if applicable), implementation, and maintenance. Cross-reference this traditional linear waterfall model with alternatives (most of which form a sort of spiral of iteratively developed prototypes), bring in methods and methodologies for controlling the management of the process, and apply design techniques to produce the deliverables (the results), and you get a sense of the dynamic and challenging context within which development occurs. In general, a methodology is a formal set of rules, procedures, and techniques that, when applied to a set of requirements, yields by way of a derivation-like process the software system that satisfies those requirements. Ownership (commercial, intellectual, or both) may be claimed of a methodology, whereas methods are strictly “public domain” (or at least that is one gloss on the distinction). Until recently, the conventional wisdom has been that top-down, structured methodologies are the tools of choice for developing software solutions. The emergence of object-oriented design (OOD) methods does not necessarily contradict or overturn this wisdom. The latter, however, seem to represent a fundamentally different way of conceptualizing problem solutions which, in Grady Boochs phrase, run orthogonally (at right angles) to the existing tradition. The extent to which this involves a “paradigm shift” (to use Shumate and Kellers phrase) is a matter of some controversy. At the moment, the debate is about which one forms the “front end” of the other. A possible third term that allows the resolution of the apparent conflict is the appeal that both must make to entity-relationship models [1]. These form the matrix out of which OOD methods have emerged, and allow us to back into functional decomposition. Abdel-Hamid and Madnick The project manager and project management staff form the audience for this text. Those responsible for planning and controlling the staffing and estimating of the development process are likely to find it useful. At first, I was put off by the highly theoretical juxtaposition of more than 100 individual, interdependent variables constituting the “integrative model of software development.” The strength of the authors approach is the wealth of empirical data gathered to build this model. For example, rather than assuming that Brookss law is valid—that adding staff to a late project makes it later because the number of communication interfaces increases exponentially while the discharge of tasks increases arithmetically—the authors subject it to empirical verification. The result is that Brookss law must be qualified. Adding staff to a late project always causes it to become more costly, but does not always cause it to be delivered later. What makes this text interesting is that the authors are forthcoming about the tradeoffs made in formulating their model, including ways in which the model fails to satisfy experience, as is seen on pages 112 to 113. Readers are able to judge the applicability of particulars for themselves. Berkeley, Humphreys, and De Hoog This report covers the theoretical principles and results of the development of a project management support system by the Commission for the European Communities (CEC). The project focused on the activities of the project manager. The authors make clear on page 90 that their intention is to support (not replace) the project manager. In fact, parts of the text read like a project management handbook: they are didactic, instructive, and clearly written. Actual project managers may find this text too theoretical, academic, and abstract, however. Those with an academic background will enjoy the allusions to generative grammar on page 152. In fact, this elaborate report does not really deliver a model of project management; rather, it delivers a meta-model—a model for generating many possible models, making extensive use of entity-relationship modeling conventions, as discussed on page 106. Nor is the model fully specified until chapter 10. In short, the project manager, although supposedly supported, may be overwhelmed and submerged in and by the environment intended to lend support. Booch The audience for this text is software developers charged with the solution of problems of complex control, process synchronization, reporting, and the management of dynamic phenomena. The author states that OOD is orthogonal to the traditional waterfall life cycle (p. 189). While denouncing the “abyss of the structured design mind set” (p. 145), the author manages to avoid choosing between “top down” or “bottom up” by means of the admittedly cryptic cipher “roundtrip Gestalt design” (pp. 188, 195, and 312). Essential terms and methods are defined: object (state, identity, behavior), abstraction, encapsulation (information hiding), modularity, hierarchy, typing, concurrency, and persistence. The wealth of coding level examples makes clear to the reader that, although one may try to implement an OOD using COBOL, what will always be lacking from the latter are syntax-language level features that enforce hierarchical and encapsulation distinctions. One must fall back on convention and agreements between programmers (and someone inevitably doesnt get the message). The amusing, cartoonlike illustrations of the first half of the text disappear by the time the reader arrives at the Smalltalk, C++, Ada, and Object Pascal examples of the third part. The authors extensive bibliography is a definite plus and well worth the readers extended inspection. Table 1: Quantitative Data Abdel-Hamid and Madnick Berkeley, Humphreys, and De Hoog Booch Fournier Shumate and Keller Youll Number of chapters 20 13 12 14 8 8 Number of pages in bibliography 16 10 45 5 5 None Number of pages in appendices 10 None 22 20 49 8 Glossary No Yes Yes No Yes No Audience Project manager Software developer Software developer Manager developer Software developer Project manager Fournier The author claims that the audience includes DP managers, planners, project leaders, programmers, analysts, and users (p. xvi). This text represents the traditional approach to the software development life cycle, amalgamated with liberal doses of data modeling (entity-relationship diagrams) and data element definitions. Prototyping, CASE technology, quality assurance, and formal methodologies are treated as extensions to the traditional framework. The author deploys a formidable amount of detail in the specification of task numbers, names, objectives, inputs, outputs, and formal descriptions of the development activities corresponding to the traditional phases. Although this text has many merits, the reader is left sensing that, unless one already knows how to perform these activities or is in a “start from scratch” situation, this text will be of limited practical benefit. What we have received is less a practical guide than a survey, summary, or reference manual, intended to be a source into which one may occasionally dip for formal definitions. DeMarco [2] remains the source for the engaged practitioner, although it lacks add-ons to CASE. Perhaps the difficulty is that the author has cast too wide a net. In trying to address such a wide audience, the message is diluted. Shumate and Keller Software developers responsible for the specification and design of real-time systems would be interested in this text. Its many strengths include extensive graphic notation to support the transition from requirements to design; a coherent case study against which the principles are tested and by which they are exemplified; and an approach that goes a long way toward integrating the methods of structured design (function-driven) and object-oriented design (data-driven). The discussion of information hiding and data abstraction on page 339 is one of the best in the literature, but it is curiously relegated to an appendix. If a weakness exists, it lies in the area of the difficulty of sustaining a case study without redundancy and repetition. This weakness is forgivable, however. The short but excellent bibliography contains many candidates for additional required reading. Youll The idea behind this text is sound. Project managers can use graphical and diagrammatic displays to make the status of the project or projects they are controlling visible. This short book delivers on the literal meaning of the promise it makes. It is mostly filled with two-dimensional graphs showing the measure of some variable against time. Some pie charts, bubble networks, and functional decomposition boxes are also featured. I came away with a distinct sense that the book contains less than meets the eye, however. The material is all common knowledge, and in the absence of some other special features to recommend it, the original interesting idea requires further development. Comparison These books fall into two distinct groups, which deal with different aspects of the software development life cycle. The first group treats project management, planning, and control issues. The second deals primarily with methods for the design and construction of software systems. In this sense, these two groups are not directly comparable, nor would it be fair to the authors to make comparisons. Nevertheless, they all belong in one unified review because of the perspectives they afford on the SDLC. Both the book by Abdel-Hamid and Madnick and the book by Berkeley, Humphreys, and de Hoog deploy formal models of project management dynamics. The relative shortness and standardization of Youlls vision makes his contribution the most limited of the three—no model is deployed. The internal workings of the project model are discussed much more in Abdel-Hamid and Madnick than in Berkeley et al. In some ways this feature makes the former book easier to criticize, since one can see the compromises that occasionally had to be made. For example, Abdel-Hamid and Madnicks dynamic module cannot capture that five errors are not necessarily distributed evenly across five program modules but are probably concentrated in one error-prone routine (pp. 112–113). Their dynamic module limits the scope of the discussion to the situation after the modules have passed quality assurance testing (p. 113). Nevertheless, the reader is given more practical access to the gears and mechanisms of project management in this way than by the social science theories on the plans and structure of behavior implemented under the covers by Berkeley et al. Table 2: Coverage of Topics Abdel-Hamid and Madnick Berkeley, Humphreys, and De Hoog Booch Fournier Shumate and Keller Youll Project management model Yes Yes No No No No Project staffing model Yes Yes No No No No Graphical presentation methods Yes Yes Yes Yes Yes Yes Functional decomposition No No No Yes Yes No Data modeling No No Yes Yes Yes No Information hiding (encapsulation) No No Yes No Yes No Fournier does a credible job of representing the conventional wisdom of standard function-driven system development in large businesses. His book attempts to be encyclopedic, and reads like an encyclopedia. What examples appear in the book are strictly local in extent. We get the concepts without the corresponding intuitions, and although it is not a bad book, the reader is sometimes left feeling empty. A similar criticism might be leveled at what is in many ways a brilliant book by Booch. He claims that the structured methods are a “front end” to OOD (p. 201), which is apparently inconsistent with his denunciation of the “abyss” of the structured design mindset (p. 145). (Indeed, if the path to OOD lies through “structured,” then we may never get there, since the journey is so long.) Although the book contains a glossary and many excellent definitions, Booch never defines some terms (such as “semantics” and “finite state machine”). The readers persistence through a certain amount of blind intuitive groping is ultimately rewarded with an “Aha!” as he or she associates class diagrams with entity- relationship diagrams and database design with the initial phases of OOD (p. 367). In this context, Shumate and Keller put it all together. Although their book is by no means easy, it successfully deploys traditional structured concepts (such as module coupling and cohesion) in true partnership with data abstraction and information hiding. The detailed case study can show up as both a help and a hindrance (obscuring the forest for the trees), but the two-dimensional graphics are consistently excellent in representational clarity and communicative impact. The transition from specification to detailed design is handled in a masterly way, and the authors find a balance between functional decomposition and the object model.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.