Вы находитесь на странице: 1из 24

MSE Bibliography

Managing the Software Enterprise


Software Engineering and Information Systems in Context

Bibliography
Introduction
If you are reading this, we assume that you will have elected to use our book, and will have read both book and the Instructors Manual. Both of these give you references to the literature: In the End Notes for each chapter we cite the particular sources we used in writing the book, and where you might turn to for further information about the actual topic covered at that point. In the Instructors Manual we discuss other books you might use, particularly as complementary reading to give a particular slant to a course you are teaching However the works cited in the book and Instructors Manual are by no means the only places we drew our knowledge and understanding from. In this Bibliography we explore some of these other sources, to guide you further into the area.

Further reading by chapter


We decided it made most sense to cover the bibliography chapter by chapter, to contextualise our choices. Within each chapter we group together the books and papers by topic within the chapter, and write a short note about the collected readings listed. Mostly we select books, but where no books, or insufficient books, are available, we give papers or weblinks. The web is a very powerful resource, and should be searched for any area that we have not covered and that you want more material on. If you have your own favourite readings that are not listed below, then please send them to us explaining how they fit in. If we agree, we will happily add them to the next issue of this Bibliography.

Chapter 1: Software within the Information Society


History of computing Caminer, David, John Aris, Peter Hermon and Frank Land (1998), L.E.O.: Incredible Story of the World's First Business Computer, McGraw-Hill Education; January 1998 Campbell-Kelly, Martin (2003), From Airline Reservations to Sonic the Hedgehog A History of the Software Industry. MIT Press Campbell-Kelly, Martin, William Aspray (2004) Computer: A History of the Information Machine The Sloan Technology Series Ceruzzi, Paul E. (2003), A History of Modern Computing, 2nd Edition, MIT Press, Cambridge, MA.
Issue 1.

MSE Bibliography

Gates, Bill (1995/6) The Road Ahead. Penguin Lavington, Simon H. (1980) Early British Computers. The story of vintage computers and the people who built them. Out of print, now available from http://edthelen.org/comp-hist/EarlyBritish.html (last accessed on 3rd February 2007). Knowing something about the history of computing is valuable, since life with computers was not always the way it now is. We are even seeing early ideas like bureaux reappearing as software-as-a-service, and time-sharing machines reappearing as thin clients. Martin Campbell-Kellys books are very readable, with his books covering the period from its earliest origins through to the present day. His book with William Aspray does have a strong US focus, so reading something like Lavingtons book, or the book on the LEO by Caminer et al would balance this. Also read Ceruzzis book, though this has a distinct US bias. We (the authors) were there too. For more recent history, from PCs onwards, read more widely, like Campbell-Kellys later book, or even Bill Gates view of that history. Really we are still in the PC era, so readers and students and instructors you are living it, but it may now be changing. Software Failure Flowers, Stephen (1996), Software failure: management failure, Wiley. Gibbs, W. Wayt (1994) Software's Chronic Crisis Scientific American; September 1994; P 86 Leveson, N. and Turner, C. (1993) An investigation of the Therac-25 accidents, IEEE Computer, July, pp. 1841. Neumann, Peter (1995), Computer Related Risks, Addison-Wesley. Wiener, Lauren Ruth (1993) Digital Woes: Why We Should Not Depend on Software Perseus Books Group Nearly everybody with a few years experience in the software industry will have been involved in a system failure of some kind, but hopefully not as catastrophic as some of those reported in the literature. As the saying goes, if we do not learn from our failures we are doomed to repeat them. Peter Neumann did the software industry a great service when he began collecting stories of failure in is Risks column in the ACMs Software Engineering Notes (SENs). If you can, get hold of back copies of SEN, though Peter Neumann has done us the further service of collecting together the most significant of these into his book of 1995. Lauren Wieners book was one of the first popularising books to be published, but it was Wayt Gibbs article in Scientific American that really got people thinking, and worrying. Read Gibbs article if you can, search for iton the web, you are bound to find it (we found it at http://www.cis.gsu.edu/~mmoore/CIS3300/handouts/SciAmSept1994.html though that may not work for you). However properly documented accounts of failure are difficult to produce, since it is important that the accounts can be authenticated and the truth behind the disaster unravelled. Otherwise you could face litigation. Nancy Levesons and Charles Turners measured account of the Therac disaster was only possible because the facts came out in
Issue 1.

MSE Bibliography

court this is a paper that you should encourage everybody to read. Stephen Flowers book of a range of disasters only came out after very careful scrutiny by lawyers and rephrasing so that he and the publishers could be confident that they would not be sued. Macro-economical return-on-investment Castells, Manuel (1996) The rise of the Network Society. Oxford: Blackwell Landauer, Thomas K. (1995) The Trouble with Computers. Usefulness, Usability, and Productivity. MIT Press ISBN 0-262-12186-7 Strassman, Paul A (1985) Information Payoff: The Transformation of Work in the Electronic Age. New York: Free Press For years we had been reading articles in the trade press wondering whether all the money spent on computers had really been worth it. Strassmans book pulled together much of the research evidence, by came and went largely unnoticed, until Landauers book gained popular coverage, at least in the UK. Hard on the heels of Landauer came Castells grand oeuvre, also raising the same doubts, also inspired by Strassman among many others. While Landauer claimed computers could be made to give a return through a proper regard for their usability, Castells seemed almost not to care for him as an economist it was the transformative power of the computer that was exciting, moving the world to a globalised and networked society. Rationality in Science and Computing ACARD Software: a Vital Key to UK Competitiveness. HMSO, London, 1986. Fetzer, J.H. (1988) Program verification: the very idea. Communications of the ACM. 31, 9, 1048-1063. Hoare, C.A.R. (1984) Programming: Sorcery or Science? IEEE Software. April, 5-16 Kuhn, Thomas S. (1962, 1970, 1996) The Structure of Scientific Revolutions. University of Chicago Press, third edition. Latour, B. and Woolgar, S. (1986) Laboratory Life: the construction of scientific facts, 2nd edition, Princeton University Press, Princeton Smith, William Newton-(1981) The Rationality of Science, Routledge, Kegan & Paul The received view of science is that science progresses systematically through making predictions from current theory, then making experiments which either confirm or refute the predictions. Theory is then adjusted, new predictions are made, and so science progresses. It is this received view that permeates much of computer science, as epitomised in much writing on formal methods, so strongly represented in the UK. Tony Hoare is one among many who have advocated this approach, and the theories he has advanced are indeed very attractive, even beautiful. Look at the books suggested for Chapter 8 on Formal Methods, and read their prefaces and introductory chapters to get a glimpse of their underlying beliefs about science. This view of software as mathematics was even proposed as policy to the UK government ion the ACARD report you may have difficulty getting hold of this, but it is well worth a look at if you.

