CS3007A Software Project Management

Published on January 2017 | Categories: Documents | Downloads: 42 | Comments: 0 | Views: 318
of 8
Download PDF   Embed   Report

Comments

Content

CS3007A Software Project Management
Study Guide 1998-99
Dr Robert Macredie E-mail': [email protected]

Introduction
This module will introduce the area of software project management, presenting basic techniques and approaches and aiming to develop a critical awareness of the challenges and shortcomings of the area. This is a core 20-credit component in semester 5 of the undergraduate single honours courses in Computer Science and Information Systems/Computing and Business. The module builds on a knowledge of Software Development presented in CS1016S and CS2077S. Professional Issues also contributes useful background knowledge to parts of the module (CS2045S). It is assumed that students have a basic understanding about the decomposition of a project into phases, and the relation of these phases to the Software Development Life Cycle. This understanding will be developed and clarified in the module. Software Project Management is an important area of study since most non-trivial software development efforts will be make use of some type of project management approach in an aim to manage the development process in such a way that the software meets its requirements and is on-time and within budget.

Aims and Objectives
This module will introduce and develop concepts that are seen as central to the effective management of software projects. You will be expected to develop an appreciation of key, generic project management concepts and techniques as well as those techniques and approaches that are specific to the management of software projects. As well as knowing the core techniques, you will be expected to apply them across a limited range of software project management scenarios. Through your practical application of software project management techniques, the module will aim to highlight their problems. You will be expected to critically reflect on the inherent limitations of project management techniques to build a wider understanding and appreciation of the difficulties associated with developing software within a project framework. This will lead to a questioning of the notions of success and failure that are at the heart of project management and their relation to projectbased approaches to software systems development.

Learning Outcomes
The broad learning outcomes for the module are as follows:

• • • •

be able to explain how a project can be broken down into stages and what each stage contributes to the project be able to select appropriate techniques for use in the stages of a project be able to justify the appropriateness of these techniques, and apply them to practical situations be able to explain the limitations of the project approach in developing information/software systems

There will also be specific learning outcomes for each session as we progress through the module (these will also form the focus for problem sheets which you will be given each week). These will be presented at the start of each session as an introduction and to provide structure for the session.

Module Overview
The broad structure of the module reflects its distinct aims, and leads to two themes being identified: the first theme introduces and examines the central software project management techniques and concepts; the second theme takes a more critical view of software project management, questioning its appropriateness in the development of software systems. The syllabus structure is as follows: Theme 1: Software Project Management Techniques and Concepts In this theme, the module will explore the following topics
1. 2. 3. 4. 5. 6. 7. 8. 9. the profile of a project understanding and decomposing the task estimation and risk scheduling and resourcing monitoring and control quality assurance maintenance the project team and the project manager alternative approaches and emerging issues

Theme 2: A Critical Reflection on Software Project Management This theme will critically reflect on the project management paradigm and its appropriateness for the development of software systems, through the broad subject headings of:
1. the fixed-point nature of traditional software project management 2. notions of success and failure in software project management

You should develop a sound knowledge of the software project management process and some of its constituent techniques, whilst also developing a critical awareness of the characteristic limitations of software project management as a paradigm for the development of software systems.

Detailed Module Structure and Syllabus
Theme 1: Software Project Management Techniques and Concepts

Session 1: An Introduction to Software Project Management This session provides the context for the module. Scenarios in which software projects are likely to be situated are explored, including projects aimed towards product development and those situated within an organisational context where the project is an agent of change. The session will consider the characteristics of software projects which distinguish them from non-software/conventional engineering projects, so that we can start to see what general project management knowledge and techniques might be useful in software project management. This will help us introduce, at a high level, the techniques to be covered in the remainder of the theme. There is no preparatory reading specifically for this session, but Kemerer (1997), Chapter 1, provides an excellent introduction to the subject of software project management and its problems/challenges which will resurface in Theme II of the module. Session 2: The Profile of a Project This session will propose a broad model of a project in terms of the phases that projects tend to pass through (project start-up; development; completion; operation) and discuss how we can develop representations of these phases in terms of process models. The session will also briefly consider the role of (system development) lifecycle models (such as the waterfall model, incremental model, spiral model) and structured methods (such as SSADM) within software project management. Yeates and Cadle (1996). Chapter 5. Session 3: Understanding and Decomposing the Task This session will discuss the role of developing a project plan. The importance of trying to understand the task that is to be addressed in the project and the ways in which it can be broken down will be examined. This will include understanding the requirement of the project and looking for different ways in which this can be decomposed into distinct levels and activities (such as work and product breakdown structures). The importance of understanding the dependencies between different activities will be explored through a discussion of network diagrams and critical path analysis (CPA). Other planning aids, ranging from simple manual techniques such as Gantt charts through to more complex and sophisticated planning tools, will be introduced. Yeates and Cadle (1996). Chapter 6. Pressman (1997). Chapter 3, section 3.3. Chapter 5, sections 5.1, 5.2, 5.3, and 5.6. Session 4: Estimation and Risk This session will discuss the nature of estimation and its role in software project management. Different methods for estimating will be introduced (such as the analogy method, analysis effort method, programming method, the Delphi technique, CoCoMo, and function point analysis). Allied to estimation are issues of risk. For example, there may be risks to the project associated with using particular resources or from the political climate in the organisation. It is important that these risks are understood so that they, and their impact on the project, can be managed. Yeates and Cadle (1996). Chapters 7 and 13. Kemerer (1997). Chapters 2 and 5. Advanced reading is chapter 3. Pressman (1997). Chapter 5, section 5.7. Chapter 6

