[comp.edu] Information Systems is an Engineering Discipline

wtwolfe@hubcap.clemson.edu (Bill Wolfe) (09/10/89)

  The following letter appears in the September 1989 issue of the
  _Communications of the ACM_, and is presented for general discussion:

    INFORMATION SYSTEMS IS AN ENGINEERING DISCIPLINE 

    The industrialized world is in the process of significantly enhancing
    its information system infrastructure.  New information systems are
    being designed and built in such diverse areas as: air traffic control,
    funds transfer, military command and control, stock transactions, 
    manufacturing, and engineering.  During the next decade and beyond,
    the lives and safety of our citizens as well as the competitiveness
    of our country will depend on the correct functioning and efficiency
    of these new systems.

    It should be self evident that the specification, design, implementation,
    and validation of such systems is an engineering project of considerable
    difficulty.  Information systems must meet exacting standards of 
    performance and must be constructed within strict time and budget
    constraints.  Many contain hundreds of thousands, even millions, of
    lines of code.  Indeed the complexity of some of these systems rivals
    that of any artifact ever constructed by man.  By any reasonable 
    definition, information systems is an engineering discipline.

    The question I would like to raise is: who is going to be responsible
    for building these new systems that are so important to our national
    economy?  To make the issue specific, suppose you were a manager 
    responsible for developing one of these systems.  Suppose your boss 
    reminds you that the proposed system will operate in an environment
    in which human lives and property are at stake.  He also reminds you
    of the many failures of such development projects -- systems that are
    late, grossly over budget, or never really work correctly.  Your career
    as a manager is on the line.  What professional would you select to be
    the manager of the system development project?

    A computer scientist?  Not likely.  By and large, the computer science
    community has ignored the entire area of information systems.  Most
    computer scientists view people who implement information systems as
    rather low-tech COBOL programmers who were not smart enough to get a
    computer science degree.  Many academic computer science departments
    actively brainwash their undergraduates that it is below their
    professional dignity to work in the information systems area.  If you
    could find a computer scientist willing to undertake the job, you might
    find that he has the technical skills to design and implement the
    internals of the system -- the database, algorithms, communications,
    etc. -- but is weak in the engineering skills required to plan, 
    organize, and manage the project.  Most computer science departments
    simply do not consider it part of their job to instill in their
    graduates the engineering approach and engineering ethic that are
    part of the educational process in other engineering disciplines.

    The required software engineering course or senior project hardly
    makes up for four years of being immersed in a non-engineering 
    culture.  Indeed sometimes the computer science culture is actually
    anti-engineering.  Instead of "If a bridge you design ever falls down,
    it is a personal blot on your professional career," we hear: "Everyone
    knows software has bugs in it when it is released."

    An electrical engineer?  Quite likely, if the application is in
    military or engineering systems.  You might find that the engineer
    has technical knowledge in the application area (for example, radar
    systems), the ability to design and build to specifications, and, if
    a senior engineer, the skills to plan, organize, and manage the project.
    However, you might also find that the engineer is weak in the computer
    science skills to design and implement the system internals.  Thus, the
    project might be completed on time and budget, but might not employ
    up-to-date computer science technology (a situation that occurs all too
    often in military systems).

    An information systems professional?  Quite likely, if the application
    is in business or management information systems.  Unfortunately, you
    might well find that the information systems professional -- particularly
    one educated in one of the existing academic information systems programs
    -- is weak in both technical and engineering skills.

    As evidence for the last statement, I turn to the most recent report of
    the ACM Curriculum Committee on Information Systems, which proposes  
    goals and a curriculum for academic information systems programs.  Of
    the many possible quotes from that report, I include one that compares
    the information systems and computer science curricula:

      The IS curriculum differs from the computer science curriculum
      in the environment in which the program is taught, the employment
      environment for the graduate, and the depth of the technical
      environment required.  

        1. The IS curriculum teaches information systems concepts
           and processes within two contexts, organization knowledge
           and management knowledge and technical information systems
           knowledge, whereas computer science tends to be taught within
           an environment of mathematics, algorithms, and engineering
           technology.  

        2. The IS graduate is expected to work within the environment of
           an organization and to interact with both organizational functions
           and computer technology.  The computer science graduate has less
           interaction with organization functions and more interaction with
           hardware and software technology.

        3. In technical expertise, the IS curriculum places substantial
           emphasis on the ability to develop an information system structure
           for an organization and to design and implement applications. 
           There is less emphasis on in depth skills in hardware and software
           design.  The computer science graduate typically has less exposure
           to information requirement analysis and organization considerations
           but obtains greater expertise in algorithm development, programming,
           and system software and hardware.

    I interpret this quote as saying that the graduate of an information
    systems program may well have a good understanding of management and
    business applications, but is highly likely to be weak in both the
    technical and engineering skills referred to above.

    I can hear the criticism of the last remark:  "Sure, you might need
    technical people down in the trenches doing the actual implementation,
    but the manager of the project does not need detailed technical and
    engineering skills."  That view is succinctly expressed in a recent
    _Business Week_ article discussing failed information systems projects.
    Among the advice given is:

       Put senior, nontechnical management in charge of the project to
       help ensure that it is finished on time and within budget.

    Rubbish!  Managing a large information system development project is
    a professional skill requiring significant technical and engineering
    background.  The overwhelming body of experience shows that successful
    system development projects are managed by people who have both project
    management skills and technical knowledge in the application area.  
    Projects fail, not because they are managed by technical people, but
    because they are managed by *incompetent* technical people who lack
    the necessary engineering skills and experience.

    Who then would you select to manage your information systems development
    project?  In the broader context, which technical discipline will take
    the lead in designing and building the complex information systems our
    country needs to support its information infrastructure?

    Unfortunately, no academic discipline is providing the education and
    training needed to produce the people who will be the technical leaders
    in this important area:

      (1) Computer science departments do not view information systems
          as within their charter and produce graduates which lack the
          required engineering orientation and skills.

      (2) Electrical engineering departments produce graduates with an
          engineering orientation but without the required computer
          science skills.

      (3) Information systems departments do not view building information
          systems as an engineering task and produce graduates which lack
          both the required engineering and technical skills.

    One reason why academia is not producing information systems 
    professionals with the required skills is that many of the businesses
    that employ their graduates also do not realize that building an
    information system is a highly technical, engineering endeavor.  I
    include one additional quote from a recent article in _Datamation_
    by a corporate personnel director describing the type of information
    system people he is seeking:

      We are going after the business graduate with a computer science
      minor, if we can get it.  Business skills are more important than
      technical skills, which we can teach ourselves.  We only require 
      that candidates have one COBOL course.  Then we put them through
      a six-week training course, and they receive additional training
      as their job requires it.

    This particular company is willing to entrust its information system 
    development to people with no technical training whatsoever!

    One source of confusion is the name "information systems" itself.
    The academic and industrial information systems community commonly 
    uses the term information systems in a rather narrow sense to refer
    only to management or business information systems.  Yet the technology
    underlying information systems has applications in a large number of
    other fields; a military command and control systems is not unlike a
    factory management system, and an air traffic control system is the
    ultimate material tracking system.  In the past, there have been 
    significant differences in scale; business information systems were
    often relatively small (systems that could be built by a person who
    had taken only one COBOL course), while military and related systems
    were significantly larger, sometimes requiring millions of lines of
    code.  That scale difference, however, is disappearing.  Many modern
    business information systems are quite large and rival in complexity
    their military counterparts.  If we want to attract bright 
    engineering-oriented professionals to build these complex information
    systems, for business as well as military and related applications,
    we have to broaden our perspective as to what constitutes an information
    system.  Information systems should be viewed as an engineering discipline
    that can be applied to a large number of application areas, including
    business information systems and military command and control systems,
    to name just two.

    It is much easier to state the problem than to propose a solution.  
    Ideally an information system professional should have the technical
    knowledge of a computer scientist, the engineering skills of an
    electrical engineer, and the application knowledge of an information
    systems graduate (but for a wider range of applications than just
    business systems).  An appropriate course of study might be taught
    within a computer science department, an electrical engineering
    department, or an information systems department, although the
    orientation and content of the curriculum would have to be quite
    different than that of most present departments.

    I believe that many of the most successful programs will be housed
    within a school or college of engineering.  Information systems is
    an engineering discipline; engineers are the professionals in our
    society who build useful systems that are implemented on time and 
    on budget; and engineering schools provide the educational environment
    in which future engineers are imbued over a four year period with the
    culture, the ethic, and the sense of professional responsibility that
    shape their entire professional lives and enable them to perform the
    engineering function.  If we want our information systems to work
    correctly and reliably and be useful to real people, if we want them
    to be built within budgetary constraints, we have no choice but to
    place the responsibility for their development in the hands of people
    who have the necessary technical skills, but even more important, the
    engineering skills and orientation to get the job done -- and within
    our present university system, these kinds of people receive their
    education in schools of engineering.

    Although I believe that engineering schools are an appropriate place
    to house such programs, the issues go beyond any organizational entity
    within the university.  My concerns can be summarized in two statements:

      (1) A large part of the information systems community, both academic
          and industrial, does not appear to understand the self evident fact
          that building a large information system is an engineering endeavor
          requiring significant technical and engineering skills.

      (2) No academic discipline views it as their job to educate technically
          trained, engineering oriented, information systems professionals.

    We say we are moving toward an information-based economy.  Who is going
    to build our information systems infrastructure?

    Author: Philip M. Lewis
            Department of Computer Science
            State University of New York
            Stony Brook, NY  11794-4400

            ARPA: pml@sbcs.sunysb.edu

diamond@csl.sony.co.jp (Norman Diamond) (09/13/89)

_Business Week_ writes:

>       Put senior, nontechnical management in charge of the project to
>       help ensure that it is finished on time and within budget.

In article <6429@hubcap.clemson.edu> wtwolfe@hubcap.clemson.edu (Bill Wolfe) writes:

>    Rubbish!  Managing a large information system development project is
>    a professional skill requiring significant technical and engineering
>    background.

Absolutely true.  Business Week's advice results in products that don't
work.  It is important to produce the wrong answer as quickly AND as
cheaply as possible, eh?  This kind of practice is the reason why the
U.S. (and especially Canada) now fall behind industrialized countries'
economies.  (In private industry, people get fired for expressing
Mr. Wolfe's opinion, or mine.)

--
-- 
Norman Diamond, Sony Corporation (diamond@ws.sony.junet)
  The above opinions are inherited by your machine's init process (pid 1),
  after being disowned and orphaned.  However, if you see this at Waterloo or
  Anterior, then their administrators must have approved of these opinions.