Issue 1.

MSE Bibliography

However this simple claimed rationality is not how science actually works, and William Newton-Smith books would disabuse them. Of particular importance has been the book by Thomas Kuhn who showed that science progresses in leaps, progressing in leaps, in paradigm shifts, where one body of theory shared by the scientific community, a paradigm, is changed to another new body of theory or paradigm that is agreed to be more appropriate. These shifts, while supported by rational scientific argument and founded on empirical findings, are essentially social processes, scientists as people need to reach agreement. Thus science has also been studied as a sociological process, where relatively early within the sociology of science in 1986 Latour and Woolgar showed that even the small steps within science are social processes, with scientist constructing science through inter-personal agreement and disagreement. This view confronted computer science when the paper by Fetzer was published in 1988, a paper which received much negative comment and debate the debates following this paper also make important reading. Postmodernism and the changing world Ashcroft, W., Griffiths, G. and Tiffin, H. (eds.) (1995)) The Post-colonial Studies Reader, Routledge, London. Coyne, Richard (1995) Designing Information Technology in the Postmodern Age. From Method to Metaphor. The MIT Press Dutton , William H. (1996) Information and Communication Technologies. Visions and Realities. Oxford University Press. Giddens, A. (1990) The Consequences of Modernity. Polity Press, Cambridge. Hall, S., Held, D and McGrew A. (eds.) (1992) Modernity and its Futures, Polity Press and the Open University, Cambridge and Milton Keynes. Harvey, David (1989) The Condition of Postmodernity, Basil Blackwell, Cambridge Massechusetts and Oxford, 1989. Jencks, Charles. The Post-Modern Reader. Academy Editions, London, 1992. Jules-Rosette, Bennetta (1990) Terminal Signs. Computers and Social Change in Africa, Mouton de Gruyter, Berlin and New York. Lyotard, J.-F. The Postmodern Condition: a report on knowledge. University of Minneapolis Press, Minneapolis, 1984. Priore, Michael J. and Charles F. Sabel (1984) The Second Industrial Divide, Basic Books Inc (Harper Collins). Quintas, Paul (editor) (1993) Social Dimensions of Systems Engineering. People, Processes, Policies and Software Development. Ellis Horwood Toffler, Alvin (1984) Future Shock, Bantam Doubleday Dell Publishing Group. ISBN: 0553277375 Winograd, Terry and Ivan Flores (1986) Understanding Computers and Cognition: A New Foundation for Design. Addison-Wesley.

Issue 1.

MSE Bibliography

What was happening in computing, and in science, in some way simply reflected larger movements within philosophy and society. That this was the case was made apparent to us in a side comment in a book about software development in Africa, where Benetta Jules-Rosette describes a chaotic software development project in the Ivory Coast which we would view as normal, but then comments My research reveals that postmodernity has arrived in Africa.(p12.). We dont recommend you read this book, unless you want an anthropological account of software development in developing countries. However this comment did get us thinking, and reading. We would recommend that you dip into some writing about postmodernism, such as in the readers by Ashcroft et al, Hall et al or Jencks. These collections also include some countervalent voices. While we might view postmodernism as a paradigm shift, not everybody needs to shift. You might even want to dip into some original writers, like Lyotard, or Giddens or Harvey, or many many others; many make very difficult reading. This postmodern shift is most visible to us in the way fashions for buildings have changed. as can be seen in many cities, and have been collected together in Jencks books on architecture (he is an architectural critic). But this shift is also seen globalisation an early book noting this was by Priore and Sabel, and the coming of the Information Society reported early on by Alvin Toffler as his third wave. This postmodern shift is also seen in computing, turning to philosophy for ideas about how to respond to the internal problems of computing, and its challenges from outside. Winograd and Flores turned to Heidegger in order to understand the relationship between people and computers, while Richard Coyne takes a more general view of computing, and draws upon the insights of many philosophers. Social scientists have also became interested in computers and how they related to society, as seen for example in the collections by Paul Quintas and by William Dutton.

Part I CONTEXT: How software fits in Chapter 2: The organisational and business context
Modelling and Diagramming Demarco, Tom (1979) Concise Notes on Software Engineering Yourdon Costagliola G., Deufemia V., Polese G (2004) A framework for modeling and implementing visual notations with applications to software engineering. ACM Transactions on Software Engineering and Methodology 13(4): 431-487, 2004. Modelling of software systems, and business systems, has long been an important step towards understanding and then controlling, these systems. However very few books just focus on diagrams and their meaning, but larger texts that propound comprehensive methods, such as those covered in the bibliographic notes for chapters 7 and 8, take diagrams for granted. One noteworthy and exception to this is the excellent short monograph by Tom DeMarco, which describes his notations for data flow diagrams, the style we have adopted for the book. This way of diagramming had become so taken for granted by us that we neglected to cite this book as our source!

Issue 1.

MSE Bibliography

While diagrams are now common in books, it has not always been the case, and in the later nineteenth century when science and engineering where expanding during the industrial revolution, diagrams were not common. For some people diagrams are really not natural, so for example Cliff Jones in his books on formal methods (see bibliography for Chapter 8) has somebody else produce the diagrams to help visualisers understand the concepts being explained. Some systematic exploration of diagrams and what they mean has been made, for example the paper by Costagliola et al, and there have even been attempts to formalise diagramming conventions like data flow diagrams. But formalising diagrams misses the point of diagrams, they give some useful flexibility of interpretation in the spirit of if you see what I mean. In the bibliography for Chapter 7 you are encouraged to search out proprietary methods. Look at their diagrams. How much do they differ in underlying meaning, and how much are the differences just superficial, intended to make the notations appear different. Many diagramming systems have also been made the subject of industrial or international standardisation, such as the UML diagramming notation controlled by the OMG. We havent listed any, but it would be worthwhile looking at the catalogue of your national standards body to see what they advocate. Work processes and business processes Hammer, Michael and James Champney (1995) Reengineering the Corporation: A Manifesto for Business Revolution, revised edition, London: Nicholas Brealey. Sinur, Jim (2004) Drivers for BPM: 11 Money-Relevant Reasons to Start, Gartner report, 25 February 2004 Note Number: COM-21-9991. Taylor , Frederick Winslow (1911) The Principles of Scientific Management. from http://www.marxists.org/reference/subject/economics/taylor/principles/index.htm Workflow Institute (2006) website is http://www.workflowinstitute.com/ Workflow Management Coalition, (2006) website is http://www.wfmc.org/ The idea of decomposing some complex and extended process into smaller constituent steps much go back a long way. In 1911 Fred Taylor exploited this in his scientific management, and going back to the original would be well worth while, particularly since Taylors ideas have been picked up by others and distorted, with him being vilified and blamed for the mechanistic form of many software engineering methodologies. The modern manifestation has been in Business Process Modelling, and the associated Business Process Management, such as covered by Sinurs Gartner report. This in turn leads to the ideas of workflow and its management, described in those two websites. It also leads to business process reengineering, very fashionable in the business community during the 1990s the classic here is Michael Hammers and James Champneys book of 1995.

Issue 1.

MSE Bibliography

Micro-economical return-on-Investment Reifer, Donald (2002) Making the Software Business Case. Improvement by the Numbers. Addison-Wesley. Schwalbe, Kathy (2004) Information Technology Project Management Third Edition. Thomson Course Technology. In spite of the negative views at the macro-economical level covered in the books listed for Chapter 1, at the micro-economical level it would be normal to judge any investment in terms of the returns it will bring. This is equally true for investment in software and computer systems, an argument well made by Don Reifer who gives a whole range of methods and techniques that can be used. However, Reifer does not cover scorecards, but Kathy Schwalbe does, and much more besides. Both well worth a read. Knowledge Management and Learning organisations. Arango, G. Shoen, E. Pettengill, R. (1993) Design as Evolution and Reuse. in Advances in Software Reuse. Selected Papers from the Second International Workshop on Software Reusability. IEEE Computer Society Press. March 24-26, 1993, Lucca, Italy. pp. 9-18. Argyris, Chris (1999) On Organizational Learning, Second Edition Blackwell Business. Nonaka, Ikujiro and Hirotaka Takeuchi (1995), The Knowledge-Creating Company. Oxford University Press Richardson, George (1991) Feedback Thought in Social Science and Systems Theory, University of Pennsylvania Press. Senge , Peter M. (1990) The Fifth Discipline. The Art and Practice of The Learning Organisation. Random House Business Books. Suchman, Lucy A (1987) Plans and Situated Actions. The problem of human machine communication. Cambridge Tiwana, Amrit (2002) The Knowledge Management Toolkit: Orchestrating IT, Strategy, and Knowledge Platforms Prentice Hall; 2nd edition As organisations change and adapt to a changing world, they can be viewed as learning. One manifestation of this learning was business process re-engineering, cover earlier in Hammer and Champney. However learning organisations have been described directly: the classic text is that of Senge, with Argyrus and by Schoen (not cited here) also making good contributions. A book that has received a lot of attention is by Nonaka and Takeuchi, two Japanese management academics working in the US, who ;;explain in this book how Japanese industry has been able to be so creative. This is well worth a read, with much other valuable material not described in our book. A key concept is the distinction between tacit and explicit knowledge, which is also a theme of Lucy Suchmans book, and is also central to knowledge management. Knowledge management has emerged relatively recently, and while we learnt about the subject from primary sources as it emerged, the book by Tiwana has been very well received.

Issue 1.

MSE Bibliography

Learning involves feedback. We learned about this through university engineering courses, but a very readable account over a wide non-technical area is given by Richardson. Encourage students to read this.

Chapter 3: Economic and social context


Motivation Herzberg, F. (1966), Work and the Nature of Man, World Publishing Co. Maslow, A.H. (1954) Motivation and Personality. New York: Harper. His 1943 paper A Theory of Human Motivation, Psychological Review, 50, pages 370-396 is available on-line at http://psychoclassics.yorku.ca/Maslow/motivation.htm. : Mayo, E. (1949) Hawthorne and the Western Electric Company, Chapter 4 pages 60-76 in his book The Social Problems of an Industrial Civilization, Routledge. McGregor, D (1960) The Human Side of Enterprise, McGraw-Hill Peters, Tom and Robert H Waterman (1982, 2004) In Search of Excellence. Lessons from Americas Best-Run Companies Profile Books. A.H. Maslow (1943) A Theory of Human Motivation, Psychological Review, 50, pages 370-396. Available on-line at http://psychoclassics.yorku.ca/Maslow/motivation.htm. This was later developed into a book: Surprisingly our understanding of human motivation rests on texts written 50 years or more ago, but the prime texts of Maslow in particular, but also McGregor are Herzberg, are still worth reading today. For a more up to date view on motivation read Peters and Watermans excellent book the pursuit of excellence is what motivation is all about. The book Freakonomics by Levitt and Dubner, cited below, is also really about motivation which to an economist are incentives. Chapter 13 of Berry et als book cited below is also worth looking at. Cross-cultural issues Berry, John W., Ype H. Poortinga, Marshall H. Segall, and Pierre R. Dasen (1992) Crosscultural psychology, Research and Applications. Cambridge University Press. Hall, Edward T. (1959) The Silent Language Anchor; Reissue edition Hall, Edward T. (1976) Beyond Culture Anchor; Reissue edition Hampden-Turner, Charles and Fons Trompenarrs (2000) Building Cross-Cultural Competence. How to create wealth from conflicting values. Wiley. Hofstede, G. (1991), Cultures and Organizations: Software of the Mind. Berkshire, UK: Mc Graw-Hill; Hofstede, G. (2001), Culture's Consequences: Comparing Values, Behaviors, institutions and organisations across nations (2nd ed.). London: Sage. Lewis, Richard D. (1996, 1999) When Cultures Collide. Managing successfully across cultures.. Nicholas Brealey Publishing. 2nd edition.

Issue 1.

MSE Bibliography

Nakamura, Hajime (1964) Ways of Thinking of Eastern Peoples. India, China, Tibet, Japan. University of Hawaii Press. Trompenaars F and C Hampden-Turner (1997), Riding the waves of culture. Understanding cultural diversity in business, Nicholas Brealey Publishing, London Trompenaars, F. (1993). Managing across cultures. London: Business Books (Random House Books) While there are many books on how to manage as a traveller in other cultures, the most widely referred to systematic work on cross-cultural comparisons is that of Geert Hofstede. Others have also joined in, Fons Trompenaars and Charles Hampden-Turner, and Richard Lewis, among many others. All these books are worth at least skim reading. However work comparing cultures goes much further back, to anthropologists and sociologists and psychologists, and particularly to Edward T. Hall who has written many books on this topic, though we only cite two. In The Silent Language he introduces the idea of polychronicity, while in Beyond Culture he contrasts high-context and lowcontext cultures. Also important are psychological studies like Berry et al, and the substantial volume by Nakamura published originally in Japanese between 1950 and 1960. Human development Schoen, Donald (1983) The Reflective Practitioner New York: Basic Books Wenger, Etienne (1998) Communities of Practice. Learning, Meaning, and Identity. Cambridge ISBN 0 521 66363 6 While many organisations will take care of their staff through training programmes, two books stand out as important contributions, even though they may be re-articulations of long established ideas. Donald Schoen, a management guru, focused on the importance of personal reflection on experience, and the learning that could flow from this; a management school we know focuses on the reflective practitioner as a central part of their learning and teaching strategy for their MBA programmes. Etienne Wenger focussed on people learning from each other within communities of practice, also making important contributions to educational practice. Both of these approaches focus on tacit knowledge, in contrast to programmes of training that necessarily focus on explicit knowledge. Economics, private and public goods Hart, Stuart L. (2005) Capitalism at the Crossroads. The unlimited business opportunities in solving the worlds most difficult problems. Wharton School Publishing Kelen, Andras (2004) The gratis economy. Privately provided public goods. Budapest: Central European University Press. ISBN 963 9241 22 9 Levitt, Steven D. and Stephen J. Dubner (2005) Freakonomics. A Rogue Economist Explores the Hidden Side of Everything. Allen Lane Prahalad, C.K. (2005) The Fortune at the bottom of the Pyramid. Wharton School Publishing.
Issue 1.

