|
It is normally thought that if project
planning is good, everything will go smoothly
from then on. Dr R Srinivasan says that
the execution of a project is as important and
challenging as the planning part
"Project
Mismanagement Antipattern happens if there is
inadequate monitoring and control at every stage
of the development process"
It has been mentioned in earlier
articles that project management encompasses all
activities, right from receiving the proposal
from the customer to delivering the product and
warranty maintenance. These activities are categorised
into different stages in the software life cycle
development. In the last article we discussed
the antipattern on Irrational Management; we will
now move on to see another on similar lines, called
as Project Mismanagement. Naturally the name itself
implies that it happens during the development
stages of the project. It is normally mistaken
that if the plan is good, everything should go
smoothly from then on. Actually it is not so,
execution of any project is as important and challenging
as the planning.
Project Mismanagement happens
if there is inadequate monitoring and control
at every stage of development, even though utmost
care has been taken to bring out a good project
plan at the initial stage. By the word control
we mean Quality Control, which is emphasised to
be the most important aspect to be taken care
of particularly in software development. The reason
is that software being the driving force in many
areas of technology today, any small slip up might
lead to catastrophe in the field. It is therefore
essential to follow the rules and regulations
in the quality process at every stage. This is
done by software monitoring through periodical
reviews in which, not only the project team and
its manager will be involved but should also include
representative from quality control group and
also a peer person external to the project.
The reviews will have to cover
the project plan, code reviews/ coding standard
deployed, test plan and test procedures, checking
the validity of deliverables, etc. If we take
the case of test plan, it should include the testing
of different units or modules, integration of
these modules and also the complete system testing.
However, unfortunately in some cases, all these
do not happen in a controlled manner leading to
Project Mismanagement.
There may be many reasons for
the occurrence of this type of antipattern. To
site a few, the reviews may take place infrequently,
defects in the course of the development are not
brought forth immediately for corrective action,
architectural inadequacies leading to problems
in integrating the modules, particularly in the
area of interoperability, etc. All these point
to the fact that proper care has not been taken
by the software architect, the designers and the
manager. Even if this has been the reason, it
is the responsibility of the Quality Control group
to evaluate the defects and bring it to the attention
of the project manager.
If corrective action is not taken
immediately, the problem should be escalated to
the higher ups in the organisation, rather than
postponing until the acceptance stage. The best
refactored solution for this antipattern on Project
Mismanagement is to resort to risk management.
Risks are normally identified at many points during
the life cycle of the development process. Moynihan,
et al, in their paper on 'Riskman1: A prototype
tool for risk analysis for computer software',
presented in the Third International conference
on Computer-Aided Software Engineering in 1989,
identified risk management under three categories,
viz, managerial, at common failure points of the
project and quality.
They mention that at the managerial
level risks are caused and resolved by the corporate
management where it has to be stressed upon that
the correct process should cover the end-to-end
definition of the product development and in order
to do it the roles and responsibilities should
be clearly identified for implementation of the
processes. The next category on common failure
points of the project may cover over runs in schedule
and the associated cost and wrong assumption of
the specifications, leading to technical failure.
Risks categorised under the quality aspects will
include an effective project plan, followed by
an efficient monitoring and control process, administering
rules to cover coding strategy using coding standards
and good maintenance plan and support. An important
point is, "a theme of risk management is
the absence of a common understanding resulting
in an inconsistent view of development, which
leads to the risk of the solution not meeting
the scope of the problem requirements".
( To be continued)
(The
author is Chief Technology Officer, Internet Component
Management Group, Bangalore and can be contacted
at: r.srinivasan@iCMGworld.com)
|