|
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, iCMG, Bangalore. He can
be contacted at r.srinivasan@icmg.nu)
|