PROCESS
DEVELOPMENT, IMPROVEMENT, and DOCUMENTATION
|
Process Improvement Management
Project management should include
measurement, assessment, and improvement of the organization's project
processes. This is often managed by a Program Management Office (PMO).
Regardless of the formalisms employed by an organization, there
is room for measurement and for process improvement. Even if your development
organization is a small and free-spirited one, you can improve reliability,
predictability, and the bottom line through basic processes.
There are few developers
who have not learned the hard way the value of source code control. It's
essential to be able to back out a change. No one wants to find out the
changes just made were overwritten by someone else making different changes to
the same file.
Many development shops have
learned the hard way that it is critical to be able to repeat release
builds. How can you support a release that you cannot build again in
your own shop?
How can you tell if your
application is ready to release? By what means do you determine that it
has been adequately tested?
What kind of software are you
releasing? How much tolerance does the application have for errors.
Project Management and Process
Improvement
These are but a few process related topics that project managers
must address. The top notch project manager seeks out those areas in the
development environment that can most benefit from simple process adjustments,
or the addition of processes through data collection and measurement. Few
development shops can tolerate cultural upheaval introduced by wholesale process
change. An incremental approach is often preferable.
Measurement of organizational performance is
a key to understanding what is working, and what isn't. Institution of
metrics, targeted at the organization and not the individuals comprising the
organization go a long way to helping determine where process improvements will
help.
The Carnegie Mellon
Software
Engineering Institute - Capabilities Maturity Model Integration (SEI CMMI)
and ISO 9001are two formal processes used by some development
organizations. The SEI CMMI, in very simple terms, defines five levels at
which software development organizations may be classified. The levels
indicate the maturity of the organization in terms of defined
development processes, and the adherence to those processes. ISO 9001 is
defined by the International Standards Organization and sets forth
requirements for the documentation of quality processes within an organization.
Project Managers should strive to
understand, follow, and improve upon (or introduce where appropriate) processes
that improve the reliability and predictability of software projects. This
is in part accomplished by defining metrics and measuring against those metrics.