Page 18 -
P. 18
1 - INTRODUCTION
1.3.1 Why Software Project Management Is Challenging
Every discipline has unique aspects that differentiate it from other disciplines. Within those disciplines, the general
principles of project management are adapted to account for the special aspects of the projects in those disciplines.
Many factors make software projects and management of software projects challenging. Some of those factors are:
s Software projects are challenging because software is an intangible and malleable product; source code for
software is written text. In most cases, teams of software developers generate and revise shared documents
(e.g., requirements, design specifications, code, and test plans). Software development is often characterized
as a learning process in which knowledge is gained and information is generated during the project.
s Key attributes that make software projects challenging are complexity of the project and the product,
nonlinear scaling of resources, measurement of project and product, initial uncertainty in project and
product scope, and knowledge gained as a project evolves.
s Software requirements often change during a software project as knowledge is gained and the scope of
the project and the product emerge.
s Requirements for new and modified software often influence, and are influenced by, an organization’s
business processes and the workflow processes of employees.
s Intellectual capital of software personnel is the primary capital asset for software projects and software
development organizations because software is a direct product of human cognitive processes.
s Communication and coordination within software teams and with project stakeholders often lack clarity.
Many of the tools and techniques used in software engineering are intended to improve communication
and coordination.
s Creation of software requires innovative problem solving to create unique solutions. Most software projects
develop unique products because replication of existing software is a simple process, as compared to
replication of physical artifacts. Software projects are more akin to research and development projects
than to construction or manufacturing projects.
s Software projects involve risk and uncertainty because they require innovation, the product is intangible, and
stakeholders may not effectively articulate or agree upon the needs to be satisfied by the software product.
s Initial planning and estimation for software projects is challenging because these activities depend on
requirements, which are often imprecise or part of historical data that is often missing or inapplicable.
Preparation of accurate estimates is also challenging because the efficiency and effectiveness of software
developers is widely variable.
s Product complexity makes development and modification of software challenging because of the
enormous number of logical paths within program modules combined with data values that exercise the
paths, and the combinations of interface details among program modules.
s Exhaustive testing of software is impractical because of the time that would be required to test all logical
paths and interfaces under all combinations of input data and other input stimuli.
s Software development often involves inclusion of different vendor products and development of interfaces
to other software; this may result in integration and performance issues.
6 ©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition
®