We will work with you in the proposal stage
of a consulting project to adapt its scope to
fit your specific needs.
Solution: Solution: Many major systems were designed in close consultation
with the agency staff and built to their specifications. System user
interfaces were designed to vary according to the needs and skills of a
diversity of users, from professionals making occasional inquiries to
full-time data-entry operators. The project was completed on-budget
and on-time, and the systems were the mainstay of the agency's
operations for almost 10 years.
Problem: Project: A professional services firm needed a system to manage
project budgets for numerous projects led by in-house directors and
outside contractors. The system had to work with an existing
accounting package which provided no data-export capabilities, and
add a unique probabilistic "expected value" accrual system, recognizing
changes in reserves for prior quarters and prior years as project "chance
of closing" estimates changed.
Solution: Solution: To minimize both the costs and risks of duplication, a
method was devised to extract both data and budget category
specifications from the existing accounting package automatically.
Then stand-alone analysis programs were designed and developed to
provide the necessary budget/actual breakdowns to allow management
to identify problems and patterns. The system has been the backbone of
project-based financial management for 8 years, and numerous ancillary
projects have been pursued.
Problem: A major public authority's accounting system
was suffering from program errors. Crashes were
frequent, leading to progressive data corruption. The
system consisted of over a thousand programs, and there
was no access to the designers or to previous
programmers. Daily operations were critical and no
significant downtime could be scheduled.
Solution: An automatic approach was taken. First a task
force of diagnostic and data-repair programs were written
to stabilize the situation. These were run daily to head off
impending crashes and prevent further data loss. Then an
"archaeological" group of programs was built to analyze
the system as a whole, and track down the design
contradictions and coding errors that were the ultimate
cause of the problems. With these results obtained, a
strategy of automatic and "hand crafted" changes
rationalized the system without downtime.
Solution: A finite-state automaton was written to analyze
the lexical structure of the programs and rewrite the
incompatible portions. These programs are now a
mainstay of the firm's cash flow.
Problem: A marketing firm had purchased a new
computer system and needed to convert their old,
informally kept computer data to the new, rigorously
defined format. A previous conversion had failed; the
converted data never became "clean" enough.
Solution: By working closely with the personnel who had
operated the previous system, programs were developed
which could look at the records as a whole and had
enough "judgement" to be able to standardize 90% of the
questionable data. The remaining 10% was parsed into
two groups. The preponderance of these cases were
presented to an operator during the conversion run for
immediate approval or correction, and the small group of
remaining cases required detailed human investigation.
The conversion was successful and went into immediate
operation.
Solution: Data collection was accomplished by
coordinating a team that varied from five to twenty staff
members. When the sample size permitted, programs
were written to perform statistical analyses and data
graphing. Working with administrators and policy
makers, an algorithm was formulated which would fairly
implement the politically mandated philosophy, and be
practical to manage. In a public hearing, public testimony
in defense of the algorithm was offered, and questions
were fielded. Simultaneously, data collection and
automatic checking/conversion continued, and the
calculation and mailing systems were developed and
tested. Sophisticated and painstaking methods ensured
that the systems would run correctly and handle all special
cases on their first and only "live" data run. There was
zero tolerance for error. The adjustment was completed
on time, with no program errors and minimal data
corrections. Follow-on contracts to perform the
adjustment in succeeding years were written and executed.
Solution: After close consultation with the Chairman, Director for
Administration, various Surgical Heads and support staff, and a survey
of existing systems, a model of the department's information-handling
needs was formulated, and used to project systems requirements. A
detailed set of reports outlined staffing, hardware and software
requirements, and presented a staged plan for systems development.
These reports were used as the vehicle for a series of meetings building
the institutional buy-in to make the plan a reality. The plan was a
success, and a follow-on contract to formulate a plan for
Anesthesiology followed.
Solution: After interviews with the firm's managing
partner, the lawyers, office manager and secretarial staff,
and an analysis of the system code, a multi-phase system
rationalization program was devised. A coordinated
series of program fixes, new systems, training sessions and
user manuals proceeded in three phases: first, to put out
the fires and get documents flowing again; second, to
bring into operation the system features that would
save the most time and money; and third, to standardize
and enhance the systems and procedures to make them
more manageable and resistant to error.
Solution: To achieve the accuracy and graphical
"glossiness" required, the programs had to concern
themselves on a millisecond by millisecond basis with the
exact state of the hardware platform in quite unusual
ways, including redundant timing mechanisms, dynamic
adaptation to the exact position of the scanning electron
beam of the screen, etc. The required software was
designed and developed, and the study is progressing
successfully.
1979 - present
Independent Consultant: Total responsibility for all phases of the systems development life cycle - from requirements definition and contract negotiation through architectural design, programming, testing and installation. Dozens of systems in place; many other computer-related projects completed. Typically operated as primary contractor, bearing responsibility for project effort estimates, delivery deadlines, and performance/ease-of-use of the delivered systems. Repeated experience with projects in which both the timeliness and correctness of the systems delivered were subject to intense public scrutiny.
Clients have included various departments of municipal government, other governmental agencies, large and small software development companies, research institutes, hospitals, law offices, and other private firms. Projects have ranged from new systems design and programming to statistical policy analysis, staff development and training, data rescue and systems conversion.
1976-1978
Chief Programmer: Programmer and Consultant at Management Strategies, Inc. Built application development tools, DBMS, MIS applications. Led project teams of programmers. Trained in SofTech's SADT. Chief client contact roles.
GENERAL
Programmer since 1967 (Age 13). Work in Java, ObjectPal, HTML, Perl-CGI, Active Server Pages, C, Pascal, Visual Basic, MACRO-11, LEX, FORTRAN, B2V2, LISP, COBOL, PAL-8, FORGE, PPL, HyperTalk, etc. in Wintel, DEC, DG, IBM, Unix, Macintosh, and other environments.
OTHER PROFESSIONAL ACTIVITIES
Patent #4,580,006, "Method and Apparatus for providing two dimensional positioning data signals"; a hand-controlled input device.
Long-standing interest and involvement in artificial intelligence research and related philosophy problems, such as the nature of similarity.
Frequent participant in public policy seminars at the Kennedy School Institute of Politics.
EDUCATION
Harvard University, B.A. 1975.
Honors Graduate. Broad studies in Philosophy, Psychology, Math and Computer Science.
PROFESSIONAL EXPERIENCE
How to Control Computer System Costs