Session 5: Scheduling and Resourcing This session will draw together the previously introduced topics of task decomposition and estimation to show how dependency information and estimates can be brought together to form a workable schedule for projects. The session will also introduce the notion of contingency and how to build it into project schedules to deal with possible problems that may arise in projects. The different ways in which the schedules can be translated into written plans will be introduced along with the characteristics of different approaches to documenting plans. Yeates and Cadle (1996). Chapter 8. Pressman (1997). Chapter 7. Session 6: Monitoring and Control Having reached a stage in our discussion of software project management where we will move on to consider issues in the actual running of the project. These include monitoring the progress of the project and making changes to try to keep the project on course. Selected methods for monitoring effort, cost and quality will be introduced. If the monitoring processes identify areas where the project had problems, it is important that those involved in the project take corrective action to control the project. The value of selected corrective actions (such as adding more staff, adding different skills, using overtime, changing the project plan) will be introduced. Yeates and Cadle (1996). Chapters 9 and 10. Session 7: Quality Assurance A key issue in software project management is quality assurance. This session will discuss notions of quality and approaches to ensuring quality in software project management that have been developed. This will include the work of prominent individuals (such as Deming, Juran, Crosby and Fagan) along with the development of coherent quality assurance frameworks such as total quality management (TQM) and systems such as ISO 9000. Yeates and Cadle (1996). Chapter 12. Pressman (1997). Chapter 8. Session 8: Maintenance A difficult area in software project management is the maintenance of the software system. This session will examine the nature of maintenance and why it is important that it is considered in the context of software project management. Kemerer (1997). Chapter 11. Pressman (1997). Chapter 8. Session 9: The Project Team and the Project Manager This session will look at the roles of the manager and team members in project work. The nature of the individual, their characteristics and personality within the team will be discussed as will the role of the project manager. Broad issues of team formation and effective team working will be explored. Yeates and Cadle (1996). Chapters 18 and 20 (Chapters 21 and 22 are also relevant as further reading). Pressman (1997). Chapter 3, section 3.2. Session 10: Alternative Approaches and Emerging Issues

In this session we will introduce alternative techniques and approaches which acknowledge some of the limitations of 'traditional' approaches to software project management. These may be development techniques such as Rapid Application Development (RAD) which aim to shorten project development time, or quality systems such as the Capability Maturity Model for Software (CMM) and the Software Process Improvement Capability dEtermination (SPICE) project. Kemerer (1997). Chapter 12. Pressman (1997). Chapter 29. Martin (1991). Chapters 1 and 2. several papers on CMM are available at http://www.sei.cmu.edu/ Humphrey (1989) and Humphrey (1995) are advanced reading for those interested in CMM and the philosophy behind it.

Theme 2: A Critical Reflection on Software Project Management
Session 11: The Fixed-Point Theorem and the History of the Mistake This session, drawing on the work of Paul, Grindley and Mintzberg, will provide two perspectives on software project management which will provide the opportunity to reflect on the characteristic limitations of traditional approaches. The fixed-point theorem reflects the rigid requirements driven design that is traditionally adopted for systems development This session will explore the inherent limitations of the fixed point theorem, and discuss its impact on system project management and resulting systems. An alternative view will be developed which moves the focus from providing a system to fulfil certain predefined requirements to initiating a system which can evolve to meet the changing needs of users and organisations over time. The 'History of the Mistake' will draw on Grindley's work to provide an examination of the problems faced (and arguably caused) by the 'traditional' approaches to software project management alongside the role played by change. Paul (1993). Grindley (1986) is interesting background reading. Mintzberg (1994) is an excellent book which will be especially pertinent for CiB/IS student who will go on to take the module on Strategy in the Spring semester. Session 12: Success and Failure This session will consider the concepts of success and failure in relation to software systems through some well publicised cases. Success and failure are examined from a philosophical as well as a practical viewpoint. Particular emphasis will be placed on the effects that business change can have on the development of software systems, and therefore on software project management. This is a difficult topic and some of the following reading is quite difficult. You will not be expected to read the following works, but they will be interesting background for those who wish to follow this topic in detail. CiB/IS students are also likely to come across this topic in more detail in case studies covered in the Spring semester. Lucas (1976); Lyytinen and Hirschheim (1987); DeLone and McLean (1992); Sauer (1993).

Assessment

The module is formally assessed wholly through examination. The paper is three hours long, and you will be expected to answer five questions from ten. The examination will be held at the end of the Autumn semester in the University's normal examination period.