MSE Bibliography

Samuelson, Paul A. and William B. Norhaus (1992) Economics. 14th Edition. McGrawHill ISBN 0-07-054879-X Williams, Sam (2002) Free as in Freedom OReilly ISBN 0596002874 Basic ideas of economics are important for understanding many issues that are important for software. The introductory text we used was Samuelson and Norhauss classic text, but most other introductory texts will explain how markets operate and how regulation is used to manage the market and compensate for any imperfections. An important issue for computing is the contrast between private and public goods. Whereas regulations in capitalist economies tend to protect private goods, open source software is viewed as public goods (See Sam Willams book), and example of a more general gratis economy described by Kelen. You might also find it interesting to read a range of recent books in this area, by Hart, by, Levitt and Dubner, by Prahalad, relating the de]isucssion there to software as it is practised today.

Chapter 4: Ethics, codes and standards


Applied Ethics Deborah G. Johnson (1985) Computer Ethics, Prentice-Hall; Elizabeth Vallance (1995) Business ethics at work, Cambridge University Press; Duncan Langford (1995) Practical Computer Ethics. McGraw-Hill Ernest A. Kallman and Jhon P. Grillo (1996) Ethical Decision Making and Information Technology. An Introduction with Cases. 2nd edition. McGraw-Hill Judith Hendrick (2000) Law and Ethics in Nursing and Health Care, Cheltenham: Nelson Thornes Ltd Most books on ethics applied to a particular domain, such as those books listed above, give a general introduction to ethics rooted in the traditions of the west, and the philosophies of Bentham and Kant. They do not treat the normative ethics that we expose here. Nevertheless, reading the first chapter or two of these books can be well worthwhile. Professional Societies and Codes of Conduct Elliott Krause (1996) Death of the Guilds. Yale University Press. ISBN: 0300078668 Nancy Mead (2002) Issues in Licensing and Certification of Software Engineers, Carnegie-Mellon Software-Engineering Institute Read Elliott Krauses book, it is quite salutary to realise that modern day professional societies arose out of the medieval guilds, as indeed did the labour unions. Both professional societies and labour unions continue the practice of protecting the employment of their members and excluding others read Nancy Meads account of how this continues in the certification of Software Engineers.

Issue 1.

10

MSE Bibliography

Standards ISO (2000), ISO Statutes and rules of procedure, ISO, International Organisation for Standardisation ISO (2006) ISO Memento, ISO, International Organisation for Standardisation http://www.iso.org/iso/en/prods-services/ISOstore/store.html http://www.w3.org/ The standards making process can take some getting to grips with. The ISO Memento and the ISO Statutes and rules of procedure will tell you how ISO works, though you will really only get to understand it by becoming involved in formulating some standard of interest to you. Other bodies such as W3C will also have standard processes that they follow for these look at their web sites. Wherever you are, you country will have its own national standards body. Much of what they is likely to be the selection of and endorsement of ISO standards, possibly participating in ISO activities to make sure that local national interests are taken into account. They may formulate local variants of international standards, or even formulate standards for practices which are locally important but not catered for through ISO or any of the international technical bodies like W3C and OMG.

Chapter 5: Software and the law


Edwards, Chris and Nigel Savage and Ian Walden (Editors) (2000) Information Technology and The Law. Second Edition. Macmillan. Holt, Jeremy and Jeremy Newton (Editors) (2004) A Managers Guide to IT Law. Swindon: The British Computer Society. While a general understanding of the law is important, such as that conveyed by Edwards et al, or Holt and Newton, it is important to appreciate that when matters become serious with the prospect of litigation, a lawyer specialised in the area concerned should be consulted. Intellectual property http://www.wipo.org http://www.spi.org/ http://www.uspto.gov/main/trademarks.htm http://www.gnu.org/ http://creativecommons.org/ Intellectual property law is still the subject to much debate, as developed countries attempt to generate income from inventions while developing countries seek rights to transfer technology necessary for their development at reasonable cost. The best sources of information are web-sites, such as those listed above.

Issue 1.

11

MSE Bibliography

Contracts Holt, Jeremy and Jeremy Newton (Editors) (2004) A Managers Guide to IT Law. Swindon: the British Computer Society. Holt and Newtons book gives a good guide to contracts, and what to watch out for. Well worth a read. Health and Safety http://www.hse.gov.uk/ Again, best to use the web here, search on terms of interest.

Part II Processes for acquiring and evolving software Chapter 6: Software acquisition
Much of the material in this chapter is so recent that it has not found its way into text books. We will give what sources of further reading that we can. Legacy and Reuse Brodie, M.L and M. Stonebraker (1995) Migrating Legacy Systems, Morgan Kaufmann, San Francisco. Feathers, Michael (2004) Working Effectively with Legacy Code Prentice Hall PTR Jacobson, Ivar; Griss, Martin; Jonsson, Patrik (1997) Software Reuse - Architecture, Process and Organization for Business Success, Addison-Wesley, harlow. McIllroy, M.D., Mass-Produced Software Components, pp. 88 98 in Pieter Naur and Brian Randall, editors, Software Engineering: Report on a Conference by the NATO Science Committee, NATO Scientific Affairs Division, Brussels, 1968. Republished as Software Engineering Concepts and Techniques, Petrocelli/Charter, Belgium, 1976 Tracz, Will (1995) Confessions of a Used Program Salesman, Addison-Wesley, Reading Wegner, Peter (1984)Capital-Intensive Software Technology, IEEE Software, 1,3, pp 745 The idea that old software might be useful and could be reused was first formalised by Doug McIlroy at the famous 1968 NATO conference on software engineering. This inspired one or two research groups to pursue this, notably Peter Freeman and his DRACO project during the 1970s, In 1984 Peter Wegner gave an interesting account of software reuse as a capital intensive activity well worth a read. In the 1980s and 1990s the reuse movement picked up with books by a number of people, Jakobson et al gave a highly bureaucratic method, while Will Tracz wrote a racy polemic about it. The idea or reuse at the component level has since been overtaken by patterns and frameworks see later. The most significant form of reuse is to continue using the software you already have, legacy code. The only book we have come across that gives you advice on how to live with legacy code is Michael Feathurs, though this is too much focused on software units
Issue 1. 12

