Software Development Project
Management
Project Management for
software related projects includes understanding and being a part of
the software development process. Project management can encompass
the full software development lifecycle. Software development
should never be an ad hoc hack. The project manager is responsible
for ensuring adherence to a development methodology.
There are many
software development methodologies, including the traditional
waterfall, salmon run, and
spiral
models. The advent of object oriented technologies and the Internet
have resulted in more aggressive development methodologies such as
rapid application development (RAD), xTreme programming, Agile
development, sprints, and rapid prototyping. The
advantages of these more aggressive methodologies are many,
including the ability to better measure progress, to provide more
frequent and regular feedback to stakeholders, and to adapt to
changing requirements more readily.
All these development
methodologies include, to some extent, the basic concepts of
requirements, design specifications, coding,
and
testing. Whether across a cycle of months, or through a
series of compressed cycles measured in weeks, development
methodologies should address these core elements. The project manager
is responsible for ensuring all the core and ancillary process steps
are properly followed.
Management of the
software development process includes a range of activities
including managing and motivating developers, scheduling and
monitoring progress against the schedule, and measuring and
assessing the implementation against the requirements.
Managing and
motivating:
Scheduling and
monitoring:
Measuring and
assessing: