SirLib
Managing changes in User Language-based environments is one of the most
challenging tasks facing managers in Model 204 shops. To address those
tasks, most managers rely on some type of management system--automated
or manual in nature. The simplest system for managing changes must be able
to track programmer activity, prevent changes from being overwritten, move
procedures and files across environments, allow for backout of changes,
and provide a host of reporting and scheduling functions.
SirLib is a system for managing User Language changes that handles all
aspects of change control and that is fully integrated into a package of
programmer efficiency tools. SirLib allows managers to quickly and accurately
track work in progress, apply and backout changes, and distribute new releases.
SirLib addresses both management and technical needs of projects, whether
they are being newly designed and implemented or are in long-term
maintenance mode.
Programmers using SirLib will find that the integrated edit environment
increases productivity.: Ffast and efficient search capabilities as well
as, full-screen procedure edit, browse, copy, move, delete, and rename
functions significantly ease common tasks, while a facility for along with
full-screen capture of Model 204 commands provides an otherwise unavailable
capability.
SirLib commands for managing changes are part of this integrated environment
and a package designed to enhance programmer efficiency, not reduce programmer
productivity. From the programmer's point of view, the change management
portion of SirLib is transparent. Programmers using SirLib spend more time
programming and less time trying to figure out who changed what code, creating
paper histories of changes, making backup copies of procedures, or maintaining
home-grown change management utilities, making backup copies of procedures,
or creating paper histories of changes.
SirLib allows each project manager to determine the mount of control
and security to use on a project. Updates may be limited to a single programmer
or to a procedure. Managers may force all updates to go through SirLib.
Reconfiguration may be limited to only the project leader. The project
leader may insist that no changes occur until a logical change identifier
is entered in SirLib. Or, all these controls can be bypassed and SirLib
used on an honor-system basis while still providing significant benefits
in tracking, applying, and reporting on changes to code.
SirLib doesn't dictate a particular promotion scheme to users. With
SirLib a shop standardizes on a mechanism for change control while allowing
each project to manage versions and maintenance releases, and apply bug
fixes and back-outs, via the change promotion path to which it is best
suited.
Change Management using SirLib; XCOMPARE utilities
produce change decks in development allowing for small
distribution datasets. Sirlib applies these changes in each
environment, allowing for quick and simple reconfiguration.
Accommodating Different-sized Shops and Projects
In some Model 204 shops, one project will consist of a half-time programmer,
two users, and a set of files so insignificant nobody remembers their
organization
type, while the next project will have 50 programmers, hundreds of users,
and design details agonized over by teams of business analysts. Using SirLib
as the mechanism for change control allows each project to determine the
appropriate amount of control to be exercised over programmers, procedure
integration, and releases. SirLib allows straight-forward promotion for
simple projects, system sign-offs, and complex integration paths for closely
managed projects.
And Different Levels of Control
SirLib can be configured to allow only one programmer at a time to "chec
"checkout"
a User Language procedure. Alternatively, a number of programmers
can work on the same procedure at the same time and SirLib will apply each
programmer's change during a "re-configuration" of the procedure
file. Possible update collisions are handled early in the development process
and the possibility of one programmer writing over the top of another
programmer's
changes is eliminated.
Change Control Process
SirLib is based around a set of XCOMPARE utilities that reduces the
granularity of a change to a section of a procedure. When programmers complete
updates they use the XCOMPARE facilities to generate change decks: small
procedures containing only the lines of code altered by the programmer.
SirLib applies these change decks to base procedures in the procedure file.
Multiple change decks can affect the same section of code, and, in the
rare case that a change prevents another change from applying correctly,
the user is informed and the offending change deck can be re-generated.
Identifying and Reporting Changes
Because it is based around the concept of "change decks",
identifying changes in a release is simple and highly accurate. Precise
line-counts of changed code can be reported for a release, along with exact
functional descriptions of those changes,. Programmers don't have to remember
each change they made, and managers can see directly how much work has
been done. The changed code can be reviewed for conformity to shop standards
and construct efficiency. Along with making possible this type of manual
review, SirLib supplies managers with a set of reports that summarize code
changes and programmer activity.
To provide these benefits without burdening the programmer with clerical
tasks, none of the extensive data used in SirLib reports need manual input.
All reporting data is generated directly by program activities. Managers
can elect to use SirLib documentation facilities to enter an unlimited
amount of text and to associate text with a particular change or a particular
version release.
Distributing and Migrating Changed Code
SirLib allows users to distribute changes, whether it be by Model 204
DUMP/RESTORE, by sharing update files across onlines, by IEBGENER, or by
a networked distribution system. SirLib, however, gives users the advantages
of distributing small procedure files containing nothing but change decks,
thus massively reducing the size of distribution datasets and adding the
ability to select custom configurations from those change decks. With SirLib
all changes to all procedure files can be distributed in a single small
Model 204 file.
Handling Emergency Fixes
Most inhouse-developed change control allow for violations of promotion
paths to address the need for quick fixes. Sometimes these fixes need to
be put into production without going through integration, QA, testing,
and staging. This creates a situation where these ad-hoc fixes will not
be integrated into the application system, or will be written over by some
other programming change.
SirLib eliminates the need for programmers to circumvent the proper
change control procedures.
Easy Backout of Problematic Code Changes
Fixes are distributed in change decks, and applied one change-at-a-time.
The ability to remove a single change from a set of change decks and to
reconfigure a procedure file is almost infinite and is extremely fast.
There is no longer a need for ad-hoc fixes, on-call programmers, or backward
copying of production procedures. Further, because reconfiguring a procedure
file to a particular version is so simple, dependence upon external backups
is virtually eliminated.
Configuration Management to Suit Your Needs
In shops with multiple environments, changes are applied in each when
it is convenient and appropriate for that environment, and without the
need to time procedure file reconfiguration to dependencies in the batch
cycle.
SirLib is one member of a family of tools designed to increase the efficiency
and effectiveness of the User Language programmer. If you have User Language
applications, you would benefit by using SirLib and related Sirius Software
products, SirPro and SirXref.