MSE Bibliography

and how they can be made to fit into Test Driven Design (TDD). The book by Brodie and Stonebraker explains how to systematically replace a legacy system while staying operational. COTS Morisio M, Seaman CB, Parra AT, Basili VR, Kraft SE and Condon SE, Investigating and improving a COTS-based software development process. Proc. 22nd Int. Conf. Software Eng., ICSE 2000, Limerick, Ireland, pp. 31 - 40 http://www.prod.sandia.gov/cgi-bin/techlib/access-control.pl/2006/060478.pdf Gottshalk, E. Technical Overview of IBMs Java Initiatives, 1 April 1999 http://www128.ibm.com/developerworks/java/library/j-tech/tech.html#2 <as of August 2005>. This article also appeared in the IBM Systems Journal The purchase of ready made software, either as major components of a system, or as a complete system has been long established. Often the software will permit some level of customisation. Individual packages and complete systems have been copiously described and have not been listed here. The use of off the shelf software, COTS, has been the subject academic study, with COTS selection being integrated into some standard development processes and the subject of many papers such as that by Morisio et al.. There also exist formalised selection processes we searched the web and found one at the USs Sandia National Laboratories. A form of COTS could be available in kit form one attempt waw the IBMs SanFranciso project described Gottshalk. This was not a success, but worht reading and reflecting on. Open Source code Fink, Martin (2002) The Business and Economics of Linux and Open Source, Prentice Hall, Upper Saddle River Fitzgerald B. and T Kenny (2003), Open Source Software in the Trenches: Lessons from a Large-Scale OSS Implementation, 24th International Conference on Information Systems, Seattle, WA, USA, 11 - 14 December 2003, pp 316 - 326. A very promising source of software in the Free/Libre Open Source Software (FLOSS) movement. As with any business decision, deciding for FLOSS needs a sound business case taking into account all the pitfalls, as explored by Fink. Fitzgerald and Kenny give a specific example, well worth reading in full. Many organisations have decided in principle to use FLOSS software, mostly on cost grounds, but also on quality grounds. Both worth reading. Software as a Service Dewire, Trevor (1997) Thin Clients: Web-based Client/Server Architecture and Applications McGraw-Hill Education (Sep 1997)( Institute of Directors (2002) Software as a Service Kogan Page
Issue 1.

13

MSE Bibliography

Woods, Bernard (1993) Communication, Technology, and the Development of People. Routledge. Software as a service has its origins in the bureaux of the 1960s, but as computers became cheaper, bureaux disappeared. When in 1993 Bernard Woods wrote about software as a utility this seemed an impossible dream, and yet today with the coming of the broadband internet it is a reality. Read Bernard Woods for a vision from the point of view of enabling wider access to computers, and Trevor Dewire for the vision from the technical perspective of network computers and thin clients, brought to wider notice by Larry Ellisons battles with Microsoft. However, while there are many whitepapers available concerning how to set up SaaS systems, we could only find one book, and an old one at that, by the Institute of Directors aimed at demystifying SaaS through case studies.. Outsourcing and offshoring Carmel, Erran and Paul Tjia (2005). Offshoring Information Technology Sourcing and Outsourcing to a Global Workforce, Cambridge University Press New, Steve (2005) Software Development Across Boundaries: Lessons from Supply Chain Management, Said Business School, University of Oxford, http://www.serviceoriented.com/isen/Report2.html <as of August 2005> Sparrow, Elizabeth Anne (2005) A Guide to Global Sourcing. Offshore outsourcing and other global delivery models. The British Computer Society. Outsourcing software development and services either within the same country, or offshore to some place where labour is cheaper, is seen as good business sense, as described in the book by Sparrow and the report by New. These business arguments are being backed up by sound academic study, with case studies reported by Erran Carmel and Paul Tjia. This is an area of activity that is just going to grow, and Carmel and Tjia, and Sparrow, both make good reads. Particularly intriguing is the proportion of the software engineering workforce that is working in off shoring, and the question this raises in our minds of the potential neglect of the domestic market and growth in the use of computers within India.

Chapter 7: Software activities


Brooks F.P. (1995); The Mythical Man-Month, 20th Aniv. Edition, (First Edit. 1975), Addison-Wesley, Reading, MA: 322 pp Checkland, P. (1981) Systems Thinking, Systems Practice, Wiley, Chichester. Davis, William s. (1983) System Analysis and Design, Addison Wesley Jackson, Michael (1976) Structured Programming. Academic Press. Naur P. and Randell B.(eds)., Software Engineering Report on a Conference sponsored by the NATO SCIENCE COMMITTEE, Garmish, Germany, 7-11 Oct 1968, p.15. http://homepages.cs.ncl.ac.uk/brian.randell/NATO/ <as of 25 July 2005> Nijssen, G.M. and T.A.Halpin (1989) Conceptual Schema and Relational Database Design. A fact oriented approach. PrenticeHall
Issue 1.

14

MSE Bibliography

Pressman R.S. & Ince D. (2000); Software Engineering A Practitioners Approach, European Edition, 5th Ed., McGraw Hill, Maidenhead, UK, 2000 p 134-5 Royce, W.W. (1970) Managing the Development of Large Software Systems: Concepts and Techniques Proc. WESCON, IEEE Computer Society Press, Los Alamitos, CA, 1970. Reprinted at the ICSE'87, Monterey, California, USA. March 30 - April 2, 1987 Sommerville, I. (1992) Software Engineering, 4th Edition. Addison-Wesley, Wokingham. Vidgen, Richard, David Avison, Bob Wood and A Trevor Wood-Harper (2004) Developing Web Information Systems: From Strategy to Implementation ButterworthHeinemann We take the view that all software development, whether the production of new systems or the customisation and integration of existing software, involves a number of typical activities, originally presented within the waterfall lifecycle of Royce. Royce did not, of course, invent these, but simply reported what had emerged in practice in the US and in Europe. However, even though it is good practice to read original papers and not rely on secondary accounts, there is no point in digging out the Royce paper, and instead look at any standard book on information systems development or software engineering. We have listed just three here, by Sommerville, by Pressman, and by Davis and by Vidgen et al; all of these classic texts originated in the 1980s even if they are now available in modern new editions. Skim read these books to see how they divide up the activities, and how they present them, but do not try reading them from cover to cover, just dip into them as needed. Compare their view of activities with those focused on in Naur and Randells report on the NATO software engineering conference in 1968, or Brooks account of practices within IBM at that period. Also compare these modern accounts with accounts fo database design we have suggested just one book here, by Nijssen and Halpin bringing together their own views of developments in the database community going back to the early 1970s. For a completely contrasting view, look at Checklands soft systems method, or Jacksons structured programming. Some specialist topics
Fenton, Norman (1991) Software Metrics. A Rigorous Approach. Chapman & Hall

