|
The ultimate effect of over planning
is that the team and the management spend more
time in planning and re-planning rather than reaching
the goal of delivering the project, notes
Dr R Srinivasan
"In
the case of Detailitis plan, over-planning still
continues in the various stages of the project
development, with a wrong belief that it will
lead to effective completion of the project "
Having seen the antipatterns
in software development and software architecture,
the next few antipatterns to be studied are the
ones that occur in software project management.
It is one of the most difficult activities in
any engineering discipline and it is more challenging
to manage a software development project.
A software development to be
successful calls for a balance among various considerations.
Typical ones are formalised construction, using
well defined and reusable components adhering
to the processes to have good control on the development,
adapting new and current technologies, pattern-oriented
developments to solve known problems and above
all leading the project team in an effective manner
so that human aspects are also taken into consideration.
A project manager in software development should
take care of the software process management,
resource management that includes not only hardware
and software but also the members in the team,
and also establishing and maintaining relationship
with customers and partners. Each one of us who
has been involved with the software industry goes
through different kinds of stresses at different
times.
In this regard it has always
been emphasised that a good manager should be
able to moderate the stress levels of the organisation,
particularly when they have to face serious consequences
of the project not meeting the planned goals.
We will be discussing the management antipatterns
to illustrate how a software development project
can be affected by issues related to members in
the team, non-conformity to processes, inadequacies
in infrastructure and also lack of experience
in handling the customer and external people.
The first antipattern that we
will be seeing in this direction is 'Death by
Planning'. In any project development, planning
is a very vital aspect. Of course, planning has
to take place only after the given problem is
understood and thoroughly analysed. It is absolutely
essential to take good care of the planning process;
but in some cases the team and the manager take
it too seriously that it may result in over-planning.
William Brown illustrates two types of over planning,
called as, 'Glass Case Plan' and 'Detailitis Plan'.
The Glass Case Plan is like something which is
assumed to be the best and put in a glass for
exhibition.
In some organisations this happens,
thinking that the plan which was decided before
starting the project is the best and so it does
not even go through the process of reviewing.
The reasons for such a decision may be many like
inability and inadequate experience to plan at
a pragmatic level or overconfidence on the plan,
saying that there is a plan of the project, which
will save it from the customer, or too much of
commitment as long as the project is funded etc.
But, it will result in unforeseen consequences
resulting in continued increase in cost during
development of the project, frustration among
the team members, pressure from the customer,
crisis management of the project and as an extreme
case cancellation of the project.
Glass Case Plan is a subset of
Detailitis plan, which means that the act of over-planning
will cease as soon as the project is started.
In the case of Detailitis plan, over-planning
still continues during several stages of the project
development with a wrong belief that it will result
in an effective completion of the project and
delivery to the customer. The ultimate effect
is that the team and the management spend more
time in planning and re-planning, rather than
reaching the goal of delivering the project.
Both these cases of over planning
are clear examples of the violation of successful
software development practices and lack of project
management processes. The refactored solution
for either of these is to revamp and go to following
the software development processes like: good
planning and tracking using a Gantt chart, identifying
the deliverables and milestones at the planning
stage. The plan must be base lined and certified
by the quality department which will enable an
effective tracking to identify slippages in efforts
and schedule. The most important part in the development
cycle is to have reviews at each stage to get
the approval of not only the plan but also design
approvals at the conceptual as well as specification
levels, test plans and maintenance plans.
( To be continued)
(The
author is Chief Technology Officer, Internet Component
Management Group, Bangalore and can be contacted
at: r.srinivasan@iCMGworld.com)
|