Problem Sheets and Classes
Support for the examination will be provided through worked example sessions. Each week, you will be given a non-assessed problem-sheet (through the Department's web pages) associated with the current lecture session. The problem sheets will contain questions which relate to the learning outcomes of the current session. You can answer the questions on the problem sheets yourself or work in groups. Working in groups will give you the chance to debate your answers and support each other in learning about the subject matter. This important point is to use them as a structured way of reviewing and building on the material the we have covered. Discussion of your responses to the problem sheet will take place in the single-hour timetabled session. You will only get significant value from the problem sheets if you prepare well for the problem class discussion by attempting the relevant problem sheet and contribute to the class discussion. You will not get anything from just attending the classes and trying to take notes of other peoples answers. The problem sheets are about developing understanding. You have to take responsibility for this away from the timetables sessions. In summary, the problem sheets will give you the opportunity to explore the issues being considered in each session and develop your knowledge and skills as the module progresses. The sheets and the material that they cover will also form a core of revision material for the examination.

Study Guidance
You will be expected to undertake independent reading and preparation to develop your understanding of the area and to attempt to problem sheets. This independent work will form an integral part of the module and will be drawn on in the lecture and group work sessions. The ethos of the module is that you are expected to take control of your own learning by relating what you understand from the lectures and the reading to your own experience. You will benefit from and enjoy the module the most if you are active in developing your understandings beyond the content of the lectures. The core readings identified in the study guide for each session are a necessary part of the module, and will serve to orient you to the issues involved, which will be expanded upon in the sessions. It is better to do the core reading ahead of time, since you will find the sessions much more rewarding if you have some understanding of the issues involved. Any supporting reading examines particular aspects of the topics (maybe a particular piece of research and some specific findings). You will also be expected to integrate material from other relevant modules which may form background to aspects of systems project management.

Reading List

Yeates, D. and Cadle, J. (1996). Project Management for Information Systems (2nd edition) (London, UK: Pitman Publishing). (Essential Text) Pressman, R. S. (1997). Software Engineering (4th Edition) (London, UK: McGraw-Hill). (Essential Reading) (Earlier editions of Pressman, such as the 1994 3rd edition, also cover the material, though the chapter and section numbers may be different from those given as directed reading) Kemerer, C. F. (1997). Software Project Management: Readings and Cases (Chicago: IRWIN). (Essential Text) Paul, R. J. (1993). Dead Paradigms for Living Systems. In the Proceedings of the First European Conference on information Systems, Henley (Birmingham: Operational Research Society), 29-30 March. (Essential Reading) Grindley, The Report (1986). Fourth Generation Languages: Volume 1, A Survey of Best Practice (London, UK: IDPM Publications). (Recommended Reading) Martin, J. (1991). Rapid Application Development (London, UK: Macmillan). (Recommended Reading; Overview chapters only) Mintzberg, H. (1994). The Rise and Fall of Strategic Planning (London, UK: Prentice-Hall). (Background Reading) Humphrey, W. S. (1989). Mass.: Addison-Wesley). Managing the Software Process (Reading, (Background Reading)

Humphrey, W. S. (1995). A Discipline for Software Engineering (Reading, Mass.: Addison-Wesley). (Background Reading) Lucas, H. C. (1976). Columbia University Press). Why Information Systems Fail (New York:

Lyytinen, K. and Hirschheim, R. (1987). Information Systems Failures: a Survey and Classification of the Empirical Literature. Oxford Surveys in Information Technology, 4: 257-309. DeLone, W. H. and McLean, E. R. (1992). Information Systems Success: the Quest for the Dependent Variable. Information Systems Research, 3(1): 60-95. Sauer, C. (1993). Why Information Systems Fail: A Case Study Approach (Henley-on-Thames, UK: Alfred Waller). Adams, S. (1996). The Dilbert Principle (London: Boxtree Ltd.). (Absolutely Essential Reading) Adams, S. (1997). Dogbert's Top Secret Management Handbook (London: Boxtree Ltd.). (Absolutely Essential Reading)

Other Useful Books
The following books may also be useful. The first two books are generic Project Management texts, which do not focus on software projects. The last book is a recent release on software projects which have been problematic. Some of you may see material from this book in the Information Systems Seminars module.
Shtub, A., Bard, J. F. and Globerson, S. (1994). Project Management: Engineering, Technology and Implementation (Englewood Cliffs, NJ: Prentice Hall). ISBN 0-13-102765-4. Spinner, M. P. (1997). Project Management: Principles and Practices (Upper Saddle River, NJ: Prentice Hall). ISBN 0-13-6066909. Glass, R. L. (1998). Software Runaways: Lessons Learned from Massive Software Project Failures ((Upper Saddle River, NJ: Prentice Hall). ISBN 0-13-673443-X.

The case studies at the end of Kemerer (1997) are also good in-depth material to help you think about some of the issues covered in the module and see them in relation to real-world events.

Links to Problem Sheets
Links to problem sheets will be added each week as the topics are covered. Problem Sheet 1 Problem Sheet 2 Problem Sheet 3 Problem Sheet 4a Problem Sheet 4b Problem Sheet 5 Problem Sheet 6 Problem Sheet 7 Problem Sheet 8 Problem Sheet 9 Problem Sheet 10 Problem Sheet 11

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close