Fenton, Norman E. and Shari Lawrence Pfleeger (1998) Software Metrics: A Rigorous Approach PWS; 2nd Revised edition Graham, Dorothy, Erik van Veenendaal , Isabel Evans , Rex Black (2007) Foundations of Software Testing: ISTQB Certification, Thomson Learning (8 Jan 2007) Myers, Glenford (1979) The Art of Software Testing. John Wiley and Sons. Two important areas would require further reading since these topics tend not to be adequately treated in general texts. These are software testing and metrics, often treated as if these are part of quality assurance. The classic text on testing in Glenford Myers 1979 book, though there are now many other excellent books available, such as the very
Issue 1.

15

MSE Bibliography

recent book by Graham et al. Testing software is quite unlike the testing of other engineering artefacts, and consulting books outside of software is not worthwhile. In contrast, software metrics has sound precursors in measurement theory, so books on software metrics came later the best in our view is that of Norman Fenton, or the later edition where he was joined by Shari Pfleeger.

Chapter 8: Software processes


Glass, Robert (2002) Facts and Fallacies of Software Engineering Addison Wesley Temper all the reading of this chapter with reading this book by Robert Glass. Classical software development methodologies. Ashworth, C. and Goodland, M (1990) SSADM: A Practical Approach, McGraw-Hill, London. Zachman, J.A. (1987) A framework for information systems architecture IBM Systems Journal, Vol 26 No 3 pp 276-292, this was extended in J.F. Sowa and J.A. Zachman (1992) Extending and formalizing the framework for information systems architecture IBM Systems Journal Vol 31 No 3 pp 590-616. The original paper was republished in the IBM Systems Journal in 1999, Vol 38 Nos 2&3 pp 454-470. General texts following the classic sequential process model have already been suggested for Chapter 7. It would be worth looking at some methodologies, such as the UK governments SSADM described by Ashcroft and Goodland, or Zachmans influential Enterprise Architectures which seems to us to be no more than a repackaging of the ideas covered in our Chapter 7. Get hold of any proprietary software development methodology you can some of these contain profound insights into what needs to be done in developing software, but all are highly prescriptive and bureaucratic. User-centred Software Design Barnum, Carol M. (2001) Usability Testing and Research Longman ISBN: 0205315194 Clement, A. and Van den Besselaar, P. (1993) A retrospective look at PD projects. Communications of the ACM, June, 29-37. Cooper, Alan (1995) About Face: The Essentials of User Interface Design Hungry Minds, US Kuniavsky, Mike (2003) Observing the User Experience: A Practitioner's Guide for User Research Morgan Kaufmann ISBN: 1558609237 Mumford, Enid (1995) Effective Systems Design and Requirements Analysis: the ETHICS Approach. Macmillan. Mumford, Enid and Don Henshall (1979) A participative approach to computer systems design, London: Associated Business Press Neilsen, Jakob (1993) Usability Engineering. Academic Press. ISBN 0-12-518406-9

Issue 1.

16

MSE Bibliography

Norman, Don (2002) The Design of Everyday Things Basic Books; 1st Basic edition ISBN: 0465067107 Originally published in 1988 under the title of the Psychology of Everyday Things. Sharp, Helen and Yvonne Rogers, Jenny Preece (2004) Interaction Design: beyond human-computer interaction John Wiley and Sons. ISBN: 0470018666 Shneiderman, Ben (1987) Designing the User Interface. Strategies for Effective HumanComputer Interaction. Addison-Wesley Users are important. Early books like those by Schneiderman, by Norman, and by Nielsen, focused on general principle of what would make systems easy to use. You should have all of these classics on your bookshelf, and read them. Alan Coopers books also focuses on surface phenomenon but goes much more into the technical devices, the widgets, used in interface design, with some interesting insights into programmers quirks like easter eggs. These interface focused books did not have too deep a regard for the underlying functions, what the system did for the users, and the different thread of participative development arose, exemplified above by the two books by Mumford, and by the review paper by Clement and Van den Besselaar. More recent books such as that by Sharp et al, merge these, while complimenting these has come usability assessment, ensuring that the system as built doe meet the users needs. The books by Kuniavsky and by Barnum are strongly recommended. Formal Methods ACARD (1986) Software: a Vital Key to UK Competitiveness. HMSO, London, 1986. Brooks, F.P. (1986) No silver bullet essence and accidents of software engineering. In H.-J. Kugler, Ed. Information Processing 86. North-Holland, Oxford, 1986, pp. 10691076. Dahl, O-J, E. W. Dijkstra, and A. R. Hoare. Structured programming. Academic Press., 2nd edition, 1973 Jackson, Michael (1983) System Development, Prentice Hall. Jones, Cliff (1980) Software Development: A Rigorous Approach, Prentice Hall International. Wordsworth, John (1992) Software Development with Z. A Practical Approach to Formal Methods in Software engineering. Addison Wesley. Formal methods have long history going right back to when programmes were small and could be reasoned about, as exemplified by the Dahl et al book. This is interesting history, and for those who programme, reading the Dahl book, and in particular the chapter by Dijkstra, is worthwhile. Approaches were developed to handle larger systems, such a VDM (Cliff Jones) and Z (John Wordsworth), and Jacksons own idiosyncratic method. All of these are worth looking at, the introduction in Jackson;s book gives deep insights into the nature of systems.

Issue 1.

17

MSE Bibliography

