“If builders built buildings the way programmers write programs, then the first woodpecker to come along would destroy civilization”
– Gerald M. Weinberg, Weinberg's Second Law
There maybe some truth to that but
if we look at things from a 2000 ft cruise altitude, we may infer differently. In
1628, the grand warship Vasa launched
for her maiden voyage. It started as a ceremonial trot around the Stockholm
harbor but ended up in a disaster within ten minutes. The Vasa sank, taking many of those
aboard with her. Loss of lives, money, reputation, and availability for war
were a few of the consequences. Can we blame the shipbuilders as we blame the
programmers – or is there a bigger problem, perhaps in the process used to
build Vasa or create software
programs or in project management method.
It is easy to point fingers but to
find the root cause of a failure and use the lessons for the future is the
right thing to do. Often, the difference between success and failure is
spotting critical early warning signs that a project is in trouble. Rich Cook
wrote an article for CIO.com in which he described IT project failures as a
fish left too long in the refrigerator, the failure becomes all too obvious. Once
the fish starts to stink, the clean up of the fridge is done using baking soda.
Only about 1/3 of the all projects end up being successful. So how do you
convert project failures into project success – spot the stinky fish early. How
do you do that? – add probes or sensors in your refrigerator that would trigger
an alarm before the fish goes bad. Let us further examine what those sensors
can be that will help us detect problems on a project. A lot of these are hard
to measure objectively as some of these detection patterns come with
experience.
Transparent Communication
One of the keys to detecting
problems on a project is to have open communication. Managers don't have to
wait for a status report meeting to find something is hung up. One key way
to facilitate transparent communication is for managers to build trust with the
project team members. If a project manager feels that the communication is not
transparent, he or she should look at building trust and also keep track of the
grapevine messages. Both inter-communications between management with the team
and intra-communication between team members need to be healthy. It is the
manager’s job to effectively manage both and resolve conflicts before they
escalate. "Everyone is allergic to bad news." As a result, it's all
too easy to develop a culture where bad news is slow to percolate upward – which
deprives management of vital, if unpleasant, information. An environment where
bad news is accepted will help build that trust for employees to be
transparent. The earlier the bad news is received, the easier and less costly
it is to fix the problem.
Project Management Methodologies
Project management methodologies
used to run a project could also determine how quickly problems can be detected.
Proponents of iterative development (agile project management) focuses on
breaking projects into small chunks and delivering pieces of it fast for user
feedback – this help to correct the course of the project as there are several
milestones and the risky issues are handled first. On the other hand, waterfall
model where the entire project proceeds step by step from analysis to final
delivery can be hiding problems till no recovery is possible. More the
milestones, better the tracking.
Lack of Commitment
Detecting lack of commitment or
interest from project members can be another sign, which could lead to failure.
One way to prevent that is to allow members to take ownership of the work they
are doing. Also, the members should understand the goal and vision of the
project and should be motivated by the outcome with tied incentives.
Inherently, majority of software developers are introverts. Therefore, having a
positive energy in the work environment helps. They are also creators so
providing them flexibility in terms of work schedule can help them motivate. EA
Sports is big on providing their employees with flexible work environment.
Although working on a video game can be motivating enough, working to meet
strict timelines can be de-motivating. So offering flexibility and additional
on-campus services (e.g. gym, dry cleaning, car wash, mani-pedi, etc) helps to
get them committed.
Project Management Tools
Moving on to more objective
measures, there are tools, which can tell managers of the heartbeat of the
project. Managers can use dashboard tools that provide visibility into a
project at the click of a mouse. Tools like TargetProcess can help keep track
of progress. It works similar to the tracking tools car dealers use when you
take your car for servicing. The tool keeps track of every detail of the work
that is supposed to done. It tracks who is working on it and the progress from
one stage to another. One word of caution is that these tracking tools are as
good as how well the employees input their progress. Therefore, proper
governance is needed to maximize the use of these tools.
A way to hide problems on a project
is for employees to work lots of overtime. In the Giga Safe case, the employees
were working overtime with no proper strategy and the management was trying to
meet the deadlines by making the teamwork work hard and not smart.
Another sign of a troubled project
is when an enormous amount of resources are diverted to one project. From my
personal experience, I have seen it happen a few times where several new team
members were assigned to a “troubled” project. Most of the time this resulted
in delays with old members training new ones and the quality of the end product
suffered.
Schedule slips can trigger alerts
that the project is in trouble. If there are too many reported software bugs
that haven’t been fixed, may indicate a quality issue. Last but not least,
scope creep or scope relaxation can also be indicators that the project is
running into trouble.
All these project attributes can be
tracked via a project management tool with active updates to management from
the reporters. These project attributes are similar to the smelly fish and the
tools are our sensors to detect the smell and notify us of a rotting fish – in
this case a troubled project.
prepared by Deepak