|
|
|
Software Configuration Management is a critical component in
any software development team. While I am well versed in
many commercial and free-ware products in this area
(including Source Safe, PVCS, RCS, and CVS), my primary
focus is on the ClearCase product family from Rational Software.
|
|
|
|
I started performing CM tasks in 1985, when I worked at ComputerVision.
I wrote wrappers around SCCS and performed Release Engineering
functions for the CV-Unix operating system - an OEM version
of SunOS 2.0 (yes, we're going back a bit here!). Since that
time, I have been consistently involved in CM work, as
an engineer, as a manager (for 3 years), and as an independent
contractor.
|
|
|
|
My client was closing a development office in Europe and
moving the code base to the US. The code in question consisted
of approximately 45,000 source and data files. Source control
was provided by CVS. Product builds were based on a collection
of home-grown shell scripts and Makefiles. There was no support
available from the previous European development team. I was
given an output log of a complete build on each UNIX platform.
I imported the code into ClearCase VOBs, ported the build rules
into the format required by the clients existing Makefile-generator,
and wrote a new system build procedure to best leverage the
clients existing tools and ClearCase. I then provided Release
Engineering support and training for the first US-developed
release of the product, which was shipped on time.
|
|
|
|
My client had purchased a number of smaller companies during
the past year. Once these diverse companies completed their prior
development commitments, they needed to pull together and form a
single team. I led a team that
integrated the development environment merging all
aspect of 4 very different ClearCase-based development teams.
This involved many difficult technical issues, including
hierarchical client/server systems structure vs. peer-to-peer
systems structure, generated Makefiles vs. hand-crafted
Makefiles, heavy reliance on development branches vs a "develop
on /main" philosophy, and the folding of MultiSite-replicated
environments into a single environment. This also involved many
cultural changes, as are expected when acquired companies are
fully integrated into the new parent. When we were done, we had
an environment with over 60 VOBs, 250 client machines, and a
consistent environment, including product builds and
branching/release strategy.
|
|
|
|
My client was a start-up developing a software product for use
by Radiologists. As part of their approval process, they were
facing an FDA process audit for their software development
process. I worked with the engineering team to develop and document
the development and release process for the company. There were
no issues in this area during the FDA process audit.
|
|
|
|
My client was a mid-size software contract house. Their normal project
involved 2-3 engineers working on a project for 2-3 months, then
turning the project over to their client. When they got a large
contract with the US Government, they need to show expertise in
configuration management for a 20 person, 2 year project. I joined
the team to define Configuration Management Standards and implement
Source Control and Product Build tools into the development
environment.
|
|
|
|
My client was a start-up planning to use ClearCase. Past experience
of the management team, both positive and negative, had convinced
them that investing in a solid ClearCase environment from the start
was the proper way to go. I was brought in to analyze everything
about the existing environment and it's suitability for
ClearCase. I worked with the IT team (read: person!) to implement
many infrastructure changes to the network and systems
environment to allow for smooth ClearCase operation. I helped to
determine the proper configuration for a new VOB server. I worked
with the development team to develop the directory tree structure
and VOB layout. I then converted the tree from the initial CVS
version to the new VOB layout. As part of this conversion, I updated
the build process and makefiles to work in the new structure, and
to work with ClearMake. The end result was a solid ClearCase
environment operating on Solaris, Linux, and Windows.
|
|