If you can get hold of it, read the ACARD report to see how influential these approaches had become. But it did not continue, and at the same time as the ACARD report hailed salvation for software through mathematics, Fred Brooks was counselling that no single approach would solve all problems. Formal methods still have an important role to play, but only in critical and small cases. Object oriented methods Booch, Grady (1994) Object-oriented analysis and design, with applications. Second Edition. Addison-Wesley. Cox, B.J. (1990) There is a silver bullet. Byte. 15, 10, 209-218. Ivar Jacobson and Magnus Christensen (1992) Object-oriented Software Engineering: A Use CASE Approach Addison Wesley Rumbaugh, James , Michael Blaha, and William Premerlani (1991) Object-oriented Modeling and Design Prentice Hall Rumbaugh, James, Ivar Jacobson, and Grady Booch (2004) The Unified Modeling Language Reference Manual Addison Wesley; 2nd Revised edition Wirfs-Brock, Rebecca, Brian Wilkerson, Lauren Wiener (1990) Designing ObjectOriented Software, Prentice-Hall Brad Cox was one of the pioneers of object oriented methods, focusing on objects as software components (he called them software integrated circuits) when Brooks proclaimed no silver bullet, Cox refuted this, offering objects. Since Cox a great many books have been written we list the four classics of Booch, Jacobson an Christensen, Rumbaugh et al, and Wirfs-Brock et al with all these threads coming together in UML as documented in the book by Rumbaugh, Jacobson and Booch. Just read the last of these. Components, Patterns and Frameworks Alexander, C. (1977) A Pattern Language: Towns/Buildings/Construction, Oxford University Press Bass, Len, Paul Clements and Rick Kazman (1998) Software Architecture in Practice. Addison-Wesley Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P. and Stal, M. (1996) Patternoriented Software Architecture: A System of Patterns, John Wiley Elrad, Tzilla , Mehmet Aksit, Siobhan Clarke, Robert E. Filman (2004) Introduction to Aspect-Oriented Software Development Addison Wesley Professional Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1995) Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, ISBN 0 201 63361 2. Jan Bosch (2000) Design and Use of Software Architectures. Adopting and evolving a product-line approach. Addison-Wesley Larman, Craig (1998, 2002) Applying UML and Patterns, Prentice Hall, Pearson Education.
Issue 1. 18

MSE Bibliography

Myers, Glenford (1973) Reliable Software through Composite Design, Van Nostrand
Reinhold

Shaw, Mary and David Garlan (1996), Software Architecture - Perspectives on an Emerging Discipline. Prentice Hall . Software components originated as modules and subroutines, with the principles laid out in books like Myers. We have previously seen books on components in the list on legacy and reuse for Chapter 6. Component only really took off when architectures (read Shaw and Garlan, rather than Bass et al) and frameworks set components in context. Patterns became important, and the two classic texts you should own and read are those of Gamma et al, and Buschmann et al , with Larmans book complimenting these with higher level application oriented patterns. Patterns in software were inspired by work in architecture by Chris Alexander read the book cited here, and others, for background. Architectural patterns are known as frameworks, and provide the basis for repeat production of nearly the same system, in product lines as described by Jan Bosch. Some properties of systems, like security, cannot necessarily be localised to one or a few components, and these have been abstracted out as aspects, the subject of conferences, but also one book by Elrad et al. Open Source Software Development Raymond, Eric (1999) The Cathedral and the Bazaar. Musing on Linux and Open Source by an Accidental Revolutionary. OReilly. Feller, Joseph and Brian Fitzgerald (2002) Understanding Open Source Software Development Addison-Wesley Koch, Stefan (2005) Free/Open Source Software Development Idea Group The Open Source movement has its own unique way of developing software that is well documented by Eric Raymond, with the book Feller and Fitzgerald complimenting this. Together these two books should give you all the insight into how open source software is developed and why it turns out so reliable. Cap these with Stefan Kochs book if you want a third opinion. Agile Methods Beck, Kent (2000) eXtreme Programming eXplained. Embrace Change. Addison-Wesley Beck, Kent (2002) Test Driven Development By Example Addison Wesley Cockburn, Alistair (2002) Agile Software Development: Software Through People Addison Wesley The best known proponent of agile methods is Kent Beck, so read his two books. However, also look at Alistair Cockburns, and then read Robert Glasss book cited at the start of this Chapter.

Issue 1.

19

MSE Bibliography

Chapter 9: Maintaining and evolving software


General reading Arthur, L.J, (1988) Software Evolution: The Software Maintenance Challenge, John Wiley, New York. Leintz, B,P, and E.B. Swanson (1980) Software Maintenance Management, AddisonWesley, 1980. Parikh, Garish and Nicholas Zvegintzov (eds): Tutorial on Software Maintenance, IEEE Computer Society, 1983. Concern for Software maintenance goes back many years, with Leintz and Swansons classic book appearing in 1980. Read this one if you only read one of the above. Empirical studies Lehman M.M. and Belady L.A. (eds.) (1985); Software Evolution Processes of Software Change, Academic Press, London Empirical studies of software are deeply embedded, and attributed to the many researches of Victor Basili. In the software evolution areas, the empirical study was founded by Lehman and Belady. Reverse engineering Chikovsky, E.J. and Cross, J.H.II, (1990) Reverse Engineering and Design Recovery: a Taxonomy. IEEE Software. January 1990 Hall PAV (1992) Overview of Software Reuse and Reverse Engineering Research, IST Journal, April 1992 pp239-249 While reverse engineering is important in making good the inadequate design documentation of old code, the interest in this has diminished, and to find out about it you might as well refer to a survey paper, such as that of Chikovsky , or of Hall. Metrics Card David N., and Robert L. Glass, Measuring Software Design Quality, Prentice-Hall, Englewoods Cliffs, NJ, 2000 We have already covered metrics in general in Chapter 6, recommending Norman Fentons books. If you want a second point of view, try Card and Glass book.

Part III MANAGEMENT: Making it all happen


If you can get hold of commercial reports, like those from the Gartner Group in the US, or Ovum in the UK, do read them; they often contain fascinating facts discovered by surveys that reveal what really happens. Regrettably access to these is often privileged, and may cost a lot.

Issue 1.

20

MSE Bibliography

Chapter 10: Managing resources


