Page 19 -
P. 19
1 - INTRODUCTION
s Because most software is interconnected, information security techniques are necessary. Software
security is a large and growing challenge.
1
s Objective quantification and measurement of software quality is difficult because of the intangible nature
of software.
s Software developers use processes, methods, and tools that are constantly evolving and are frequently
updated.
s Software is often the element of a system that is changed when functionality, behavior, or quality attributes
are to be changed.
s A software product may be required to operate on a variety of hardware platforms and infrastructure
software.
s Executable software is not a stand-alone product. It is executed on computing hardware and is often an
element of a system consisting of diverse hardware, other software, and manual procedures.
s Platform technologies, infrastructure software, and vendor-supplied software are frequently changed or
updated, which can necessitate changes to the software being developed.
Like many products of knowledge work, software is intangible; it is not a physical entity that can be evaluated
by traditional measures (mass, volume, conductivity, specific gravity). It is, however, constrained by factors such as
the processing hardware, available memory, and communication bandwidth.
The intangible nature of software creates challenges in measuring the current state of the product, which in
turn complicates monitoring and controlling a software project. Traditional approaches, such as work breakdown
structures, schedule networks, and earned value reporting, are tailored to fit the needs of software projects. These
traditional techniques are augmented with techniques such as iterative and/or incremental development with
frequent demonstrations of partially completed software.
The malleable nature of software has both positive and negative connotations for managing software projects.
On the positive side, the malleability of software makes it possible to sometimes (but not always) respond rapidly
to changing user needs and other environmental factors, as compared to changing the elements of computer
hardware or other physical artifacts. On the negative side, interrupting ongoing work to responding to requested
changes may overwhelm schedule and budget constraints.
Every software project is a unique endeavor because replication (i.e., copying) of existing software is a
straightforward process—unlike replication of the physical artifacts of manufacturing and construction projects.
Every software project is thus an undertaking that produces a unique product. The goal of manufacturing is to
repeatedly produce artifacts that are as nearly identical as possible, given the constraints of material science
and practicalities of manufacturing technology and market acceptability; whereas the goal of a software project
is to produce one perfect copy of a software product, within the constraints of schedule, budget, resources, and
software and hardware technology.
Software is a direct product of the cognitive processes of individuals engaged in intellect-intensive,
innovative teamwork. While it is true that all engineers engage in intellect-intensive teamwork, the fact that
software is developed and modified without the intervening constraints of physical media or manufacturing
©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition 7
®