Data Management
Key to Team Productivity
Srinath Anantharaman
Fremont, Calif. -- Historically, electronic design
automation (EDA) tools have focused on making an individual designer
more productive. Revolutionary advances in EDA technology, like
high-level design, have made each designer significantly more productive,
resulting in larger designs being completed in shorter time. However,
the ability to put an entire system on a chip and the shrinking
of market windows continues to place severe demands on design teams.
To cope with this problem, hardware design teams are getting larger
and hardware and software is being developed concurrently. Members
of the hardware and software groups must work concurrently on different
tasks, sometimes at different sites, sharing large number of files.
|

|
|
Srinath Anantharaman is the president of ClioSoft Inc., Fremont,
Calif.
|
|
Such a solution, though it may appear to work, has subtle but severe
implications on the efficiency of the team. Firstly, it discourages
all concurrent development. It requires that the entire team be
on the same page at all times. This implies that you must take a
conservative approach to checking in changes and that will slow
down your development. Otherwise, you take the risk of bringing
the entire team to a halt when incorrect changes are checked in.
Secondly, it may give you a false sense of security because you
have old revisions of all the files available. A real design consists
of many thousands of files spread over many directories. Names of
files and the organization of the directories may change during
the course of a project. When you want to revert back to a previous
known good state, you need to be able to revert back to the right
revisions of all the files; you also want them in the right directories
with the right names. If you are unable to recreate the exact configuration,
your revision control system is merely an illusion of a security
blanket. Finally, since there is very little project visibility,
the system requires endless meetings and e-mails, which is a very
inefficient and error-prone means of communication for large projects.
Engineers must be able to access design data reliably and communicate
effortlessly, whether they are at the same site or spread over multiple
geographically dispersed locations. They should be able to share
their changes with select members of their group without disrupting
work in progress. Different engineers in the team should be able
to work concurrently on different aspects of the same design.
As the team size grows, the cost of any mistake multiplies. If
an engineer forgets to check in a file, which is an integral part
of a change set, then the entire team can get disrupted. If a system
engineer fails to get all the right revisions of files, you may
lose valuable verification time or even create a faulty tape-out.
Methods must be instituted to increase the visibility into the progress
and status of the project. This automatically increases awareness
and reduces errors, directly translating into high-quality products
delivered on schedule. Even if mistakes are made, you should be
able to recover quickly without affecting the whole team. Managers
and project leaders should be able to monitor the progress of the
project and take corrective action before it is too late. The success
of a project hinges on how efficiently the entire team works together.
The key to maximizing team productivity and quality lies in effectively
managing data, streamlining design flow, improving communication
and increasing the visibility into the status of the project. Using
a common set of data management tools and rules, for both the hardware
and software groups, will automatically improve communication and
reduce errors. However, a word to the wise: Make sure that the tools
and methods employed are easy to use, or the gains in productivity
may easily be negated by training and administration costs.