LitMy.ru - литература в один клик

Guide to Software Project Management

  • Добавил: literator
  • Дата: Сегодня, 17:35
  • Комментариев: 0
Название: Guide to Software Project Management
Автор: Gerard O’Regan
Издательство: Springer
Серия: Undergraduate Topics in Computer Science
Год: 2025
Страниц: 308
Язык: английский
Формат: pdf (true), epub
Размер: 44.9 MB

This essential textbook presents an overview of software project management in an ethical and responsible software engineering environment. The book covers the essentials of software project management, and highlights the importance of ethics and professional responsibility as part of the skill set of the modern project manager.

Programmers are like engineers in that they build software products, and they therefore need education in traditional engineering as well as in the latest technologies. The education of a classical engineer includes product design and mathematics. However, often Computer Science education places an emphasis on the latest technologies, rather than on the important engineering foundations of designing and building high-quality products. Programmers therefore need to learn the key engineering skills to enable them to build products that are safe for the public to use. This includes a solid foundation on design and on the mathematics required for building safe software products. Mathematics plays a key role in classical engineering, and in some situations, it may also assist software engineers in the delivery of high-quality software products.

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software, and the study of such approaches.
Software engineering includes:

1. Methodologies to design, develop, and test software to meet customers’ needs.
2. Software is engineered. That is, the software products are properly designed, developed, and tested in accordance with engineering principles.
3. Quality and safety are properly addressed.
4. Mathematics may be employed to assist with the design and verification of software products. The level of mathematics employed will depend on the safety-critical nature of the product. Systematic peer reviews and rigorous testing will often be sufficient to build quality into the software, with heavy mathematical techniques reserved for safety and security critical software.
5. Sound project management and quality management practices are employed.
6. Support and maintenance of the software are properly addressed.
  
Software engineering is not just programming. It requires the engineer to state precisely the requirements that the software product is to satisfy, and then to produce designs that will meet these requirements. The project needs to be planned and delivered on time and budget. The requirements must provide a precise description of the problem to be solved: i.e., it should be evident from the requirements what is and what is not required.

Topics and features:

Presents a solid overview of software project management
Discusses professional and ethical responsibilities of project managers
Presents an overview of ethical software engineering
Reviews project planning and scheduling, project monitoring and control, risk management and project closure
Discusses quality management of software projects
Presents an overview of legal and ethical aspects of outsourcing
Discusses project management for both traditional and Agile projects
Reviews a selection of tools & metrics to support project management
Discusses best practice (Prince 2, PMP and CMMI) to improve project management
Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary

Chapter 1 presents a broad overview of software engineering, and discusses various software lifecycles and the phases in traditional software development. We discuss requirements gathering and specification, software design, implementation, testing and maintenance. The lightweight Agile methodology is discussed and it is mainstream in software engineering.
Chapter 2 discusses professional responsibility in software engineering, and we discuss the code of ethics of various bodies such as the British Computer Society, Institute of Electrical and Electronic Engineers and the Association of Computing Machinery. Chapter 3 discusses ethical software engineering and we discuss notable failures such as the space shuttle disaster and the defective Therac-25 radiotherapy machine.
Chapter 4 discusses legal, ethical and professional responsibilities of project managers. Project managers have a professional responsibility in their work and are accountable for the actions that they take or fail to take. They are required to behave ethically with their clients, and to be aware of their legal and ethical responsibilities during the project.
Chapter 5 provides an overview of software project management, and we discuss project estimation, project planning and scheduling, project monitoring and control, risk management, managing communication and change, and managing project quality. We conclude with a discussion of well-known project management methodologies such as Prince 2 and Project Management Professional.
Chapter 6 discusses software project planning, and we discuss activities such as project initiation, effort estimation, project planning and scheduling, and risk identification. We discuss the preparation and evaluation of the business case to determine if the project makes business sense, and the composition of the project board.
Chapter 7 discusses risk management, and we discuss activities such as risk identification, risk analysing and evaluation, identifying responses to the risk, selecting and implementing a response, and managing risks throughout the project lifecycle. We conclude with a case study on risk management in dealing with the COVID-19 pandemic.
Chapter 8 discusses software quality management for projects, and it is essential that the software be of high quality, as well as being safe, reliable and fit for purpose. We discuss software inspections, testing, audits, quality reviews and lessons learned, as well as process maturity frameworks such as the CMMI and ISO 9000. We discuss various problem-solving tools to support quality management, including fishbone diagrams, histograms, pareto charts, and trend charts.
Chapter 9 discusses project monitoring and control, which involves monitoring project execution against the plan, and taking corrective action when progress deviates from expectations. It involves monitoring the project activities and checking that they are completed on schedule and with the required quality, and re-planning where appropriate.
Chapter 10 is concerned with software outsourcing and we discuss the selection and management of a software supplier. We consider how candidate suppliers may be identified, formally evaluated against selection criteria, and how the appropriate supplier is selected. We discuss how the selected supplier is managed during the project, and consider legal and ethical aspects of outsourcing.
Chapter 11 is concerned with the activities during project closure, which includes the successful completion of the customer acceptance testing and the handover of the software to the customer. It involves the preparation of the lessons learned report and the end project report.
Chapter 12 discusses software configuration management and discusses the fundamental concept of a baseline. Configuration management is concerned with identifying those deliverables that are subject to change control, and controlling changes to them.
Chapter 13 discusses project management in the Agile world, where Agile is a popular lightweight approach to software development. Agile provides opportunities to assess the direction of a project throughout the development lifecycle, and ongoing changes to requirements are considered normal in the Agile world.
Chapter 14 is concerned with project metrics and we discuss the balanced score card which assists in identifying appropriate metrics for the organization. The Goal, Question, Metrics (GQM) approach is discussed, and this allows appropriate metrics related to the organization goals to be defined. A selection of sample metrics for project management is presented.
Chapter 15 discusses various tools to support project management. We discuss the Cocomo estimating approach developed by Barry Boehm in the late 1970s. We discuss the ProjectLibre tool that is an alternative to Microsoft Project. We also discuss Project Manager, Jira and Planview.
Chapter 16 discusses continuous improvement of project management. It begins with a discussion of a software process, and we discuss the benefits that may be gained from a software process improvement initiative. We discuss several models that support software process improvement such as the Capability Maturity Model Integration (CMMI) and ISO 9000. We discuss best practice in project management from methodologies such as Prince2, Project Management Professional (PMP) and the CMMI.
Chapter 17 is the concluding chapter in which we summarize the journey that we have travelled in this book.

Audience:
The main audience of this book are Computer Science students who are interested in learning about professional and ethical software project management, and in learning on how to build high quality and reliable software on time and on budget. It will also be of interest to industrialists including project managers, software engineers, quality professionals and software managers, as well as the motivated general reader.

Скачать Guide to Software Project Management












[related-news] [/related-news]
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.