Project Management Cockburn, Alistair (1998) Surviving Object-Oriented Projects, Addison-Wesley, Boston, MA, 1998 Hughes, Bob and Mike Cotterell (2005) Software Project Management McGraw-Hill th Publishing Co.; 4 Revised edition Schwalbe, Kathy (2004) Information Technology Project Management Third Edition. Thomson Course Technology. Pressman R.S. & Ince D. (2000); Software Engineering A Practitioners Approach, European Edition, 5th Ed., McGraw Hill, Maidenhead, UK, 2000 p 135 Pressmans book on software engineering has a management slant, but regrettably the description is not well integrated, though good for particular topics. Rather read a specialist book on project management, like those excellent books of Bob Hughes and Mike Cotterell, or of Kathy Schwalbe. If you are particularly concerned about object oriented software development, read Cockburn Work content Estimation Boehm B.W. (1981) Software Engineering Economics. Prentice Hall. Boehm B.W., Abts C., Brown A.W., Chulani S., Clark B., Horowitz E., Madachy R., Reifer D. & Steece B. (2000); Software Cost Estimation with COCOMO II, Prentice Hall, Upper Saddle River, NJ: 540 pp DeMarco. Tom (1982) Controlling Software Projects. Yourdon Press. Jones, Capers (1991), Applied Software Measurement, McGraw-Hill, Symons, Charles (1991), Software Sizing and Estimating: MkII Function Point Analysis, J.Wiley and Sons The classic book on software cost estimation is that of Barry Boehm, though this is a massive tome, better borrowed from a library, and dipped into. This 1981 volume has now been superseded by Boehm et als 2000 volume read that. The alternative to the COCOMO method of estimation is function points. Whole ideas around function points go back to Tom DeMarco, only dip into that book, and read Caper Jones and Charles Symons. The Human Resource DeMarco, Tom , and Timothy Lister (1999) Peopleware: Productive Projects and Teams Dorset House. Humphrey, W.S. (1977) Introduction to the Personal Software Process, Addison-Wesley, 1997, 278 pp. Humphrey, W.S. (1997) Managing Technical People, Addison-Wesley

Issue 1.

21

MSE Bibliography

DeMarco and Listers book is a good read, full of good advice, worth reading, and owning. Watts-Humphreys books are also full of good advice, and worth reading. The human resource is so important in software that you really cannot overdo reading in this area.

Chapter 11: Managing work products and digital assets


Bersoff, Edward H., Vilas D Henderson, and Stanley G. Siegel (1980) Software Configuration Management Longman Higher Education) Boiko, Bob (2004) Content Management Bible Hungry Minds Inc, U.S.; 2nd revised edition Mikkelsen, Tom and Suzanne Pherigo (1997) Practical Software Configuration Management. The latenight developers handbook. Prentice Hall Whitgift, David (1991) Methods and Tools for Software Configuration Management Wiley The first book on configuration management for software appeared in 1980. This book by Bersoff et al contained all the essential ideas, and should be referred to for context or refer to the paper that appeared about the same time. David Whitgifts book ten years later covered more or less the same ground, though of course more up to date on software tools to support the process. What you really need is an up to date book, like Mikkelsen and Pherigo, however, it is important not to lose sight of first principles, so we recommend either Bersoff et al or Whitgift, plus Mikkelsen and Pherigo. Content management is not quite the same as configuration management, so you should read some book in this area, such as Boikos Content Management Bible (at over 1000 pages, these bibles do get a bit wordy. Or just get some experience in content management, talk to people who do it.

Chapter 12: Software quality


Barry Boehm, John Brown, Hans Kaspar, Myron Lipow, Gordon MacLeod and Michael Merritt, (1978) Characteristics of Software Quality, North-Holland Feigenbaum, Armand (1951) Quality Control: Principles, Practice, and Administration, republished as Total Quality Control, McGraw-Hill Education International Student 4th Edition. Garvin, D, What does quality really mean? Sloan Management Review, Fall 1984. Land, Susan K. (2005) Jump Start CMM/CMMI Software Process Improvements: Applying IEEE Software Engineering Standards John Wiley & Sons Inc (2005) Jalote, Pankaj (1999) CMM in Practice: Processes for Executing Software Projects at Infosys, Addison Wesley Joseph M. Juran (Editor, with Frank M. Gryna as Associate Editor) (1988), Quality Control Handbook McGraw-Hill, fourth Edition. Juran , Joseph M. and A. Blanton Godfrey (1996) Juran's Quality Handbook, McGrawHill Professional, Fifth Edition, 1872 pages
Issue 1.

22

MSE Bibliography

Kehoe, Raymond, Alka Jarvis and A Shah-Jones (2001) ISO 9000-3: A Tool for Software Product and Process Improvement Springer-Verlag New York McCall J.A., P.K. Richards and G.F. Walters, (1977) Factors in Software Quality, 3 volume RADC report, 1977 Oakland, John S. (1989) Total Quality Management Butterworth Heinemann Robson, Mike (1982) Quality Circles, Gower 1982 Quality assurance began in manufacturing processes for physical goods, associated with people like Juran and Feigenbaum. While the works form them would not be sensible reading today for software engineers, they did lead on to other development that do apply. Discussions about what is quality by Garvin, and Mike Robsons book on quality circles, while general, do apply to software and are worth consulting. Similarly Total Quality Management as described by Oakland is also general, but applies to software. Specific to software, McCall et al and Boehm et al have reflected on what software quality is, looking to reduce this to a simple combination of more primitive quality factors. Even though this reductionist view of quality is no longer pursued, this early books are worth looking at. Much more worthwhile would be to look at quality systems and how they are implemented and assure quality. For CMM and its derivatives, the books by Susan Land and Pankaj Jalote would be a good start before turning to the formal manuals from SEI. For ISO 9000 there are a number of books explaining ISO 9000 from a software perspective, though the books we have seen are relatively unfriendly best so far seems to be Raymond Kehoe et als account. After that it will be studying the ISO documents.

Chapter 13: Managing uncertainty and risk


Boehm, Barry (1988) A Spiral Model of Software Development and Enhancement, Computer, May 1988, pp. 61-72. Boehm, Barry (1989) Software Risk Management, IEEE Computer Society Press,U.S. DeMarco, Tom and Tim Lister (2003) Waltzing with Bears: Managing Risk on Software Projects, Dorset House Publishing Co Inc.,U.S. Ould, Martyn (1999) Managing Software Quality and Business Risk, John Wiley and Sons Ltd Barry Boehms well known 1988 spiral development model is all about risk management, and it is not surprising that he also published a book on this subject in 1989. However, that book is old, so we recommend for you to consider reading two others. Tom DeMarco and Tim Lister are very experienced software engineering consultants who write well and kick off with the aphorism If a project has no risks, don't do it" try them. But also try Martyn Oulds book he is a UK software engineer with many years experience with critical systems, systems where risk is a central focus.

Chapter 14: The way forward


Cusumano, Michael A. and Richard W. Selby (1995) Microsoft Secrets. Harper Collins.

Issue 1.

23

MSE Bibliography

Moody, Fred (1995) I Sing the Body Electronic, Hodder and Stoughton Messerschmitt, D.G. and C. Szyperski (2003), Software Ecosystem Understanding an Indispensable Technology and Industry, MIT Press: Cambridge, MA, pp. 363. For this final chapter we suggest reading some general accounts of software and its application. Try reading two contrasting accounts of life in Microsoft. Cusumano and Selby give a managerial account of how Microsoft engineers produce software, while Moody gives a much more human account of how it is to work there. Then read Messerchmitt and Szyperski to see how they feel it all fits together and compare their account with the one we have given in our book.

Issue 1.

24

Оценить