Aspectes humans i socials

Transcription

Aspectes humans i socials
UCLM-ESI
PGSI
TEMA 9
ASPECTOS HUMANOS Y SOCIALES EN LOS PROYECTOS
INFORMÁTICOS
Lecturas incluidas en este documento:
1. Sobre Dirección de SI/TI.
•
B. Boehm. The Art of Expectations Management. IEEE Computer, January 2000.
2. Sobre aspectos humanos y sociales de la profesión deTI.
•
El Código de Ética y Práctica Profesional de Ingeniería del Software de la ACM / IEEE
Computer Society. Novática, nº 140.
•
P. Morrogh. Las TI y la profesionalidad: una visión desde dentro. Novática, nº 152.
•
P. Denning. ¿Quienes somos?. Novática, nº 152.
•
E. del Peso y R. Fernández. Legislación sobre Tecnologías de la Información y las
Comunicaciones: material de consulta. Novática, nº 139.
•
P. Denning. El Futuro de la Profesión de TI. Novática, nº 147.
•
P. Denning & R. Dunham. The Core of the Thrid-Wave Professional. Communications of
the ACM. November 2001/Vol.44,No.11.
•
G. Pour, M.L. Griss y M. Lutz. The Push to Make Software Engineering Respectable . IEEE
Computer, May 2000.
Otras fuentes de información:
•
Molina, M.A. (2000): Gestión de Recursos Humanos en Proyectos Informáticos. Trabajo de
la asignatura PGSI. UCLM-ESI.
•
IEEE Computer (special issue may-2000): Software Engineering- A Maturing Profession ?.
•
Novática (Julio-agosto 2001): Presente y futuro de la profesión informática.
•
Sección de ëtica y profesión de la web de ATI (http://www.ati.es/DOCS/index.html)
9 – Aspectos Humanos y Sociales en los Proyectos Informáticos
1
SO FTWARE MANAGE M E NT
WHAT’S THE PROBLEM?
The Art of
Expectations
Management
(Dedicated to the memory of Tom Bauer)
Barry Boehm, University of Southern California
O
ne of the most valuable skills
a software professional can
develop, expectations management is something surprisingly
few people know or practice.
I’ve witnessed more than 100 stakeholder software requirements negotiations in which inflated expectations
about the simplicity of the problem or
ease of providing a solution have caused
the most difficulty. Expectations management holds the key to providing winwin solutions to these situations.
When I ran TRW’s office of Software
Cost Estimation, my greatest asset was
Tom Bauer. Tom programmed and operated TRW’s version of the Constructive
Cost Model (Cocomo), which the company used on all its projects and proposals. He had been a project and department manager, and had gone back to his
first love, programming, after a heart
attack. He had a lot of experience and
wisdom, and a smile for everyone.
One day I went to Tom and said, “We
need to add a new computer security cost
driver to Cocomo for this new proposal.
It looks like a straightforward addition
to our algorithm, and they need it in a
week. Can you fit it in?”
Tom said, “Well, let’s see. Besides the
change in the algorithm, we’ll need to
change our data structures, our file formats, our input forms and user interfaces, our output formats, and our help
and error messages. Besides that, there’s
regression testing, the changes to the
122
Computer
users’ manual and model definition manual, and the Basis of Estimate feature I’m
working on for Pricing. That looks more
like six weeks to me.
“In the short term, though, if there’s
one of the other cost drivers they’re not
In my experience, three main culprits
cause expectations problems in software
project development. First, developers
often show a desire to please that’s taken
to the point of avoiding any confrontation. This behavior leads to many situations in which people will promise more
than they can confidently deliver.
Second, in their desire to sell, developers sometimes become overenthusiastic
about how well their methods, tools, or
packaged products will solve clients’
problems. Rosy sales literature about a
product or unscalable demos of how well
it works on a sample problem can be just
as misleading as optimistic assumptions.
Third, developers and clients have such
divergent viewpoints they can legitimately
be called “The Two Cultures.” In his classic book with that title (C.P. Snow, The
Two Cultures and the Scientific Revolution, Cambridge University Press, New
York, 1959), C.P. Snow explains that science and technology policymaking is par-
Clear communication,
careful estimation, and
precise planning can help
you shape and meet
realistic expectations.
using, I can give them a special version
of the program with that slot replaced by
computer security in a couple of days.
How’s that for an interim solution?”
This proposal wasn’t what I expected,
but it looked reasonable, so I went along
with it. Tom delivered the quick fix on
schedule, and three weeks later Tom
pleasantly surprised me by delivering the
full new version in half the promised time.
But suppose Tom had initially said, “Sure,
no problem,” to my request for a one-week
completion, and proceeded to deliver the
solution in three weeks. This would have
made me distinctly unhappy with Tom, and
the new-proposal people would have been
distinctly unhappy with me.
Instead, Tom had successfully managed
my expectations, and had provided an
acceptable short-term fix while doing so.
ticularly difficult because it requires the
combined expertise of scientists and
politicians, two cultures with little understanding of each other. Software developers and their clients in various
industries have similar problems. For
example, neither community has a good
feel for the capabilities, hot-buttons, or
difficulties of the other.
HOW DO WE SOLVE IT?
The key strategies for uniting the two
cultures and managing client expectations involve clear communication and
solid planning.
Speaking clearly
To defuse potentially problematic situations, you must first clarify what the
customer really wants and why. In the
example I gave, we didn’t really want a
fully packaged new model in one week;
we wanted quick access to a model,
including the computer security cost driver, followed by a fully packaged new
model sometime later. Tom Bauer clarified this distinction when he counterproposed a more achievable approach to
meeting our requirements.
Next, you must work out the details
and explain them. Tom Bauer’s six-week
estimate was clearly more realistic than
the one-week estimate, once he articulated a more detailed set of necessary
tasks. Customers usually focus on the visible-applications tip of the software iceberg, and are generally unaware of how
much additional, essential software lies
underneath.
Clear customer communication depends on two factors. First, you must
choose the most suitable communications media: If a picture can be worth a
thousand words, a prototype can be
worth a thousand pictures.
Second, you must carefully define communications content. Does “interoperable” mean just CORBA-compatible or
full plug-and-play guarantees? When you
say “advanced information hiding techniques,” will your customer hear “module descriptions confined to essential
capabilities and not implementation
details?” Or will they get the wrong idea
and think that you’re not going to let
them know what their system is doing?
Simplifier and complicator lists can
help developers gauge how much effort
the client must expend to complete a
given task—and vice versa. For example,
we put out a series of 15 to 20 digital
library applications annually, built by
teams of computer scientists for groups
of librarians. The two-cultures problem
reared its ugly head when we saw that
one group didn’t know what was easy or
hard for the other group to do. By having the groups become familiar with
domain-specific lists of things to facilitate
or complicate the application, we were
able to reduce the first-review failure rate
for these projects from roughly 25 percent to roughly 5 percent. In a multimedia archive application, for example,
using standard query languages, search
engines, and media formats made appli-
Additional Reading
Several books have helped me find customer-information-gathering techniques
that can be combined with expectations-management prototypes, scenarios,
consensus-building questions, and brainstorming.
Naomi Karten, Managing Expectations, Dorset House, New York, 1994.
This book has numerous suggestions and examples on establishing clear communication, such as avoiding conflicting messages (including body-language
messages), avoiding or carefully explaining jargon, establishing communication
media preferences, and addressing perceptions as well as facts.
Donald C. Gause and Gerald M. Weinberg, Exploring Requirements: Quality
Before Design, Dorset House, New York, 1989.
The chapters on “Preferences” and “Expectations” in this book provide further insights and techniques for prioritizing requirements and limiting expectations.
Roger Fisher and William Ury, Getting to Yes, Houghton Mifflin, Boston,
1981.
Part of the Harvard Negotiation Project, this book presents principled negotiation techniques.
cations much easier for the development
teams; while trying to achieve naturallanguage processing, automated metadata determination, or simultaneously
achieving rapid access and high-fidelity
media presentation made applications
much more difficult. (Barry Boehm,
Marwan Abi-Andoun, Dan Port, Julie
Kwan, Anne Lynch, “Requirements Engineering, Expectations Management, and
the Two Cultures,” Proc. 1999 Int’l Conf.
Requirements Engineering, IEEE CS Press,
Los Alamitos, Calif., June 1999.)
Planning for success
Several planning tools can help you
manage expectations and negotiate realistic requirements and deadlines. Software
risk assessments and high-risk item identification techniques such as prototyping,
benchmarking, and reference checking
can highlight high-risk expectations, and
can provide techniques for reducing those
expectations, thereby yielding an acceptable but lower risk solution. One large
TRW project that I worked on had a
requirement for a one-second maximum
response time, based on expectations that
a subsecond response time would vastly
improve productivity. The initial archi-
tecture required to achieve this performance would have cost $100 million to
develop and had several high-risk elements. Faced with this situation, TRW
and the customer developed and implemented a prototype, which indicated that
users found a response time of four seconds was about as good as one-second 90
percent of the time. We revised the project
to develop a much lower risk system with
a four-second response time, at a cost of
$30 million. Had we and they implemented the prototype two years earlier, it
would have resulted in revised expectations and avoided two years’ work in
specifying an overly ambitious solution.
Use calibrated models to calibrate
expectations. Another two-cultures problem is that customers and users have little feel for the difficulty of developing a
given quantity of software within budget
and on schedule. This leads to unrealistic
expectations by customers that can be
reinforced by developers’ desire-to-please
or desire-to-sell tendencies, leading to frequent budget and schedule overruns.
Well-calibrated software cost and schedule estimation models have helped many
customers and users recalibrate their
expectations and produce realistic goals
January 2000
123
Software Management
for their projects. Calibrated performance
and reliability models can perform similar functions.
Accept only one independent variable.
One clear message from software cost
and schedule models is that larger
amounts of developed software require
larger amounts of budget and schedule.
Microsoft Rising
... and other tales
of Silicon Valley
by Ted G. Lewis
This is the story of Microsoft® and how it
rose to become the first monopoly of the
Information Age. It is assembled from Ted
Lewis’s columns published in Computer,
Internet Computing, and Scientific American. Microsoft Rising is a tale of greed,
emotion, and marketing hype in one of
the fastest-growing industries of the
world. It is an eyewitness account of the
changing computer industry and the
story of Silicon Valley and how it works.
This book reports the author’s personal history through the early 1990s to the end of
the decade. These stories often try to predict or explain the chaos of Silicon Valley.
It analyzes the industry and shows how
hi-tech industry is constantly changing in
turmoil and upheaval. The book does not
promise any answers, but rather concludes this short journey into the recent
past with a number of provoking ideas
about the future of hi-tech.
350 pages 6" x 9" Softcover
0-7695-0200-8
Catalog # BP00200
$24.95 Members / $29.95 List
Order Today!
Online Catalog
http://computer.org
In the U.S. & Canada call
+1 800.CS.BOOKS
124
Computer
Express your needs
as negotiable
‘win conditions’
rather than
non-negotiable
‘requirements.’
Yet many software developers accept
both “fixed amount of software” and
“fixed cost or schedule” as conditions to
be simultaneously satisfied, without wellvalidated analyses to demonstrate that
this approach is indeed feasible. If it’s not,
it’s better to tell your customers that they
can expect either a “fixed amount of software” or a “fixed cost or schedule,” but
not both. Called “cost (or schedule) as
independent variable” (CAIV or SAIV),
this last option has customers prioritize
their requirements. Developers then
implement a core set of highest-priority
requirements, and continue adding lowerpriority features so long as the budget or
schedule lasts. Similar strategies can be
developed for other incompatible combinations of independent variables.
Techniques for win-win requirements
negotiation can produce advantages for
expectations management and project
outcomes. These techniques can help you
• express your needs as negotiable
“win conditions” rather than nonnegotiable “requirements,” which
creates a more flexible climate for
adjusting expectations;
• assimilate other stakeholders’ win
conditions to provide a greater
understanding of how their constraints may affect your level of
achievable results and thus your
expectations;
• sense that the other stakeholders are
looking out for your win conditions, which often increases your
willingness to help accommodate
their win conditions by adjusting
your expectations; and
• collaborate to understand each
other’s win conditions.
Using these techniques, you can help
bridge the two-cultures gap and increase
stakeholders’ ability to invent new winwin options for mutual gain.
ith the new millennium upon us,
I hope all of us learn how better
to manage expectations and seek
win-win solutions.The alternative—winlose situations—generally devolve into
lose-lose situations, ensuring worldwide
frustration and chaos. ✸
W
COMING AWAY A WINNER
When applied to software requirements
determination, the win-win approach
involves all of a project’s key stakeholders in the negotiation of a mutually satisfactory set of requirements (B.W. Boehm
et al., “Using the WinWin Spiral Model:
A Case Study,” Computer, July 1998, pp.
33-44). It often involves concurrent engineering or joint application development
by an integrated product team of stakeholders, as well as principled negotiation
techniques. Reflexively, good expectations
management facilitates win-win solutions.
Tom Bauer’s three-week delivery was a
win if you were expecting six weeks; it
would have been a loser if you were
expecting delivery in one week.
Barry Boehm is director of the USC
Center for Software Engineering. He
developed the Constructive Cost Model
(Cocomo), the software process Spiral
Model, and the Theory W (win-win)
approach to software management and
requirements determination. Contact
him at [email protected].
Editor: Barry Boehm, Computer Science
Department, University of Southern California,
Los Angeles, CA 90089; boehm@sunset.
usc.edu
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
Novática es la revista de ATI (Asociación de Técnicos de Informática)
Nota importante: Se permite la reproducción y difusión de este artículo por cualquier medio, excepto si está marcado con © o
Copyright, debiéndose en todo caso citar su procedencia
Important notice: This article can be reproduced and disseminated via any medium except if marked with © or Copyright. Full mention
of the source is mandatory
Novática 140 (Julio-Agosto 1999)
Sección: /DOCS/
El Código de Ética y Práctica Profesional de Ingeniería del Software de la ACM /
IEEE Computer Society
Introducción y Traducción: Javier Dolado
Facultad de Informática de San Sebastián
Universidad del País Vasco - Euskal Herriko Unibersitatea
Socio de ATI
<[email protected]>
●
Introducción
●
Bibliografía
●
Código
❍
Préambulo; Principio 1: Sociedad; Principio 2: Cliente y empresario; Principio 3: Producto; Principio 4:
Juicio; Principio 5: Gestión; Principio 6: Profesión; Principio 7: Compañeros; Principio 8: Persona
Introducción
A continuación se presenta la traducción del Código de Ética y Práctica Profesional de Ingeniería del Software en su versión
5.2 (http://www.acm.org/serving/se/code.htm), tal como la ha recomendado el grupo de trabajo conjunto de la IEEE
Computer Society/ACM sobre ética en ingeniería del software y prácticas profesionales, dirigido por Donald Gotterbarn.
Esta versión ha sido aprobada por la ACM (Association for Computing Machinery) y por la IEEE-CS (IEEE Computer
Society) como el estándar para la enseñanza y la práctica de la ingeniería del software.
Conviene mencionar que este código se ha propuesto tras varias versiones y después de revisar códigos de otras sociedades,
que se han tenido en cuenta las opiniones de las encuestas aparecidas en conocidas revistas de estas sociedades y que se ha
seguido el proceso de revisión formal del IEEE. La ACM aprobó el código en noviembre de 1998 y la IEEE Computer
Society, en diciembre del mismo año.
Los códigos de ética tienen una función esencial para caracterizar una profesión, y para que una disciplina adquiera el
carácter de profesión debe poseer un código de conducta.
Se pueden resumir las principales funciones de los códigos de ética en los siguientes apartados [Bowyer, 1996]:
1) simbolizar una profesión;
2) proteger los intereses del grupo;
3) inspirar buena conducta;
4) educar a los miembros de tal profesión;
5) disciplinar a sus afiliados;
6) fomentar las relaciones externas;
7) enumerar los principios morales básicos;
8) expresar los ideales a los que se debe aspirar;
9) mostrar reglas básicas de compor-tamiento;
10) ofrecer guías de comportamiento;
11) enumerar derechos y responsabilidades.
Los códigos de conducta van más allá de la pura normativa legal, puesto que ayudan a guiar el comportamiento en infinidad
de situaciones para las que no existe ninguna referencia legal.
http://www.ati.es/novatica/1999/140/docs140.html (1 de 7) [10/05/2002 14:07:06]
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
En el caso de la disciplina de "ingeniería del software", la existencia de un código de ética específico posee cada vez más
importancia, dada la relevancia que las actividades relacionadas con el software tienen en nuestra vida diaria. Puesto que en
estos momentos se está hablando sobre la creación de los colegios de ingenieros en infor-mática en España, es pertinente
considerar los códigos de conducta que sean aplicables a tales colegios profesionales. Gran parte de las tareas de los
ingenieros en informática están relacionadas con el software, por lo que el código de la ACM/IEEE-CS que a continuación
se muestra puede ser de gran utilidad para orientar la profesión en nuestro país.
Agradecimientos
El autor de esta traducción agradece la revisión de Mª José Rueda y los comentarios de F. Javier Herrera. Parte de este
trabajo se ha realizado bajo los proyectos UPV-EHU 141.226-EA083/98 y CICYT TIC 98 1179-E.
Bibliografía
Kevin W. Bowyer, Ethics and computing: living responsibly in a computerized world, IEEE Computer Society Press, Los
Alamitos, California, 1996.
D. Gotterbarn, “The ethical software engineer”, The Institute, vol. 23, nº. 2, p. 2, febrero de 1999.
IEEE, The IEEE Ethics Committee, http://www.ieee.org/committee/ethics
El Código de Ética y Práctica Profesional de Ingeniería del Software de la ACM / IEEE
Computer Society
Preámbulo
Los ordenadores poseen hoy en día una función básica cada vez mayor en comercio, industria, administración, medicina,
educación, entretenimiento, relaciones sociales y vida diaria. Son ingenieros del software quienes contribuyen, mediante
participación directa o enseñanza, al análisis, la especificación, el diseño, el desarrollo, la certificación, el mantenimiento y
pruebas de sistemas de software. Debido a su papel en el desarrollo de estos sistemas, tienen suficientes oportunidades para
aportar beneficios u ocasionar daños, o para influir en otros o permitir a otros hacer esto mismo Para garantizar, en la medida
de lo posible, que sus esfuerzos se utilizarán en buenos modos, los ingenieros del software deben obligarse a hacer de su
disciplina una profesión respetada y beneficiosa. De acuerdo con tal cometido, se adherirán al siguiente Código de Ética y
Práctica Profesional.
El Código contiene ocho Principios clave, relacionados con el comportamiento y las decisiones tomadas por los ingenieros
del software profesionales, tanto si son profesionales en ejercicio, educadores, gestores, directivos y responsables, como si se
trata de educandos y estudiantes. Los Principios identifican las diferentes relaciones en las que los individuos, grupos y
organizaciones participan, y las principales obligaciones de tales relaciones. Las Cláusulas de cada Principio son la imagen
de los diferentes niveles de obligación incluidos en esas relaciones. Estas obligaciones se funda-mentan en las características
humanas del ingeniero del software, en el especial cuidado al que está obligado con las personas que se ven afectadas por su
trabajo y en los elementos peculiares de la práctica de la ingeniería del software. El Código prescribe estas exigencias como
obligaciones de cualquiera que se identifique como ingeniero del software o que aspire a serlo.
No se pretende que se utilicen partes individuales del Código aisladamente, para justificar errores por omisión o comisión.
La lista de Principios y Cláusulas no es exhaustiva. Las Cláusulas no deben leerse como la frontera separadora entre lo
aceptable y lo inaceptable en todas las situaciones posibles de la conducta profesional. El Código no es un simple algoritmo
ético que genera decisiones éticas. En algunas situaciones los estándares pueden entrar en conflicto entre sí o con estándares
de otras fuentes. Estas situaciones requieren que el ingeniero del software haga uso de su juicio ético para actuar de la
manera que resulte más coherente con el espíritu del Código de Ética y Práctica Profesional, teniendo en cuenta las
circunstancias.
Las tensiones éticas se pueden manejar mediante una valoración cuidadosa de los principios fundamentales, mejor que
apoyándose ciegamente en reglamentos detallados. Los Principios deberían ayudar a los ingenieros del software a considerar
extensamente quién se ve afectado por su trabajo; a examinar si él o sus compañeros tratan al resto de las personas con el
debido respeto; a reflexionar sobre cómo la sociedad consideraría sus decisiones si estuviera bien informada; a analizar cómo
el menos favorecido quedará afectado por su decisión; y a considerar si un profesional ideal que trabajara como ingeniero del
software estimaría que sus actos son valiosos.
http://www.ati.es/novatica/1999/140/docs140.html (2 de 7) [10/05/2002 14:07:06]
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
En todas estas valoraciones, la preocupación principal es la de la seguridad, la salud y el bienestar públicos; esto es, el
"Interés Público" es esencial en este Código.
El contexto dinámico y exigente de la ingeniería del software requiere que el código sea relevante y adaptable a las nuevas
situaciones a medida que surjan. Sin embargo, incluso con esta generalidad, el Código proporciona apoyo a los gestores e
ingenieros del software que necesiten actuar posi-tivamente, documentando la postura ética de la profesión. El Código aporta
un fundamento ético al que los individuos de un grupo o el propio grupo pueden acudir. El Código también ayuda a definir
cuestiones cuya solicitud a un ingeniero o grupos de ingenieros del software es ética-mente impropia.
El Código no está simplemente orientado a identificar la naturaleza de los actos cuestionables, sino que también tiene una
función educativa. Puesto que este código representa el consenso de la profesión en cuestiones éticas, es un medio para
educar, tanto a la sociedad como a los futuros profesionales, acerca de las obliga-ciones éticas de todos los ingenieros del
software.
Principio 1: Sociedad
Los ingenieros del software actuarán de manera coherente con el interés general. En particular, deberán, según sea adecuado:
1.01. Aceptar la completa respon-sabilidad de su trabajo.
1.02. Mitigar sus propios intereses, los del empresario, los del cliente y los de los usuarios con los del bienestar público.
1.03. Dar el visto bueno al software sólo si se tiene fundada creencia de que es seguro, de que cumple las especificaciones,
de que ha pasado las pruebas pertinentes y de que no disminuye la calidad de la vida, la confidencialidad ni daña el medio
ambiente. El efecto último del trabajo debería ser el bienestar público.
1.04. Revelar a las personas o autoridades correspondientes cual-quier peligro real o potencial para el usuario, la sociedad o
el medio ambiente, peligro que razonablemente consideren que está asociado con el software o con documentos
rela-cionados.
1.05. Cooperar en las materias relacionadas con preocupaciones graves causadas por el software, su instalación,
mantenimiento, soporte o documentación.
1.06. Ser justos y veraces en todas las afirmaciones, especialmente en las que sean públicas, relativas al software o a
documentos, métodos y herramientas relacionados.
1.07. Considerar las cuestiones de discapacidades físicas, asignación de recursos, desventajas económicas y otros factores
que puedan disminuir el acceso a los beneficios del software.
1.08. Estar dispuestos a utilizar las capacidades profesionales para buenas causas y contribuir a la educación del público en
general con respecto a su disciplina.
Principio 2: Cliente y empresario
Los ingenieros del software deberán actuar de tal modo que se sirvan los mejores intereses para sus clientes y empresarios, y
consecuentemente con el interés general. En particular, deberán, según sea adecuado:
2.01. Proporcionar servicios sólo en las áreas de su competencia, siendo honestos y francos acerca de cualquier limitación
que haya en su experiencia o educación.
2.02. No utilizar conscientemente software obtenido o retenido de manera ilegal o no ética.
2.03. Utilizar la propiedad de un cliente o patrón sólo de maneras adecuadamente autorizadas, y con el conocimiento y el
consentimiento de éste.
2.04. Garantizar que cualquier documento en el que se confía ha sido aprobado, cuando así se requiera, por alguien con
autoridad para hacerlo.
2.05. Mantener como privada cualquier información confidencial obtenida mediante el trabajo profesional, siempre que tal
confidencialidad no sea inconsistente con los aspectos de interés general ni con la ley.
2.06. Identificar, documentar, recoger evidencia e informar con prontitud al cliente o al empresario si, en su opinión, existe
la probabilidad de que un proyecto fracase, resulte demasiado caro, viole la legislación sobre propiedad intelectual o sea
proble-mático.
http://www.ati.es/novatica/1999/140/docs140.html (3 de 7) [10/05/2002 14:07:06]
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
2.07. Identificar, documentar e informar al empresario o al cliente sobre cualquier asunto de interés social, o del que se tenga
conocimiento, acerca del software o de documentos rela-cionados.
2.08. No aceptar trabajo externo que vaya en detrimento de aquél que desarrollen para su principal contra-tante.
2.09. No representar interés contrario al del empresario o al del cliente, a menos que se comprometa otro valor ético más
elevado; en este último caso se informará al empresario o a otra autoridad competente acerca de esa preocupación ética.
Principio 3: Producto
Los ingenieros del software deberán garantizar que sus productos y las modificaciones relacionadas con ellos cumplen los
estándares profesionales de mayor nivel más que sea posible. En particular, deberán, según sea adecuado:
3.01. Promover la máxima calidad, un coste aceptable y un plazo razonable, garantizando que los compromisos
significativos al respecto quedan claros, que el empresario y el cliente los aceptan y que están disponibles para consideración
del usuario y del público en general.
3.02. Garantizar objetivos adecuados y alcanzables para cualquier proyecto en el que trabajen o vayan a trabajar.
3.03. Identificar, definir y examinar temas éticos, económicos, culturales, legales y medioambientales relacionados con
cualquier proyecto.
3.04. Garantizar, mediante una conveniente combinación de edu-cación, adiestramiento y experiencia, que están cualificados
para cualquier proyecto en el que trabajen o vayan a trabajar.
3.05. Garantizar una metodología adecuada para cualquier proyecto en el que trabajen o vayan a trabajar.
3.06. Trabajar para seguir los estándares de la industria, si están disponibles, que sean los más adecuados para las tareas,
desviándose de los mismos sólo cuando esté justificado ética o técnicamente.
3.07. Esforzarse para entender completamente las especificaciones del software que están desarrollando.
3.08. Garantizar que las especificaciones para el software sobre el que trabajan han sido bien documentadas, satisfacen los
requisitos
3.09. Garantizar estimaciones cuantitativas realistas de coste, plazos, personal y resultados de cualquier proyecto en el que
trabajen o vayan a trabajar, y proporcionar una evaluación de la incertidumbre de esas estimaciones.
3.10. Garantizar unas pruebas, depuraciones y revisiones adecuadas del software y de los documentos relacionados en los
que trabajen.
3.11. Garantizar una correcta documentación, incluyendo problemas significativos descubiertos y las soluciones adoptadas,
para cualquier proyecto en el que trabajen.
3.12. Trabajar para desarrollar software y documentos relacionados que respeten la confidencialidad de aquéllos que van a
verse afectados por ese software.
3.13. Ser cuidadosos para manejar sólo datos precisos, obtenidos mediante medios legales y éticos, y utilizarlos sólo de
maneras debida-mente autorizadas.
3.14. Mantener la integridad de los datos, siendo sensibles a aquéllos que estén obsoletos o equivocados.
3.15. Tratar todas las formas del mantenimiento del software con la misma profesionalidad que los nuevos desarrollos.
Principio 4. Juicio
Los ingenieros del software deberán mantener integridad e independencia en su valoración profesional. En particular,
deberán, según sea adecuado:
4.01. Moderar todos los juicios técnicos por la necesidad de amparar y mantener valores humanos.
4.02. Firmar sólo los documentos preparados bajo su supervisión o dentro de sus áreas de competencia, y con los que están
de acuerdo.
4.03. Mantener objetividad profesional con respecto a cualquier software o documentos relacionados para los que se les pida
http://www.ati.es/novatica/1999/140/docs140.html (4 de 7) [10/05/2002 14:07:06]
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
evaluación.
4.04. No involucrarse en prácticas financieras engañosas, tales como sobornos, dobles facturaciones u otras prácticas
impropias.
4.05. Comunicar a todas las partes los conflictos de intereses que no puedan evitarse razonablemente.
4.06. Rechazar la participación, como miembros o asesores, en organismos privados, gubernamentales o profesionales
vinculados con temas de software, en los que ellos, o sus patronos o clientes, tengan potenciales conflictos de intereses no
revelados.
Principio 5. Gestión
Los gestores y líderes en ingeniería del software suscribirán y promoverán un enfoque ético a la gestión del desarrollo y el
mantenimiento del software. En particular, los ingenieros de software en funciones de dirección o liderazgo deberán, según
sea adecuado:
5.01. Garantizar una buena gestión en cualquier proyecto en el que trabajen, incluyendo procedimientos efectivos para
promover calidad y reducción del riesgo.
5.02. Garantizar que se informa a los empleados de los estándares antes de adherirse a ellos.
5.03. Garantizar que los empleados conocen las políticas y los procedimientos del empresario para la protección de las
claves de acceso, ficheros y otra información que sea confidencial para el empresario o para otros.
5.04. Asignar trabajo sólo después de tener en cuenta la educación y la experiencia, teniendo en cuenta el deseo de mejorar
tal educación y experiencia.
5.05. Garantizar unas estimaciones cuantitativas realistas de coste, plazo, personal, calidad y productos en cualquier proyecto
en el que trabajen o tengan intención de trabajar, y proporcionar una valoración de la incertidumbre de esas estimaciones.
5.06. Atraer empleados sólo mediante una descripción completa y precisa de las condiciones del trabajo.
5.07. Ofrecer una remuneración adecuada y justa.
5.08. No impedir injustamente a otro obtener la posición que merece de acuerdo con su cualificación.
5.09. Garantizar que hay un acuerdo correcto en lo referente a la propiedad de cualquier software, proceso, investigación,
escrito, u otra propiedad intelectual a la que el ingeniero del software haya contribuido.
5.10. Proporcionar los medios correspondientes en caso de alegaciones de incumplimiento de la política del empresario o de
este Código.
5.11. No pedir a un ingeniero del software hacer algo inconsistente con este Código.
5.12. No castigar a nadie por expresar preocupaciones éticas sobre un proyecto.
Principio 6. Profesión
Los ingenieros del software deberán progresar en la integridad y la reputación de la profesión, coherentemente con el interés
general. En particular, deberán, en la medida de lo posible:
6.01. Ayudar a desarrollar un ambiente organizativo favorecedor de un comportamiento ético.
6.02. Promover el conocimiento general de la ingeniería del software.
6.03. Diseminar el conocimiento de la ingeniería del software mediante la participación en organizaciones profesionales,
reuniones y publicaciones.
6.04. Apoyar, como miembros de una profesión, a otros ingenieros que se esfuercen en seguir este Código.
6.05. No promover el interés propio a costa de la profesión, el cliente o el empresario.
6.06. Obedecer todas las leyes que gobiernen su trabajo, a menos que, en circunstancias excepcionales, tal cumplimiento sea
inconsistente con el interés general.
http://www.ati.es/novatica/1999/140/docs140.html (5 de 7) [10/05/2002 14:07:06]
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
6.07. Ser precisos en la descripción de las características del software en el que trabajan, evitando, no sólo falsas
declaraciones, sino también aquéllas otras que razonablemente podrían suponerse especulativas, vacías, decepcionantes,
engañosas o dudosas.
6.08. Tener la responsabilidad de detectar, corregir e informar errores en el software y documentos asociados en los que
trabajen.
6.09. Asegurarse de que los clientes, patronos y gerentes conocen la obligación del ingeniero del software con respecto a este
Código de ética, y las ramificaciones subsecuentes de tal obligación.
6.10. Evitar asociaciones con empresas y organizaciones que estén en conflicto con este código.
6.11. Considerar que las inobservancias de este Código son inconsistentes con ser un ingeniero del software profesional.
6.12. Expresar las preocupaciones a las personas implicadas cuando se detecten incumplimientos significativos de este
Código, a menos que sea imposible, contraproducente o peli-groso.
6.13. Informar sobre las vulneraciones de este Código a las autoridades pertinentes cuando esté claro que sea imposible,
contraproducente o peli-groso consultar a las personas implicadas en estas inobservancias.
Principio 7. Compañeros
Los ingenieros del software serán justos y apoyarán a sus compañeros. En particular, deberán, según sea apropiado:
7.01. Animar a los compañeros a adherirse a este Código.
7.02. Ayudar a los compañeros en el desarrollo profesional.
7.03. Reconocer completamente el trabajo de otros y abstenerse de atribuirse méritos que no son propios.
7.04. Revisar el trabajo de los demás de forma objetiva, sincera y convenientemente documentada.
7.05. Tratar justamente las opiniones, preocupaciones o quejas de un compañero.
7.06. Ayudar a los compañeros en el conocimiento completo de los estándares de trabajo, incluyendo políticas y
procedimientos
para proteger claves de acceso, ficheros y otra información confidencial, y medidas de seguridad en general.
7.07. No interferir injustamente en la carrera profesional de un compañero; sin embargo, la preocupación por el empresario,
el cliente o el interés público puede exigir, con buena voluntad, a cuestionar la competencia de un compañero.
7.08. En las situaciones que quedan fuera de las áreas de competencia personales, consultar las opiniones de otros
profesionales que tengan competencia en ese área.
Principio 8. Persona
Los ingenieros del software deberán participar en el aprendizaje continuo de la práctica de su profesión y promoverán un
enfoque ético en ella. En particular, deberán continuamente preocuparse de:
8.01. Mejorar su conocimiento de los avances en el análisis, la especificación, el diseño, el desarrollo, el mantenimiento y
pruebas del software y documentos relacionados, junto con la gestión del proceso de desarrollo.
8.02. Mejorar su capacitación para crear software de calidad, seguro, fiable y útil, con un coste y en un plazo razonables.
8.03. Mejorar su capacidad para producir documentación precisa informativa y correctamente escrita.
8.04. Mejorar su comprensión del software y documentos relacionados en los que trabajan y del entorno en el que se
utilizarán.
8.05. Mejorar su conocimiento de los estándares pertinentes y de las leyes que regulan el software y los documentos
relacionados en los que trabajan.
8.06. Mejorar su conocimiento de este Código, su interpretación y su aplicación al trabajo.
8.07. No dar un tratamiento injusto a nadie por prejuicios irrelevantes.
http://www.ati.es/novatica/1999/140/docs140.html (6 de 7) [10/05/2002 14:07:06]
Novática 140: Código de Etica de Ing. de SW de ACM/IEEE
8.08. No influir a otros para emprender acción alguna que conlleve el incum-plimiento de este Código.
8.09. Reconocer que las inobservancias personales de este Código son inconsistentes con ser un ingeniero del software
profesional.
Vuelta a inicio
http://www.ati.es/novatica/1999/140/docs140.html (7 de 7) [10/05/2002 14:07:06]
Novática 139: Material de Consulta
Novática es la revista de ATI (Asociación de Técnicos de Informática)
Nota importante: Se permite la reproducción de este artículo, excepto si está marcado con © o Copyright, debiéndose en todo caso
citar su procedencia
Important notice: This article can be reprinted except if marked with © or Copyright. If reprinted full mention of the source is
mandatory
Novática 139: monografía "LegisTIC (Legislación sobre Tecnologías de Ia Información y las
Comunicaciones)"
Material de Consulta
Emilio del Peso Navarro, Rafael Fernández Calvo
Como complemento de la monografía, recogemos aquí, sin pretensiones de exhaustividad, una serie de publicaciones y sitios
web relacionados, de forma directa o indirecta, con Legislación y Etica sobre Tecnologías de la Información y de las
Comunicaciones, y que consideramos de interés para nuestros lectores.
■
Bibliografía
■
Sitios web
■
Legislación
■
Etica Profesional
■
Otros
Bibliografía
Barriuso Ruíz, Carlos. La contratación electrónica. Dykinson. Madrid 1998.
Barutel Manaut, Carles. Las tarjetas de pago y crédito. Bosch. Barcelona 1997.
Carrascosa López, Valentín; Pozo Arranz, Mª A. y Rodríguez de Castro E.P. La contratación informática: el nuevo
horizonte contractual. Editorial Comares. Granada 1997.
Comercio Eléctrónico; monografía de Novática nº 135 (Septiembre-Octubre 1998) .
Davara Rodríguez, Miguel Ángel.
- De las autopistas de la información a la Sociedad Virtual. Aranzadi. Pamplona, 1996.
- La protección de datos en Europa. ASNEF-Equifax y Universidad Pontificia Comillas ICADE. Madrid, 1998.
- Manual de Derecho Informático. Aranzadi. Pamplona, 1997.
Fernández Calvo, Rafael. El ciberespacio y sus dilemas. El País, 5 de Noviembre de 1996, Especial SIMO (puede
obtenerse también en http://www.elpais.es).
Fernández Masiá y otros. Los derechos de propiedad intelectual en la nueva sociedad de la información. Editorial
Comares. Granada, 1996.
Galindo Ayuda, Fernando. Derecho e Informática. La Ley, Actualidad. Madrid, 1998.
Gete-Alonso y Calera, María del Carmen. El pago mediante tarjeta de crédito. La Ley. Madrid, 1990.
Gutierrez Francés, María Luz. Fraude informático y estafa. Ministerio Justicia. Madrid, 1991.
Hernando, Isabel. Productos Multimedia y derechos de autor. Editorial LC. San Sebastián, 1997.
Contratos informáticos. Editorial LC. San Sebastián, 1995.
Hubin J. Y Poulet, Yves. La sécurité informatique entré technique et droit. E. Story-Scientia. Namur, 1995.
Huxley Aldoux. Un mundo feliz. Circulo de Lectores. Barcelona, 1965.
Lointier, Pascal. Internet pour les juristes. Dalloz, 1996.
Ley Orgánica 5/1992 de Regulación del Tratamiento Automatizado de los Datos de carácter personal (LORTAD). BOE
del 31 de octubre de 1992, núm. 262.
Lopez Garrido D., García Arán M. El Nuevo Código Penal y la voluntad del legislador. Eurojuris, Madrid,1996.
Morant Ramon, José Luis; Ribagorda Garnacho, Arturo y Sancho Rodríguez, Justo. Seguridad y protección de la
Información. Ramón Areces. Madrid, 1994.
http://www.ati.es/novatica/1999/139/material.html (1 de 3) [10/05/2002 14:47:31]
Novática 139: Material de Consulta
Negroponte, Nicholas. Mundo Digital. Editorial B, Madrid, 1996.
Orwell, George. 1984. Destino. Barcelona, 1987.
Paez Mañá, Jorge. Bases de Datos Jurídicas. CSIC. CINDOC. Madrid, 1994.
Pastor Franco, José y Sarasa López, Miguel Ángel. Criptografía digital. Fundamentos y aplicaciones. Prensas
Universitarias de Zaragoza. Zaragoza, 1998.
Peso Navarro, Emilio y Ramos González, Miguel Ángel. LORTAD. Análisis de la Ley. Díaz de Santos. Madrid, 1998.
Peso Navarro, Emilio; Ramos González, Miguel Ángel; Fernández Sánchez, Carlos Manuel e Ignoto Azaustre, María
José. Manual de Dictámenes y Peritajes Informáticos. Díaz de Santos. Madrid, 1995.
Ribas Alejandro, Javier. Aspectos jurídicos del Comercio Electrónico en Internet. Aranzadi. Pamplona, 1998.
Saéz Vacas F. Inforpistas inteligentes. Editorial América Ibérica. Madrid, 1996.
Sieber Ulrich (edt). Information Technology Crime. Carl Heymanns Verlag. K.C. Köln, 1994.
Tapper Colin. Computer Law. Longman. England, 1989.
Zamiatin, Yevgueni. Nosotros. Tusquets. Barcelona, 1991.
Sitios web
Nota importante: enlaces comprobados en Mayo de 1999. No se garantiza su fiabilidad más allá de dicha fecha.
Legislación
Àrea de Dret Civil de la Universitat de Girona: http://civil.udg.es/
Boletin Hispanoamericano de Informática y Derecho: http://members.theglobe.com/boletin/
CEDIB (Centro de Estudios de Derecho e Informática de Baleares): http://www.uib.es/depart/dpr/cedibcas.html
CRDI (Centre de Recherches Informatique et Droit), Faculté de Droit, Université de Namur:
http://www.droit. fundp.ac.be/liens/default.htm
CPSR (Computer Professionals for Social Responsability) Computer Crime and Legal Resource Directory:
http://www.cpsr.org/cpsr/privacy/crime/crime.html
ECLIP (Electronic Commerce Legal Issues Platform), ESPRIT IV Project EP 27028:
http://www.jura.uni-muenster.de/eclip/
EULISP (European Legal Informatics Study Programme): http://www.eulisp.uni-hannover.de/
EUR-Lex, el Derecho de la Unión Europea: http://europa.eu.int/eur-lex/es/index.html
FindLaw (legislative search engine): Legal Subjects: Cyberspace Law:
http://www.findlaw.com/01topics/10cyberspace/index.html
Instituto de Informática Jurídica, ICADE, Madrid: http://www.upco.es/pagnew/titulos/infjur/portada.htm
Paladella Salord, Carlos de. Páginas sobre Derecho y Tecnología: http://members.xoom.com/_XOOM/cpaladella/index.htm
Porras Quintela, Manuel. Páginas sobre Derecho, Informática y Tecnologías de la Información y Comunicaciones:
http://www.ctv.es/USERS/mpq/principal.html
Ribas, Javier. Legislación sobre TIC: http://www.onnet.es/leyes.htm
Seminario Informática y Derecho, Universidad de Zaragoza: http://www.unizar.es/DERECHO/FYD/INDEX.HTM
Thomas. USA Legislative Information on the Internet: http://thomas.loc.gov/
United Nations. Manual on the prevention and control of computer-related crime:
http://www.ifs.univie.ac.at/~pr2gq1/rev4344.html
Etica Profesional
ACM (Association for Computer Machiner). Code of Ethics and Professional Conduct:
http://www.acm.org/constitution/code.html
ACM. Software Engineering Code of Ethics and Professional Practice. http://www.acm.org/serving/se/code.htm
ACM. Computing and Public Policy: http://www.acm.org/serving/
ACS (Australian Computer Society). Code of Ethics: http://www.acs.org.au/national/pospaper/acs131.htm
AIP (Associazione Informatici Professionisti). Codice Deontologico degli Informatici Professionisti:
http://www.a-i-p.it/info/cod_deon.html
ATInet: Código de Conducta para usuarios: http://www.ati.es/socios/introATInet.html (accesible solamente a socios de ATI)
BCS (British Computer Society). Code of Conduct:http://www.bcs.org.uk/aboutbcs/coc.htm
BCS. Code of Practice: http://www.bcs.org.uk/aboutbcs/cop.htm
Centre for Applied Ethics: Computer Ethics Resources on WWW: http://www.ethics.ubc.ca/papers/computer.html
CEPIS (Council of European Professional Informatic Societies). Code of Conduct: http://www.cepis.org/conduct.htm(ver
http://www.ati.es/novatica/1999/139/material.html (2 de 3) [10/05/2002 14:47:31]
Novática 139: Material de Consulta
traducción al castellano en esta misma monografía)
GI (Gesellschaft für Informatik) Ethische Leitlinien: http://www.gi-ev.de/uebersicht/ethische_leitlinien.html
IEEE (Institute of Electrical and Electronic Engineers) Code of Ethics:
http://www4.ncsu.edu/unity/users/j/jherkert/ethics.html
IFIP (International Federation for Information Processing)Harmonization of Professional Standards:
http://www.ifip.or.at /minutes/C99/C99_harmonization.htm
WWW Ethics Center: Codes Of Ethics And Conduct: http://www.cwru.edu/affil/wwwethics/codes.html
Otros
Agencia de Protección de Datos: http://www.ag-protecciondatos.es
Alvarez Marañón, Gonzalo. Páginas sobre amenazas a la privacidad y medios para defenderla:
http://www.iec.csic.es/criptonomicon/
CNIL (Commission Nationale de l'Informatique et des Libertés), Francia: http://www.cnil.fr/
DGXIII at the European Commission: http://europa.eu.int/comm/dg13/index.htm
EFF (Electronic Frontier Foundation): http://www.eff.org
EPIC (Electronic Privacy Information Center): http://www.epic.org/
OSTP (White House Office of Science and Technology Policy): http://www.whitehouse.gov/OSTP.html
http://www.ati.es/novatica/1999/139/material.html (3 de 3) [10/05/2002 14:47:31]
50 Edición digital/ ©ATI 2000
SECCIONES TÉCNICAS
NOVATICA sep./oct. 2000 nº147
Profesión informática
Peter Denning
Department of Computer Science School of Intormation,
Tecnology and Engineering, George Mason University
El futuro de la profesión de
Tecnología de la Información
Traducción: Eduardo Pérez Pérez
 ACM Entrevista publicada en el número 5 de la revista Ubiquity de
ACM (21 de marzo de 2000) y accesible en inglés en http://acm.org/
ubiquity/interviews/p_denning_1.html. Se publica con los correspondientes
permisos del autor y de ACM (Association for Computing Machinery).
UBIQUITY: ¿Qué nos enseñan sobre los profesionales de la
Tecnología de la Información los recientes ataques por
bloqueo de servidores en Internet?
y trabaja. Tarde o temprano, buscamos ayuda profesional
sobre problemas legales como hipotecas, escrituras, testamentos, fianzas, contratos mercantiles, impuestos y muchos
más.
PETER DENNING: Tuvieron una consecuencia positiva
(que, por supuesto, no era la intención de sus autores). Los
ataques han atraído masivamente la atención pública sobre
uno de esos pequeños secretos de los que nadie quiere hablar.
El secreto es que nos hemos hecho altamente dependientes
de los sistemas digitales y de los profesionales que los
diseñan y mantienen. Ahora todos saben la verdad: nuestros
sistemas de ordenadores y comunicaciones son fáciles de
inhabilitar por vándalos anónimos. ¿Podemos confiar en
profesionales que nos ayuden a defendernos contra esos
ataques y mantener todo funcionando? ¿Quiénes son estos
profesionales? ¿Quién los educa? ¿Mantienen su formación
al día? ¿Quién les otorga el permiso para ejercer? ¿Hay
suficientes profesionales? ¿Son de confianza? Las empresas
siempre han mostrado preocupación por nuestros planes de
estudios, la preparación y cualificación de nuestros titulados
universitarios, las especialidades que pueden seguir, las
prácticas en empresas para complementar una formación
conceptual, los métodos para trabajos conjuntos con universidades y la profesionalidad de nuestros titulados universitarios. Ahora todos están preocupándose de estas cosas y de
otras más.
U: ¿Son esas analogías aplicables a la Tecnología de la
Información?
PD: Completamente. Hace diez o veinte años, muchos
observadores de la informática creían que la computación
era un rama de la ingeniería electrónica, las matemáticas o
la gestión empresarial, pero no un campo por sí mismo.
Ahora no. Hay un amplio consenso de que todos somos
completamente dependientes de la Tecnología de la Información y necesitamos ayuda profesional. El campo de
preocupación humana permanente es nada menos que la
comunicación y coordinación entre seres humanos. La
Tecnología de la Información se ha convertido en parte
permanente del medio a través del cual tienen lugar las
actividades humanas. No tenemos que persuadir a nadie de
que necesitamos muchos profesionales bien formados y
entrenados en la Tecnología de la Información. Esto plantea
a las asociaciones existentes en el campo de la Tecnología de
la Información el mayor reto que han tenido hasta la fecha:
trabajar conjuntamente para organizarse y formar una profesión.
U: Antes de preguntar cómo se percibe dentro de la profesión de la Tecnología de la Información esa lista de preocupaciones, debemos preguntar ¿cuál es su noción de «profesión» y qué significa ser un «profesional»?
U: Entonces ¿a quiénes podemos considerar profesionales
de la Tecnología de la Información?
PD: Para mí es útil aprender de otras profesiones ya consolidadas como medicina o abogacía. Uno de los aspectos más
llamativos de las profesiones es su longevidad y durabilidad.
Esto no es casual. Las profesiones se forman en torno a
campos de preocupación humana permanente: cosas que
afectan a todos, en cualquier momento, lugar y cultura. Por
ejemplo, ningún ser humano puede evitar la preocupación
por la salud. Tarde o temprano todos tenemos algún problema de salud y buscamos ayuda profesional. El profesional
del cuidado de la salud necesita una experiencia sólida para
ser útil, experiencia que va mucho más allá de lo que un
aficionado puede aprender mediante lecturas o charlas. El
profesional del cuidado de la salud debe estar bien formado
y orientado para ayudar a las personas. Se pueden hacer
afirmaciones similares sobre la abogacía. Ningún ser humano puede escapar la preocupación por las leyes de donde vive
PD: Ésa es una cuestión importante. Nuestra visión tradicional de los informáticos como programadores y analistas de
sistemas es demasiado restringida. La informática tradicional no estudia el abanico completo de preocupaciones que la
gente tiene respecto a la Tecnología de la Información y es
frecuentemente criticada por sus diversos tipos de restricciones. Pondré algunos ejemplos. Pocos departamentos de
informática ofrecen especialidades en seguridad de la información, que es una preocupación primordial de los usuarios
de los sistemas de información. Muchos ingenieros de
software creen ahora que los planes de estudios tradicionales
en informática son demasiado limitados para acomodar la
troncalidad científica y profesional de la ingeniería del
software. Están promoviendo el establecimiento de planes
de estudios y departamentos de ingeniería del software
independientes. Muchas empresas creen que los departa-
El concepto de profesional
NOVATICA sep./oct. 2000 nº147
mentos de informática sobrevaloran la teoría. Confían en sus
propias universidades de empresa1 para cubrir las carencias
de formación práctica en Tecnología de la Información.
¿Sabía usted que existen más de 1.600 universidades de
empresa? ¡Este número es mayor que el número de departamentos académicos de informática! Y eso que en él no se
incluyen muchos cientos de organizaciones educativas no
académicas.
Los departamentos de informática no se plantean las necesidades educativas de todos esos técnicos de asistencia al
consumidor, la gente que responde telefónicamente a preguntas sobre software y ordenadores personales. Sin estar
formados como informáticos, estos técnicos atienden las
preocupaciones de la gente sobre sus ordenadores y redes.
Ellos son, a mi entender, miembros de pleno derecho de la
profesión de Tecnología de la Información. Lo mismo se
puede afirmar sobre los diseñadores profesionales de portales de web.
El año pasado hice un sondeo rápido para ver qué grupos
profesionales estaban ya organizados en varias especialidades de Tecnología de la Información. ¡Conté una docena!
Estoy seguro de que hay otra docena más. No es posible que
la informática tradicional pueda formar gente en todas estas
especialidades. La informática se ha convertido en una más
de las muchas especialidades de la Tecnología de la Información, si bien tiene una categoría especial, como la que
corresponde a los padres de una gran familia. Yo he tenido
que romper el viejo cliché de creer que aquellos que tienen
un diploma universitario en informática son los únicos
miembros de pleno derecho de la profesión de la Tecnología
de la Información.
U: ¿Piensa que esta visión suya está ampliamente aceptada,
o encuentra resistencias?
PD: Hace unos años había resistencia. Hoy día crece el
número de personas que están cambiando de opinión. En el
último año, el National Research Council publicó un informe titulado «Dominio de la Tecnología de la Información»
(título original Fluency in Information Technology), que
proponía la idea de que todo ciudadano debería tener un
cierto nivel de dominio de los ordenadores, en vez de sólo un
nivel básico. Este informe llamó la atención de muchos
educadores, que ahora quieren colaborar con los informáticos
para definir un marco conceptual en el que sus estudiantes
puedan alcanzar ese dominio. ACM e IEEE Computer
Society han estado trabajando en una revisión de la
troncalidad de los planes de estudios de informática, denominada Curriculum 2001. En las propuestas iniciales presentadas a otros grupos descubrieron que esos otros grupos
querían que la troncalidad informática sirviera a los muchos
clientes de la informática que existen ahora. La visión
restringida y especializada ya no es la filosofía básica
correcta. Los profesionales informáticos están respondiendo positivamente a estos cambios, participando en la cuestión de cuál es la troncalidad de toda la Tecnología de la
Información. Creo que esto es un acontecimiento afortunado. Los informáticos están empezando a preguntarse: ¿quié-
Edición digital/ ©ATI 2000 51
nes son nuestros clientes? Creo que la actitud extravertida
que emana de esta forma de pensar se extenderá. Nos
permitirá replantearnos nuestras relaciones entre especialidades profesionales. El viejo pensamiento llevó al enfrentamiento entre miembros de la profesión, tales como
informáticos, ingenieros de software y científicos de la
computación, y a enfrentamientos con otros profesionales,
como bibliotecarios digitales, arquitectos de software,
webmasters o técnicos de asistencia al consumidor. Creo que
el nuevo planteamiento va a incluir a todos estos grupos.
Todos ellos son parte del campo de la Tecnología de la
Información.
U: ¿Así que está ocurriendo una especie de «balcanización»
(N. del E.: división aguda y difícil de conciliar)?
PD: Sí. Se podría decir eso. En medio de los enfrentamientos
hay una tendencia natural de cada grupo a seguir su propio
camino, operar de forma autónoma y tratar de evitar
interacciones que podrían ser desagradables e improductivas. Me siento optimista respecto a que encontraremos un
consenso bajo un único abrigo: el de la Tecnología de la
Información.
U: ¿Tiene consecuencias negativas este desvío hacia la
balcanización? ¿Son importantes?
PD: Creo que hay consecuencias negativas importantes. El
siguiente es un ejemplo que afectará a muchos ingenieros de
software en los próximos años: tanto ACM como IEEE
Computer Society están profundamente preocupadas con la
ingeniería del software, pero no están de acuerdo en si la
ingeniería del software tiene la madurez suficiente como
para poder convertirse en una profesión. Por tanto, tienen
enfoques diferentes. IEEE Computer Society cree que la
ingeniería del software debería ser una profesión y, por
tanto, debe comportarse como tal. Dado que otorgar permiso
oficial para ejercer es parte de la profesión, ellos están
dispuestos a ayudar a los diferentes Estados de EE.UU. en la
creación de buenos exámenes para poder ejercer oficialmente como ingenieros de software. Por otro lado, ACM cree que
otorgar permisos oficiales de ejercicio como ingeniero en el
campo todavía inmaduro de la ingeniería del software daría
la falsa impresión de que los ingenieros que hayan obtenido
dicho permiso son sistemáticamente capaces de producir
sistemas fiables y seguros. El conjunto de conocimientos
base de la ingeniería del software no está suficientemente
desarrollado como para asegurar que el permiso oficial para
ejercer como ingeniero de software sea significativa. ¿Cómo
podemos reconciliar estos dos puntos de vista? ¿Cómo
alcanzaremos alguna coherencia entre los requisitos que
establezcan los Estados para otorgar el permiso oficial si las
dos asociaciones líderes no están de acuerdo en si ese
permiso tiene algún significado?
U: ¿Tiene esta balcanización algún impacto directo en los
profesionales de la Tecnología de la Información?
PD: Seguro. El ingeniero de software en Texas, donde se
prevé otorgar permisos oficiales, se enfrentará a un dilema.
NOVATICA sep./oct. 2000 nº147
52 Edición digital/ ©ATI 2000
¿Qué haría usted si fuera un ingeniero? ¿Prepararse para el
examen, sabiendo que IEEE le respalda, u olvidarse de él
porque ACM dice que la gente terminará creyendo que los
permisos oficiales de ejercicio profesional no significan
nada?
Certificación y permiso oficial
U: ¿Tiene la certificación, que no el permiso oficial de
ejercicio profesional, algún papel dentro de este debate?
PD: Vamos a distinguir entre certificación y permiso oficial
de ejercicio profesional. La certificación es un proceso por
el cual los representantes de la comunidad garantizan que
usted tiene ciertas habilidades. El permiso oficial es algo que
le otorga un Estado para que usted pueda ejercer su profesión
en ese Estado. Muchos Estados pueden perfectamente hacer
que la certificación emitida por asociaciones profesionales
sea un requisito para la titulación. Me consta que tanto ACM
como IEEE Computer Society creen en la certificación
otorgada por la profesión. Puedo imaginar fácilmente la
cooperación entre ambas asociaciones en programas para
certificar ingenieros de software a pesar de que no colaboren
en ayudar a los Estados a desarrollar sus exámenes para
obtener el permiso oficial de ejercicio profesional. Ni siquiera tienen que otorgar la certificación ellas mismas. Pueden
reconocer los planes de estudios de universidades que preparen para la certificación y pueden ayudar al ICCP (Institute
for Certification of Computer Professionals - Instituto para
Certificación de Profesionales Informáticos) a desarrollar
una certificación de ingeniería del software. Si las asociaciones profesionales no colaboran en la certificación, los exámenes estatales para la obtención del permiso oficial se
convertirán en certificaciones de hecho y no habrá coherencia entre la diferentes regiones. ¡Podría haber 50 interpretaciones de la certificación dentro de EE.UU.! Si las asociaciones colaboran, tendremos un conjunto de certificaciones
estándar para todos y todos los Estados que quieran otorgar
permiso oficial de ejercicio profesional podrán utilizar
dicho conjunto como referencia.
U: La certificación es claramente una preocupación internacional y no sólo una preocupación de los Estados que forman
EE.UU. ¿Se cubre con ambas organizaciones un abanico
suficientemente amplio?
PD: Oh, sí, por supuesto. Tanto ACM como IEEE Computer
Society operan internacionalmente. Ambas pertenecen a
IFIP (International Federation of Information Processing
Societies). Alrededor del 40% de los miembros de ACM son
internacionales (de fuera de EE.UU.). Hace unos pocos
años, ACM reorganizó su Consejo para reducir la representación de EE.UU. y aumentar la representación internacional. ACM ha replicado sus servicios web en varios puntos
distribuidos internacionalmente, para que todo el mundo
pueda tener un acceso bueno a los servicios de ACM en la
web (http://acm.org).
U: ¿Qué piensan organizaciones como ACM sobre esos
famosos chavales que dejan la escuela primaria para conver-
tirse en especialistas en webs o abandonan la universidad
para crear una empresa? ¿Ayuda ACM a este tipo de gente?
PD: Ambas asociaciones recomiendan a los jóvenes la
obtención de titulaciones universitarias en disciplinas de la
Tecnología de la Información. Ni ACM ni IEEE, que yo
sepa, tienen programas específicos para los alumnos que
abandonan sus estudios universitarios y entran en el mercado de trabajo tan pronto. Su pregunta trae a colación otra
cuestión: el aprendizaje continuo de por vida. A lo largo de
los años, ACM ha desarrollado relaciones de trabajo mucho
más cercanas con las universidades que con el sector de la
Tecnología de la Información. Esto debe cambiar. ACM y
las otras asociaciones tendrán que desarrollar un consenso
más amplio sobre un modelo de formación profesional
continuada que defina los papeles de la educación superior,
las organizaciones educativas no académicas, y las universidades empresariales. Esto mostrará a la gente joven los
tipos de itinerarios que pueden seguir en su carrera y dónde
pueden conseguir ayuda para seguir dichos itinerarios.
Espero que esto sea parte de los resultados de la iniciativa
ITP (Information Technology Profession - Profesión de
Tecnología de la Información).
El papel de la innovación
U: Usted ha comentado el papel de la educación en la
profesión. ¿Qué hay sobre la innovación? ¿No tiene el
mundo de los negocios en la Tecnología de la Información
un enfoque sobre la innovación diferente del que tienen las
universidades?
PD: Hay una cantidad increíble de innovación dentro del
mercado de la Tecnología de la Información. Muchos de mis
colegas de la universidad me dicen que aprenden más sobre
las nuevas tecnologías a través de los periódicos que en sus
congresos de investigación. Muchos malentendidos tienen
su origen en que las universidades y el mundo de los
negocios utilizan la misma palabra, «investigación», para
referirse a distintos modelos de innovación. Las universidades creen que toda innovación tiene su origen en las ideas.
Sus laboratorios de investigación se concentran en producir
ideas y extenderlas mediante publicaciones científicas y
conferencias. Algunas de esas ideas son asumidas por el
mercado y finalmente producen innovaciones. Sin embargo,
el comercio y la industria creen que las invenciones no son
innovaciones. Piense en todos esos inventos que fueron
patentados pero nunca produjeron un céntimo para sus
inventores. El comercio y la industria piensan que las
innovaciones ocurren en la práctica, en la vida cotidiana de
la gente. Buscan nuevos productos que permitan prácticas
nuevas e innovadoras. Buscan servicios que ayuden a la
gente a realizar prácticas nuevas e innovadoras. Forman a la
gente en prácticas nuevas e innovadoras. Los emprendedores son los agentes que facilitan que esto ocurra, ayudados
al principio por el dinero de inversores arriesgados. Así
pues, tenemos dos dinámicas en marcha. Los laboratorios de
investigación de las universidades y de las empresas negocian con ideas, y obtienen fondos del gobierno o de presupuestos corporativos para investigación. Los emprendedo-
NOVATICA sep./oct. 2000 nº147
Edición digital/ ©ATI 2000 53
res negocian con productos, servicios y nuevas prácticas, y
obtienen fondos de los capitalistas de riesgo.
podría conseguirse a través de programas de cooperación,
prácticas en la empresa y acuerdos de trabajo-estudio.
U: Con estas ideas en mente, ¿cómo cambiaría usted los
enfoques actualmente usados en la educación superior?
En mi opinión, el mundo de los emprendedores no es contemplado por las universidades porque pertenece a un mundo
distinto: las universidades se dedican a trasformar ideas y los
emprendedores se dedican a trasformar prácticas. Las prácticas son los siervos en el reino de las ideas. Los programas
enfocados a las prácticas profesionales y al desarrollo de
niveles altos de competencia profesional no son el objetivo
del diseño curricular. Si pudiera volver a empezar, diseñaría
un currículo en el que el conocimiento concreto fuese un
compañero de igual a igual con el conocimiento conceptual
y en el que la innovación a través de la transformación de las
prácticas tuviese el mismo lugar que la innovación a través
de las ideas.
PD: Me gustaría que ocurrieran dos cosas: la expansión de
los planes de los laboratorios de investigación y la enseñanza sobre el mundo de los emprendedores o «emprendedoriado» (N. del T.: entrepreneurism, en el original
inglés). Estas dos cosas están relacionadas porque la clase de
innovación que se puede incorporar a los laboratorios de
investigación es exactamente del mismo tipo que dominan
los emprendedores. Los laboratorios de las universidades
podrían mejorar sus dotes de innovación añadiendo a sus
planes proyectos de I+D que ayuden a los negocios y a la
industria a desarrollar productos. Esto también ayudaría a la
industria a movilizar parte del poder intelectual existente en
los laboratorios universitarios hacia el examen de las cuestiones profundas de las tecnologías subyacentes en sus
productos. También me gustaría ver que aprendemos a
enseñar a nuestros estudiantes a ser emprendedores. La
habilidad principal del emprendedor es crear prácticas
innovadoras y hacer que la gente las use. No basta con tener
una buena idea. Cuesta trabajo convertir esa idea en práctica
y el emprendedor es el catalizador que lo facilita. No estamos
enseñando esto ahora. Las empresas y el sector están interesados en ayudar a que las universidades aprendan a enseñar
esto.
U: Lo que está usted sugiriendo contrasta con la realidad
actual.
PD: Nuestros currículos están basados en dos hipótesis
relacionadas entre sí sobre cómo aprende la gente. Una es
que las ideas preceden a la acción. Por tanto, necesitamos
dar a nuestros estudiantes conceptos y modelos mentales del
mundo, junto con unas pocas oportunidades para aplicar
esos modelos a la acción. La otra es que la misión de las
universidades es preparar a los estudiantes para un largo
viaje centrándonos en principios fundamentales y perpetuos. Mi objeción es que estas dos hipótesis son incompletas.
Ignoran una tremenda esfera de conocimiento que yo llamo
«prácticas». Las prácticas son rutinas, hábitos, habilidades,
procedimientos y procesos que, una vez asimilados, se usan
sin meditación. Cuando se considera que alguien es un
profesional competente, son sus prácticas lo que está siendo
evaluado, no su conocimiento conceptual. Usted puede
haberse dado cuenta de que muchas empresas no están
demasiado contentas con la calidad de nuestros titulados
universitarios (los absorben ávidamente a todos y a la vez
protestan). Les gustaría que nuestros titulados universitarios salieran no sólo con la cabeza llena de ideas, sino
también con sus cuerpos llenos de prácticas que se ajusten a
los puestos de trabajo en Tecnología de la Información. Las
universidades y la industria necesitan encontrar un nuevo
entendimiento sobre cómo aprenderán los estudiantes un
equilibrio mejor entre conocimiento conceptual y prácticas
profesionales. Esto no implica una reducción del número de
horas dedicado a la troncalidad del currículo, sino que
ITP, ICDL ...
U: Vamos a terminar con un comentario sobre la iniciativa
ITP (Information Technology Profession - Profesión de
Tecnología de la Información). ¿En qué consiste?
PD: Es una iniciativa tomada por ACM, con la visión general
de acabar estableciendo la Tecnología de la Información
como una profesión, y en ese proceso trasformar quién es
ACM y cómo interactúa con los profesionales de la Tecnología de la Información y con el público en general. ACM
pretende ayudar a formar esta profesión que nos hace compañeros, superar las tendencias hacia la balcanización, llegar
a los profesionales de Tecnología de la Información que no
habían estado involucrados antes y ofrecer más ayuda a los
usuarios de la Tecnología de la Información. Esto requerirá,
durante un periodo de tiempo, nuevas iniciativas de ACM,
nuevos proyectos y servicios de ACM, nuevas colaboraciones, nuevas alianzas, nuevas formas de hacer negocios ...
toda clase de innovaciones. Yo presido un comité director de
profesionales para ayudar a guiar la iniciativa y sugerir
proyectos a desarrollar.
U: ¿Hay ya algunos proyectos en marcha?
PD: Sí. Hay dos en marcha y está previsto un tercero. Uno es
el proyecto Ubiquity, que es un híbrido entre una revista de
opinión bien editada y un foro de debate bien moderado.
Mucha gente tendrá la oportunidad de hablar abiertamente
a través de Ubiquity y de influir en las directrices de ACM
haciéndonos saber lo que realmente les preocupa. Ubiquity
se plantea llegar a muchos grupos nuevos, involucrándolos
en el debate de lo que significa ser una profesión y ser
profesionales. Ubiquity está abierta a todo el mundo, de
forma gratuita.
El segundo proyecto es el ICDL (International Computer
Driving License o acreditación internacional de manejo de
ordenadores. N. del E.: versión internacional del programa
ECDL - European Computer Driving License, promovido
por CEPIS, del que ATI es promotor en España). Se trata de
una certificación de habilidades laborales básicas para sistemas informáticos de oficina donde se incluyen proceso de
NOVATICA sep./oct. 2000 nº147
54 Edición digital/ ©ATI 2000
texto, hojas de cálculo, bases de datos e Internet. Organizaremos la rama estadounidense del popular programa europeo que certifica a 45.000 personas al mes. Es interesante
que el primer esfuerzo de certificación en el que ACM se
involucra no es para profesionales de la Tecnología de la
Información, sino para otros profesionales que usan la
Tecnología de la Información en su trabajo.
El tercer proyecto, que esperamos comenzar en otoño del
año 2000, es un proyecto de identidad ITP (Information
Technology Profession). Su misión es definir la estructura
del campo de la Tecnología de la Información, incluyendo
su troncalidad profesional e intelectual, sus estándares de
cualificación, sus instituciones y sus grupos profesionales.
El comité director para este proyecto se formará a partir de
diversos sectores del campo y habrá amplias oportunidades
para que todos los involucrados en el campo puedan afectar
al resultado. Hace unos años, lideré un grupo que produjo el
informe Computing as a Discipline, que fue la base de una
amplia revisión curricular en 1991, llevada a cabo conjuntamente por ACM e IEEE Computer Society. También
sirvió a los científicos de la computación y a los científicos
experimentales informáticos para encontrar su lugar en
nuestro campo de actividad.
El comité director está considerando otros proyectos, entre los
que se incluyen formación del profesorado de enseñanza
secundaria, formación de profesionales de la Tecnología de la
Información, certificación de profesionales de la Tecnología de
la Información, modelos de formación continuada, conjuntos
de habilidades para la Tecnología de la Información, y movilidad de los profesionales de la Tecnología de la Información.
El futuro
U: Si fuéramos a tener otra charla como esta dentro de unos
cinco años, ¿piensa que las cuestiones serían completamente diferentes, o volverían a ser las mismas?
PD: Esa es una buena pregunta. Si todo va bien, dentro de
cinco años habrá muchas cosas nuevas a considerar. Estaremos de acuerdo en lo que es nuestro campo y en cómo
encajan sus muy diversas especialidades. Tendremos un
acuerdo general sobre el modelo de formación continuada
para los profesionales de la Tecnología de la Información,
un modelo que reconozca los papeles de la formación
académica, no académica y corporativa. Tendremos programas de estudios para enseñar Tecnología de la Información
a los profesores de secundaria. Ofreceremos amplios programas de actualización para los profesionales de la Tecnología
de la Información y promoveremos la certificación de los
profesionales. El programa ICDL será más amplio y ofrecerá más niveles de certificación. La informática habrá aprendido a tender su mano y servir a sus muchos clientes. Los
centros universitarios de Tecnología de la Información
enseñarán a ser emprendedores e incluirán los procesos de
innovación comercial dentro de sus planes de investigación.
El campo será mucho más atractivo para más jóvenes,
incluyendo jóvenes mujeres, y habrá menos carencia de
trabajadores en la Tecnología de la Información.
U: Y ¿cómo espera que las organizaciones profesionales
hayan cambiado para entonces?
PD: Creo que en el plazo de cinco años veremos muchos más
proyectos conjuntos entre ACM, IEEE y otros grupos profesionales. Por ejemplo, espero que estos esfuerzos interasociaciones produzcan avances significativos en certificación, especialmente para los ingenieros de software. Las
asociaciones profesionales podrán resucitar el ICCP como el
principal ente administrador de certificaciones. Espero avances significativos en los currículos a través de esfuerzos
conjuntos. Espero avances significativos en nuestro conocimiento técnico en muchas áreas, incluyendo algunas que
nos causan bastantes problemas hoy día como fiabilidad de
los sistemas software y seguridad de la información. Finalmente, cada asociación ofrecerá nuevos programas para el
desarrollo profesional, la formación y la ayuda al público.
U: Con su mirada en el futuro, ¿qué procesos acabarán
siendo los más importantes dentro de la profesión?
PD: La valoración del conocimiento práctico como compañero paritario del conocimiento conceptual, dentro de la
profesión de la Tecnología de la Información. La aceptación
del «emprendedoriado» como un proceso de innovación
junto con la producción de ideas. El reconocimiento de las
universidades de empresas y los proveedores de formación
no académica como parte del sistema de formación continuada. La inclusión, dentro de la profesión de la Tecnología
de la Información, de especialidades orientadas a los servicios. La combinación de estos logros y una apariencia e
identidad mucho más humana de la profesión harán las
carreras de la Tecnología de la Información mucho más
atractivas para muchos jóvenes, especialmente jóvenes
mujeres. Todo esto constituirá un desarrollo muy importante y muy bien acogido.
Nota del Traductor
1. Aunque las universidades de empresa, muy abundantes en
los Estados Unidos de América, no son universidades en el
sentido estricto, es decir, no tienen el reconocimiento legal
correspondiente en algunos países como España, he preferido mantener la palabra universidad en la traducción. Un
ejemplo de universidad de empresa es Motorola University
(http://mu.motorola.com) y hay más detalles sobre este tipo
de universidades en http://www.glresources.com.
The Profession of IT
Peter J. Denning and
Robert Dunham
The Core of the
Third-Wave Professional
The IT profession is the first profession in the third wave of civilization.
JASON SCHNEIDER
F
or some time, IT professionals have been grappling
with four dilemmas. They
are: skills, breadth versus
depth, design, and licensing.
The IT skills dilemma. Employers say that IT graduates lack
important skills needed in the
workplace, notably knowledge of
current IT and various “soft” skills,
including presentation, customer
relations, leadership, and team
work. At the same time, employers
tell university departments they
value the general, principles-based
education universities offer; and
they snap up every graduate.
Should we change the curriculum or not?
The breadth versus depth
dilemma. The market seems
to demand graduates with
great depth in a technical
specialty and at the same time a
broad grasp of the IT field. Educators see no clear path to a
response. There are so many specialties that any given academic
department can cover only a few.
There is already too much to
cover in the 60 credit hours allocated for major courses within a
BS degree. Moreover, depth and
breadth appear to be individual
choices—in what areas does a person seek depth? Across what spec-
trum does a person seek breadth?
The design dilemma. Our current software design processes consistently yield systems with a wide
range of flaws, making them unreliable and difficult to use. Michael
Dertouzos documents these flaws
and argues that the complexities of
IT cannot be successfully hidden
from users without a fundamental
change in the design process [3].
Dertouzos is the most recent of a
long lineage who for over 20 years
have exhorted us to move from
technology-centered to humancentered design. Our inability to
consistently develop software that
meets specifications and satisfies
customers has led not only to widespread dissatisfaction with commercial-off-the-shelf (COTS)
software, but to the licensing
dilemma discussed next. Makers of
COTS software packages keep
encountering users who find the
systems hopelessly complex, overloaded with unneeded features,
missing useful features, and backed
with surly, thin technical support.
These software makers deny any
liability for malfunction and refuse
to offer a warranty. No other
industry takes so little responsibility
for its products. Through the Uniform Computer Information Technology Acts (UCITA) movement,
software makers entreated state legislatures to exempt them from liability. Why is it so difficult to
move toward a new system of
software development?
The licensing dilemma. Among
software engineers there is contentious disagreement over the
value of licensing software engineers who work on critical systems.
Software engineers consulted by
ACM are split nearly 50/50. Consensus is currently impossible, and
no licensing system will work without a consensus. Those who favor
licensing point to other fields
where licensing has produced value
COMMUNICATIONS OF THE ACM
November 2001/Vol. 44, No. 11
21
The Profession of IT
The third wave is why we suffer simultaneous crises in
so many institutions at once, including education, research,
health, justice, family, and politics.
by giving assurances that professions meet minimum standards of
competence and understand their
responsibilities. In those fields,
most professionals themselves see
the license as a mark of distinction
conferring credibility. These software engineers believe licensing
would strengthen the field, channel
the most experienced talent to critical systems, improve the safety of
systems, and demonstrate that software engineers take their responsibilities seriously. Those who oppose
licensing believe the field is immature—no license would distinguish
the competent software engineers
from the others. Indeed, they
believe a license would give false
assurances that a software engineer
is capable of producing safe systems. These software engineers also
believe licensing would diminish
diversity and stifle creativity of software developers; they do not see a
license as a mark of distinction, and
they view certification and licensing
in other professions (such as medicine) with great suspicion and cynicism. Should we advocate for or
against licensing?
It is so often the case that
dilemmas are matters of perception
rather than objective reality. When
we broaden our perception, we can
reinterpret the world in a way that
resolves the dilemma. What is the
larger phenomenon of which these
22
four dilemmas are manifestations?
Our belief is this: We are in a
transition from the second wave of
civilization (the Industrial Age) to
the third wave (the Network Age).
The IT profession is the first profession of the Network Age. Our
traditions for understanding professions are rooted in the Industrial
Age and do not adequately inform
us about coping with the new realities of the Network Age.
The Third Wave
In 1970 Alvin Toffler published an
influential book, Future Shock, in
which he interpreted the history of
our civilization in three waves: the
Agrarian Age, the Industrial Age,
and the Information Age. He characterized the essence of the second
wave as production through muscle
power, and of the third wave production through brain power. In
1990 Toffler followed up with The
Third Wave, a thorough investigation of the changes by then well
under way.
Toffler’s premise is that our
emerging information society is not
just digital and electronically networked. We are experiencing difficult cultural, social, institutional,
and moral changes in society. The
third wave is why we suffer simultaneous crises in so many institutions at once, including education,
research, health, justice, family, and
politics—institutions with tradi-
November 2001/Vol. 44, No. 11 COMMUNICATIONS OF THE ACM
tions rooted in a mass-production
industrial society. Because it makes
communication fast, global, and
cheap, IT has been facilitating
changes in business, commerce,
and education. Once people experience the benefits from the changes,
they don’t want to turn back. We
are creating a new civilization that
will coexist with agrarian and
industrial components. Some agrarian societies, such as Western
China, will enter the third wave
directly without passing through an
industrial age.
In the Information Age, distance
becomes less important as the cost
and speed of communication drops.
A host of new, intangible digital
products such as e-books, music,
video, shrink-wrapped software,
and other intellectual property are
widely available for sale. Because
making new copies costs almost
nothing, most of the cost of these
products is in their development.
Time appears to compress as the
Internet brings us requests and
offers at an increasing rate; potential
competitors, who may now number
in the thousands, can appear
quickly and unexpectedly. More
people are falling prey to stress
induced by information overload.
One of the deeper changes is the
system of wealth creation. In the
second wave, wealth was created
through production; capital was
based in tangible assets. In the third
wave, wealth is created through
transactions that bring value to the
customer, for which the customer is
willing to pay the provider; capital
is in the form of electronic marks
on hard disks. Much wealth is created by transactions that do not
involve intangible goods. Taiwan
techno-entrepreneur Sayling Wen
believes that wealth created through
value-generating transactions is the
essence of e-commerce, which is a
new dimension of commerce that
could not be realized in the Industrial Age [9]. He puts the start of
the third wave in 2000, the year in
which e-business reached a critical
mass. He refers to the third wave as
the Network Age.
The IT profession is forming
along the wavefront; it is a new
profession addressing the concern
for the advancement and the health
of the IT enabling the third-wave
society. It is the first profession of
the third wave.
The wave interpretation gets us
to the same place as the chasm
interpretation offered in [2]. To
cross the chasm separating inventors and visionaries from the multitudes of pragmatists, IT
professionals must connect with the
pragmatic customers’ concerns. To
function effectively in the third
wave, every professional, whether in
IT or not, must deal with customers through value-generating
relationships. In the third wave,
value-generating skills will distinguish professionals from technicians.
Customer-Centric
The term network in “Network
Age” is an apt play on words. It can
refer to the technology that interconnects computers. It can also
refer to the social webs of relationships among people. Relationships
are at the center of the third wave’s
system of wealth creation. In the
third wave, the customer, not the
producer, becomes the driving force
in business; and value, not the
amount produced, becomes the
measure of wealth. Value comes in
a variety of forms depending on the
interests of the customer—for
example, sales of tangible and
intangible products, services, cost
savings, increased identity, personal
convenience, reduction of complexity, and increased personal creativity. These new ways of creating
value are stimulating innovations in
e-commerce technologies.
Who is the customer of an IT
professional? We say the customer
is anyone to whom the professional
makes a value-producing promise.
This definition applies not only to
the ordinary notion of someone
purchasing a product or a service,
but also to users of software systems, to clients of IT professionals,
to students of IT teachers, and
team members with each other and
their team leaders.
Human-centered design, a twodecades-old concept now gaining in
favor among software developers, is
an excellent example of customercentric practice. It refers to a new
kind of relationship between the
software developer and the customer (or user). Many models of
software development are technology-centered. They emphasize a
formal process beginning with a
specification and ending with customer acceptance of a system meeting the specification. They usually
iterate through several versions of
the system, each reviewed by the
customer. Despite years of experience with these models, many software projects are cancelled or late,
many others leave their customers
complaining “It does what I said
but not what I want.”And many
systems have chronic flaws of the
kind Dertouzos documents. The
problem is that technology-centered models are not attuned to
customer value and do not
acknowledge that most developers
work in teams. In a human-centric
design process, the developer creates a succession of system versions
(beginning with prototypes) and
their specifications; but the developer’s focus is on working as an
effective team that understands
how the evolving system shows up
in the customers’ world, what
breakdowns it causes, and what
value it brings. The developer listens skillfully and co-designs each
improvement with the customer.
This process ends with a system
meeting the specifications and with
a satisfied customer.
Value Skills
To create value for customers, the
network-age professional needs two
kinds of knowledge. One is deep
technical skills, which is at the core
of any promise to a customer. The
other we call value skills, which
enables the professional to connect
with the customer and successfully
COMMUNICATIONS OF THE ACM
November 2001/Vol. 44, No. 11
23
The Profession of IT
deliver the promise. Without
Value skills make good
Value skills
both, the professional will be
business. If every action
ineffective. With technical
within a business transacValue Skill Sets
Examples
skills alone, a person will be
tion brings value to the
Request, offer, promise, negotiate
Coordination
seen as a “nerd,” a low-value
customer, there is no
counteroffer, defer, decline, insist
technician, not a profeswaste. With no waste, the
Listen for customer concerns, articulate a customer gets results as
sional. Value skills are part of Customer
value proposition, make declarations, cothe core skills of an IT pro- Relations
quickly as possible and at
design value propositions with customers
fessional.
the lowest cost.
In industrial-age thinkValue skills are good
Maintain commitment records, allocate
Commitment
time and resources to each commitment,
Management
ing, knowledge is interfor engineering as well.
adjust load to one's capacity, communicate Each value skill set adds
preted as an asset—
with customers about progress, build trust
structured information that
to the quality of the result
through a history of kept commitments
can be managed in databy connecting the engiDeclare a mission, invite members, make
bases. In the Network Age, Teams
neer’s expertise to what is
commitments to the team leader, manage
knowledge is interpreted as
delivered to the customer.
commitments together, measure progress,
the capacity to perform
share assessments within the team, raise
The Dilemmas
effectively. Value skills conand resolve red flags
Answered
nect a professional’s techniUnderstand
levels
of
professional
Lifelong
Learning
Let’s see how customercal performance with the
competency, seek situations and mentors
centric orientation and
customer. In other words,
for advancement, obtain certifications of
without value skills, cusprofessional competence from recognized value skills address the
authorities
four dilemmas.
tomers will not assess you as
The IT skills dilemma
knowledgeable.
Listen for widely held concerns, follow
Business and
can be resolved by recogIn delivering their techni- Entrepreneurship and interpret trends the world, identify
nizing that the missing
cal expertise to customers,
innovative practices that can solve central
problems, build an offer, a business plan,
skills are embodied
IT professionals manage
and
a
team,
practice
within
a
code
of
ethics
skills—those learned only
commitments; build trust;
by extensive practice and
sell products and services;
demonstrated only in performance.
write and present proposals; orgaduction. This is not so in the NetEmbodied value skills enable the
nize, manage, and serve on project work Age, where every technical
professional to make embodied
teams; manage commitments to
professional must be minimally
technical knowledge available to
multiple customers; stay current
competent in relationships with
customers. Technical skills can be
with the technology; and start and
customers, internal and external.
run businesses [4]. The critical
Soft skills also suggests that tech- embodied through hands-on projects in university courses or
skills involved in doing this are
nical skills are difficult to learn and
through intensive training courses
listed in six categories in the
value skills easy. In fact, the value
from private vendors and corporate
accompanying table.
skills are every bit as difficult to
Many engineers and developers
learn as the conceptual skills our IT education departments. Value skills
use the term “soft skills” for the
curricula specialize in. One does not can be embodied through ongoing
leadership and professional mastery
value skills. This terminology comes learn value skills by studying them
workshops adjoined to regular curfrom industrial-age thinking, in
in a book or a lecture hall; one
which production-line workers did
learns them by practice, often under ricula or corporate training programs, and through coaching on
not interact with customers. The
the watchful eye of a competent
the job. The increasingly popular
soft skills were of little value to pro- coach [5].
24
November 2001/Vol. 44, No. 11 COMMUNICATIONS OF THE ACM
senior capstone project courses in
universities offer excellent settings
for teaching value skills.
The breadth-depth dilemma can
be resolved if every professional is
deep in at least one technical specialty and is competent in the team
skills. A team’s composition can be
adjusted to achieve the required
breadth and technical depth as
needed for its mission. In effect,
designing the team offers a way to
customize technical expertise to the
satisfaction of the team’s customer.
The design dilemma can be
resolved by human-centered development processes. The developer
learns the customer’s environment
as a framework for the customer’s
actions. The developer then evolves
a system (and its specification)
through a series of refinements of
rapidly produced versions evaluated
by the customer, all the while listening skillfully for what is of value
and concern to the customer. This
process continues after the system is
delivered, helping the customer
adapt changing markets and experience with the system. Extreme programming is an excellent example
of a technology that supports and
encourages adaptive software development of this kind [1].
The licensing dilemma is more
difficult to resolve, given the strong
feelings on all sides of the issue. Let
us suggest some distinctions from
the third-wave interpretation that
may shed light on the sources of the
dilemma. Many software engineers
view established, customer-oriented
professions such as medicine, law,
and some branches of engineering—formed in the Industrial
Age—as dinosaurs that are inappropriate models for software engineering in the Network Age.
Is this skepticism well-placed? In
those professions, certification and
licensing are accepted as two sides
of the same issue—raising public
confidence in the competence of
professionals and giving assurances
that professionals understand their
responsibilities. Licensing is a state
requirement; a professional cannot
practice without it. Certification is
a service offered by professional
societies and is often used to satisfy
components of state licensing
requirements. Medical professionals
developed their system of certification because of pressure from governments to minimize quackery;
doctors have since found patients
want them to be board-certified.
Law and engineering are similar.
No one believes doctors will cure
every disease, that lawyers will win
every case, or that engineers will
build bridges that never collapse.
Certification and licensing raise
confidence but do not guarantee
certainty of the outcome [7].
Many software engineers hold
the view that the software development process is ultimately a
formal derivation of a correct system from specifications. This
view inclines its adherents to
believe certification is a promise
that any system produced by a
certified software engineer must
be safe and reliable. No design
process, customer-centric or otherwise, can guarantee every system is 100% safe and reliable. A
customer-centric design process
can, however, reduce misunder-
standings about the safety and
reliability of a system.
Although it is characteristic of
the third wave that technologies
change rapidly, the rate of change is
limited by human willingness to
adopt and adapt [6]. Many professions are beset with rapid changes
in technologies and knowledge, but
they nonetheless keep their certifications up to date. We do not agree
that rate of technological change
make meaningful certification
impossible.
These potential answers to vexatious dilemmas demonstrate power
in the third-wave, customer-centric
interpretation of the world. The
third-wave perspective reveals the
importance of value skills for successful professionals. c
References
1. Beck, K. Extreme Programming Explained:
Embrace Change. Addison-Wesley, Reading MA,
1999.
2. Denning, P. Crossing the chasm. Commun.
ACM 44, 2 (Feb. 2001), 21–25.
3. Dertouzos, M. The Unfinished Revolution.
Harper Collins Business, 2001.
4. Flores, F. The leaders of tomorrow. In Beyond Calculation, P. Denning, Ed. Copernicus Books,
1997.
5. Heckler, R. Holding the Center. Frog, Ltd, 1997.
6. Odlyzko, A. The Myth of Internet Time. Tech.
Rev. 104, 3 (Apr. 2001), 92–93.
7. Parnas, D. Why software developers should be
licensed. Engineering Dimensions (May–June
2001), 36–39.
8. Toffler, A. and Toffler, H. The Third Wave.
Bantam Books, NY, 1990.
9. Wen, S. 2001. The Future of E-Commerce. AsiaPac Books, Singapore; www.asiapacbooks.com.
Peter Denning ([email protected]) is the
past president of ACM and the chair of the ACM
Education Board.
Robert Dunham ([email protected]) is the president of Enterprise Design.
© 2001 ACM 0002-0782/01/1100 $5.00
COMMUNICATIONS OF THE ACM
November 2001/Vol. 44, No. 11
25
COVE R F E AT UR E
The Push to
Make Software
Engineering
Respectable
A recognized engineering profession must have an established body of
knowledge and skill that its practitioners understand and use consistently.
After 30 years, there is still a wide gap between the best and the typical
software engineering practices. To close this gap, we need a deeper
partnership among industry, academia, and professional societies.
Gilda Pour
San Jose State
University
Martin L.
Griss
Hewlett-Packard
Laboratories
Michael Lutz
Rochester
Institute of
Technology
oftware engineering (SE) is maturing as a discipline and profession, but three decades after
the first NATO Conference on Software
Engineering, it is still not regarded as a legitimate, respectable engineering profession. In
1995, Gary Ford and Norman Gibbs of the Software
Engineering Institute evaluated what it means for a
profession to be mature and how SE was doing.1 Their
extensive and fascinating study found that, relative to
other fields and engineering branches, most elements
that make SE a profession were quite immature.
Five years later, SE has countless practitioners (a.k.a.
software developers), thousands of articles, dozens of
conferences and workshops, and a respectable number
of education and training programs. The computer science (CS) and SE communities (educators, researchers,
practitioners, and professional societies) are further
along in defining a body of knowledge, code of ethics,
accreditation guidelines, and licensing programs.
But despite all this progress, SE, while recognizable, is
still immature—as evidenced by the significant gap
between vision, education, and standard practice. The
reasons are legion, but they boil down to one simple fact:
The field is still young. There just hasn’t been enough
time to gain widespread community consensus on issues,
to stabilize a core body of knowledge, and to develop a
large enough pool (several generations) of experienced
practitioners and educators. The rapid changes in this
field make the road to maturity even rougher.
Although we believe time will eventually mature SE,
a calculated push can accelerate the maturation process.
By “push,” we mean defining, accrediting, and evaluating new curricula that stress CS and SE fundamentals
S
0018-9162/00/$10.00 © 2000 IEEE
and practice, focus on lifelong learning and team experience, and increase the role of the professional societies
in accreditation, certification, and licensing efforts.
Although the push will not overcome all issues, it will
go far in addressing the most knotty ones.
Establishing SE programs is fraught with economic,
political, and pedagogic challenges—notably how to
divorce SE (or if it should be divorced) from existing
CS and computer engineering (CE) curricula. Any
solutions will have to come from deeper, more extensive industrial-academic-professional society partnerships. This is key.
We have spent some time considering the reasons for
SE’s immaturity. All of us are heavily involved in both
industry and academia and have been active in professional societies that aim to promote SE as a profession.
Promotion efforts are by no means limited to the US,
but because our experience is primarily with US activities, that is our focus in this article. Our main goal is
to explore, from a multifaceted perspective, why we
are where we are now and how we can move forward.
WHAT MAKES A PROFESSION MATURE?
As Table 1 shows, a mature profession must have
several key infrastructure components. In addition to
solid education programs, proper guidance from
industry and professional societies is critical to adequately prepare graduates for entrance to an SE profession. Accreditation of programs and possible
certification and licensing of graduates safeguard the
quality of any education and training program and
provide assurance that graduates meet and maintain
requisite levels of knowledge and practice.
May 2000
35
The various infrastructure components work
together to ensure that those entering the profession
become familiar with the currently accepted body of
knowledge and that they practice it in a manner consistent with the tenets of the profession. Research and
practice will evolve the body of knowledge; thus, practitioners must continue to enhance their skills and
practice as they gain enough experience to specialize.
Table 1 indicates the relative maturity of each infrastructure component, using Ford and Gibbs’ four-level
scale.1 However, the ratings do not reflect the consensus or breadth of compliance on a particular component, which tends to be low.
A major symptom of a not-quite-mature field—and
a frustrating one to address—is the wide gap between
education and practice and between best and typical
practice. Ongoing efforts in many maturity elements
are attempting to narrow these gaps.
PROFESSIONAL SOCIETIES
There are many engineering and CS professional societies, but the two most clearly identified with the SE profession are the Association for Computing Machinery
(ACM) and the IEEE Computer Society (IEEE CS).
Recently, the two joined forces to define SE as a profession, provide a code of conduct for professionals, and
formulate appropriate criteria for accrediting SE edu-
cational programs. The Software Engineering Coordinating Committee (SWECC) defines the scope of these
constituent tasks and monitors and coordinates the
working groups. SWECC membership is divided evenly
between the ACM and the IEEE CS—a balance that is
the hallmark of SWECC-commissioned activities. Table
2 lists some of SWECC’s current projects.
Although the ACM and the IEEE CS sponsor
SWECC projects, international participation has been
uncommonly strong. More important, professional
groups in other countries are beginning to take SE seriously: Graduates of UK computing programs that are
accredited by the British Computer Society are eligible
for Chartered Engineer status, and licensing for graduates of accredited SE programs in Australia is similar to licensing for other engineering graduates.
Canada also seems to be leaning toward similar treatment of SE as a profession.
Barriers. Activities to develop a body of knowledge,
accreditation, curricula, a code of ethics, and licensing
and certification are ongoing but are proceeding rather
slowly, staffed primarily by volunteers. Although the
IEEE CS and the ACM have actively promoted professionalism in SE since 1993, they do not agree on all
issues related to SE as a profession. Their positions on
licensing professionals and the pace of accreditation
are far apart, for example.
Table 1. How does software engineering rate on the maturity scale?
Infrastructure component of a mature profession
How software engineering measures up*
Recognized body of knowledge
IEEE-CS/ACM task force has released a first body of knowledge report with
consensus expected to take at least 4 years (level 2-3)
IEEE-CS, ACM, and SIGSOFT, active, a specific SE society under discussion (level 2-3)
Recently developed for SE, but not widely known or practiced (level 1-2)
Some SE BS degrees recently offered by CS departments and special SE departments in the US, the UK, Europe, Canada, and Australia (level 1-2)
Accreditation Board for Engineering and Technology (ABET) criteria for SE are in
place, which the Computer Science Accreditation Board (CSAB) will evolve
(level 1-2)
Several MSE programs, certificate short courses, and so on (level 1)
Professional society/societies
Code of ethics
Initial professional education system
Accreditation of professional education programs to improve
program quality and ensure some uniformity
Skills development mechanism for professionals
entering the practice
Professional development programs to maintain currency of
knowledge and skills
Certification of professionals administered by the profession
Licensing of professionals administered by government
authorities
Fragmented offerings—extension courses, seminars, professional conferences,
manufacturer certification programs (level 1)
Limited, inconsistent, technology-based; some certificates issued by manufacturers
(for example, Microsoft MCSE) (level 0-1)
Recently in the US (Texas), Canada, and the UK (level 1-2)
*Level 0 = Nonexistent.
Level 1 = Ad hoc, some form of element exists, but is not identified with the SE profession.
Level 2 = Specific, the element exists and is clearly identified with the SE profession.
Level 3 = Maturing, the element has existed for many years, is continually improving, and is under active stewardship of an appropriate professional
body.
36
Computer
Table 2. Software engineering projects jointly sponsored by the ACM and the IEEE CS through the Software Engineering Coordinating
Committee.
SWECC project*
Description and status as of April 2000
Software Engineering Body of
Knowledge (SWEBOK)
Software Engineering Code of
Ethics and Professional
Practice (SWCEPP)
Software Engineering Education
Project (SWEEP)
Create an index to the core body of knowledge (BOK), structure it, refine with specialist area committees, and
gain community consensus. — Phase two BOK draft (Stoneman) essentially complete.
Create an expanded and detailed code of SE ethics for educators and practitioners based on a shorter engineering
code of ethics. Provide case studies and training materials to help rapidly educate community. — Final draft
submitted for approval.
Define model accreditation criteria and sample curricula consistent with SWEBOK for BS and other SE education
programs. — SWECC approved accreditation guidelines in December 1998.
* More details and current status of key activities are described in the IEEE Software special issue on professional software engineering (Nov./Dec.
1999) and at http://www.computer.org/tab/swecc.
At the national level, the President’s Information
Technology Advisory Council (PITAC) report articulated the urgency of SE issues, and Congress approved
money for the National Science Foundation (NSF),
but these recommendations are not coordinated with
the societies, nor do final proposals really target funds
toward SE issues. Thus, progress is limited to the rate
at which society members and leadership can change.
Possible solutions. The societies, via member involvement, must strive to create a broader consensus on the
core of the SE profession. Perhaps the SE community
needs to address issues more aggressively. We could accelerate progress with full-time paid staff, for example,
rather than relying on the efforts of part-time volunteers.
Body of knowledge
In long-established professions, such as medicine,
law, or civil engineering, the body of knowledge was
codified as part of a long maturation process. To accelerate the maturation of new professions, professional
communities can consciously and explicitly define the
body of knowledge, rather than waiting for a natural
evolution. The codification proclaims what is unique
about the profession, demarcates the boundaries with
related professions, and significantly aids education,
certification, and licensing. Getting practitioners and
educators to agree on the core body of knowledge is
a key milestone in any discipline.
SWECC established the Software Engineering Body
of Knowledge (SWEBOK) project to collect and document the state of SE practice, using a three-phase
consensus-building approach.2 So far, the SWEBOK
project has identified and is structuring many topics
that texts and SE programs cover. Area committees
are expanding and distilling the material, using public reviews and surveys to reach consensus. The goal
is to categorize the material as core, advanced, or
research to determine what should be taught and
known at various professional development levels.
It will take at least four years to reach initial consensus, with ongoing refinement and evolution. The
first two phases—strawman and stoneman—are
essentially complete, providing a basis for significant
work on model curricula and certification.
Barriers. Achieving consensus on the common core
takes time, as will agreeing on related specialties. More
time will elapse before curricula incorporate this core,
especially when state education processes are involved.
Possible solutions. Some ongoing activities are
increasing awareness and buy-in. Adding workshops
and panels at major conferences could heighten
awareness even more. Support for innovative programs can accelerate the rate of change. Also, significant industry, government, and society sponsorship
and funding can help create sponsored and widely
advertised pilot or magnet programs to help jumpstart change, as well as offer fast-track certification
programs. Neither academia nor industry will change
overnight, however. Current mind-sets must change,
which may require new blood in upper ranks.
Code of ethics and professional practice
SWECC established the Software Engineering
Code of Ethics and Professional Practice (SWCEPP)
project to develop a code that the SE community as
a whole would find acceptable. An international
effort produced a detailed add-on to the standard
engineering code of ethics, which differs across countries.3 Some decry the extra detail as unnecessary,
claiming that we already have an adequate engineering code. We agree with others who believe the extra
detail and clarity are needed, both to enhance education and to clarify to SE educators and practitioners
that they are indeed engaged in an engineering effort
that affects society.
The ACM and the IEEE CS recently approved the
draft code, with the goal of having it recognized as
appropriate for all involved in SE. There are as yet no
May 2000
37
formal consequences for professionals who violate the
code. In other professions, a licensing board hears
accusations and can recommend disbarment (as in the
legal profession) or some other sanction. The code
could also be used in legal proceedings to determine
whether or not a software engineer has acted in accordance with professional norms and the accepted body
of knowledge.
Barriers. Awareness is the biggest problem. Many
of those involved in SE still have not heard of the draft
code or SWCEPP and are confused about how it
affects them. Only a handful of schools yet teach SE
ethics and professional practice.
Possible solutions. We need to have more articles and
studies at key conferences, active industrial lobbying,
wider-spread accreditation. Most of all, we need to
allow time for awareness and practice to grow. We
can then begin self-monitoring.
Education and accreditation
Many fledgling undergraduate SE programs exist
in the US and abroad,2,4 and we expect to see more in
the next few years. The sidebar “Elements of a Good
Software Engineering Program” describes what constitutes an effective program. Common to all programs is the recognition that SE is fundamentally
different from CS and CE. The sidebar “The Case for
Software Engineering Independence” describes some
of these differences.
The Software Engineering Education Project
(SWEEP)4 provides a detailed set of guidelines for SE
programs that will eventually seek accreditation.
SWECC officially adopted the SWEEP accreditation
guidelines in December 1998. Also in 1998, the
Computer Science Accreditation Board started a formal
integration of its operations and criteria with the
Accreditation Board for Engineering and Technology—
Elements of a Good Software Engineering Program
A comprehensive undergraduate SE program builds on a
traditional CS program, incorporating
various components adapted from typical
engineering education programs. It has
eight main elements:
• CS fundamentals provide the core
technical knowledge and skills about
software and hardware artifacts and
techniques to address key technical
problems. These include programming
languages, modeling, formalisms,
mechanisms, databases, operating systems, networking, algorithms, programming, and distributed systems.
• SE fundamentals provide the core
technical knowledge and process skills
and tools to create, manage, and maintain software and documentation and
deal with complexity and human
error. These include software process
discipline, life-cycle models, software
metrics and economics, architecture,
design methods and skills, design
inspections, testing, configuration
management, and standards.
• Engineering practice and ethics provide an understanding of general systems principles, economic and
functional trade-offs, the implication
38
Computer
•
•
•
•
•
of building artifacts for use, and how
engineers serve society and balance
their responsibilities to their employers, their customers, and society.
Effective communication and teamwork skills provide knowledge and
skills in working with diverse human
beings—from peers to management
and customers.
Experience in an application domain
that exposes students to real-world
problems. This element is key to
grounding and consolidating core
knowledge and skills in a particular
area.
A significant team project exposes students to issues such as requirements
change, project management, configuration management, use of tools,
and team dynamics. The project is
typically run under somewhat controlled conditions in a laboratory or
studio setting and can be completed
in assigned time, with mentors oriented to the educational experience.
Experience in some industrial setting,
perhaps through a required internship
or co-op program, provides even more
exposure to real-world issues, people,
pragmatics, and the vagaries of real
projects under real-time pressure.
Tools for effective lifetime learning,
including experiences that rehearse
how to seek, evaluate, and use information not directly provided by
assigned texts and lectures. For
example, projects might require students to find information on the Web
or in the library, evaluate and integrate possibly conflicting materials,
and attend and report on a conference and a tutorial. Students might
also participate in an ongoing “journal club” or “research seminar,”
where they would read, analyze, and
compare many papers.
Because software technologies crop up
quickly and because IT’s role is constantly
changing, any SE program must emphasize lifelong learning. Numerous phenomena and issues (open source, the Web,
component- and service-oriented computing) will affect SE, and SE professionals must be able to understand and
evaluate those effects.
Also, different parts of software construction require a different mix of skills:
For some segments, a laboratory-style
team project is important (do an experiment, measure it, evaluate it); in others a
studio approach is better (do creative
work in some medium under the watchful eye of a mentor or instructor).
a merger that will unify the criteria and process used to
accredit SE programs. SWEEP will use the accreditation
guidelines as a specification to design one or more model
curricula for SE, leveraging the initial work of SWEBOK
and the Computer Curriculum 2001 task force (recently
formed by the IEEE CS and the ACM to review and
upgrade the 1991 computing curricula), among others.
In other countries, the development of undergraduate SE programs is even further along. Australia and
the UK, for example, established initial programs in the
early 1990s. As a result, both countries have accreditation criteria for SE programs, and graduates have
equal professional standing with those in more traditional engineering disciplines. India’s software indus-
try is also growing rapidly, in large part because of the
disciplined engineering approaches used in Indian firms.
Barriers. Establishing SE in undergraduate (or even
graduate) curricula is rarely straightforward. Several
educational institutions, including the Rochester
Institute of Technology (RIT), have successfully established an undergraduate SE program, but one model
is unlikely to work for all institutions. The California
state university system, for example, must ensure that
appropriate two-year programs are in place in parallel with introducing the four-year degree.5
A critical problem is finding faculty interested in
and capable of teaching SE because few CS faculty
have enough real-world SE experience. Teaching SE
The Case for Software Engineering Independence
This definition focuses on acquiring and
applying technical standards, but does not
address ethical standards.
entists have fundamentally different goals.
As David Parnas says, “Scientists learn science plus the scientific methods needed to
extend it,” and “Engineers learn science
plus the methods needed to apply it.”2
Debates about the relationship between
SE and CS date back to the late 1970s,
when Anthony Wasserman and Peter
Freeman3 identified five key areas that
provide the foundation for SE: computer
science, management, communication
skills, problem solving, and design
methodology. Mary Shaw,4 Bill Wulf,5
and Parnas2 highlight the intimate connections between (software) science and
engineering, and discuss the costs and
benefits of separating computing into distinct science and engineering disciplines.
Despite the political and emotional reasons to claim that SE should be just a part
of CS and CE, the strong differences in the
goals and style of education—and the
need for professional software engineers—motivate distinct SE programs.
Learning and building
The ACM/IEEE CS Task Force on the
Core of CS for Computing defines the computing discipline as “the systematic study
of algorithmic processes that describe and
transform information: their theory, analysis, design, efficiency, implementation, and
application.” Thus, the scientific question
underlying all of computing is “What can
be (efficiently) automated?”1
Software engineers and computer sci-
Art and science
There is some controversy about what
kind of engineering discipline SE actually
is and how it differs from CS. Distinct factions in the software community believe
that creating software is primarily an
artistic endeavor; others consider it more
mathematical, while others believe that
process and method are key. But both art
and science are at the core of engineering,
as attested to by this quote from Henry
Many institutions tend
to think of software
engineering (SE) as just
a kind of computer science (CS) or computer engineering (CE). This leads to
problems because the disciplines differ in
both focus and approach: SE studies software; CS and CE study primarily hardware, algorithms, and languages. CS and
CE develop knowledge; SE applies that
knowledge to engineer high-quality software systems. The IEEE Standard 610.12
definition of software engineering states:
(1) The application of a systematic,
disciplined, quantifiable approach to
the development, operation, and maintenance of software; that is, the application of engineering to software, and
(2) The study of approaches as in (1).
Petroski, a noted civil and environmental
engineer and author of the acclaimed “To
Engineer is Human”:6
The conception of a new structure can
involve as much a leap of the imagination and as much synthesis of experience and knowledge as any artist is
required to bring to his/her canvas or
paper. Once the design is completed, it
must be analyzed by the engineer as scientist in as rigorous an application of
the scientific method as any scientist
must make.
References
1. P.J. Denning et al., “Computing as a Discipline,” Comm. ACM, Jan. 1989, pp. 9-23.
2. D.L. Parnas, “Software Engineering Programs Are Not Computer Science Programs,” IEEE Software, Nov./Dec. 1999,
pp. 19-30.
3. A.I. Wasserman and P. Freeman, “Software Engineering Concepts and Computer Science, Curricula,” Computer,
June 1977, pp. 85-91.
4. M. Shaw, “Prospects for an Engineering
Discipline of Software,” IEEE Software,
Nov. 1990, pp. 15-24.
5. W.A. Wulf, “Are We Scientists or Engineers?” ACM Comp. Surveys, Mar. 1995,
pp. 55-57.
6. H. Petroski, To Engineer Is Human: The
Role of Failure in Successful Design, Vintage Books, N.Y., 1992, p. 40.
May 2000
39
requires competence in SE life-cycle processes
and so on—things that do not “feel like” CS.
Compounding the problem is the tradition of
basing faculty hiring on the applicants’ research.
Typical systems- or theory-oriented colleagues
see SE research and practice as fuzzy, decrying
the lack of evidence that SE principles and techniques actually work. SE research that could
validate efficacy, such as metrics, management,
teams, processes, or methods typically involve
social-science-like experiments, which bothers
many traditional CS researchers. As a result,
new or prospective SE faculty often face skeptical or even hostile colleagues.
Another sensitive issue is the independence of the
SE program from CS, CE, or any other department.6
Many institutions resist SE independence, remembering the battle over the EE-CS split. The concern is that
SE is an attractive combination of engineering and CS,
and that traditional programs will lose resources and
students as a consequence.
Possible solutions. Sometimes a partnership with CE,
industrial engineering, management, or business can
provide the ideal SE instructional team. An interdisciplinary program that incorporates the strengths of
both CS and CE can result in a more stable and harmonious environment for both students and faculty.7
Industry and NSF advocacy and funding of SE programs, projects, or chairs can help increase interest
and respect. If industry demanded a more standard,
comprehensive, and accredited SE education program
(as it does for other engineering professions) and was
willing to invest in developing such a program (not
just an SE training program to address a programmer
shortage), more institutions would comply.
In several regions, local industry does work closely
with local educational institutions to help motivate and
drive change, but for the most part, industry support
and encouragement is still lacking. In all US cases of successful industry support, the program resulted from a
small, motivated contingent of faculty who established
credibility with the upper administration. Examples are
RIT’s co-op program,7 the University of Utah, Georgia
Tech, and the University of California at Santa Cruz.
A challenge to proponents of these programs, as well
as to researchers, will be to prove that students of these
programs produce better systems more economically,
relative to untrained students. Anecdotal evidence from
the RIT co-op program is encouraging, but it is only a
small step in the right direction. True validation of this
hypothesis will require cooperative work between
academia and industry to gather and analyze data.
A challenge to
proponents of
accredited SE
education programs
is proving that their
graduates produce
better systems more
economically.
Skills development
SE has many facets, and different training will be
required for different software roles and specialties,
40
Computer
including, but not limited to, architect, system engineer, design engineer, test engineer, quality engineer,
maintenance engineer, programmer, and technician.
Different problem domains will surely require different specialist skills; consider the difference in content
and scale between architecting and developing the user
interface (UI) subsystem for a large-scale, multiuser
computer game versus a UI system for a reactor or airplane controller. Even more different are the skills
needed for UI design versus those for database or operating system development.8 Programmers must know
specific languages and associated tools, and be familiar with the skills needed to apply coding guidelines
and standards. A senior software engineer must have
both broad technical knowledge of CS and SE principles and be able to apply technical and managerial
practices that cover everything from project feasibility to product delivery and ongoing support.
Just as chemical and electrical engineering are
treated as distinct fields within “physical engineering,”
so we could distinguish, educate, and certify wellunderstood, distinct specialties in SE, such as compilers, databases, and operating systems.8
Barriers. SE covers a vast range of subdisciplines,
and some senior members of the field propose that
“SE for _____” is how we should move forward.
However, there is yet no consensus on the core areas,
nor on which parts of the core apply to which subdisciplines. Some core guidelines, such as design and
code inspections, are probably good for all parts of
SE, but some faculty are adamant that good practices
like code inspections do not belong in CS. This makes
it hard to find a place for these practices if the institution does not endorse a separate degree for SE.
Possible solutions. SWEBOK and SWEEP will help
distinguish core, advanced, and special areas and
define which curricula contain which parts. This incremental strategy will help support an initial consensus
and then broaden that consensus as the experience
base widens. We must agree on the body of knowledge and drive model curricula that incorporate core
elements and meet accreditation guidelines. We need
more effort than current part-time volunteers can provide to make this happen. Greater industry involvement will garner interest, help shape programs, and
provide skilled practitioners, along with opportunities to study real-world problems. Fortunately, the
SWEBOK project has significant industrial sponsorship.
Lifelong, self-directed education is also important. In
a world of free agents and contractors, software engineers must pick up—on their own—many of their specialty skills. Commercial certification (MCSE and
Cisco CCIE or CCNA, for example) is valuable, and
classes from university extension or private institutions
are key to keeping skills current and marketable.9
Licensing and certification
Licensing and certification is a significant (but not
essential) aspect of an engineer’s professional stature.
Society increasingly depends on software for a wide
variety of mission- and life-critical systems. Concerns
are escalating about liability and contracts that call for
a certified level of expertise in the software professional. The furor over Y2K has certainly raised awareness of the potential impact of SE design decisions.
The degree of licensing in practice varies from profession to profession. Licensing seems to pertain mostly
to those who must sign off on a contracted deliverable
or who do bonded private consulting. Most engineers
who work for companies are not legally required to be
licensed, though many civil and electrical engineers will
do so to help advance their careers.
Accreditation, licensing, and certification mechanisms together aim to protect the public’s health,
safety, and welfare by providing some assurance that
a practitioner is competent in the certified or licensed
specialty. Licensing also protects members of the profession, both by limiting the number of professionals
so licensed and by establishing norms that protect
individuals and groups in some liability suits. The legislative bodies of all 50 states and the US territories
have created statutes that require an engineer performing work for the general public to be licensed by
the state or territory in which the work is being performed. The laws require licensing applicants to meet
certain standards of education and work experience
and to pass a series of examinations.
Barriers. The SE community has mixed opinions
about whether professional licensing at this time is a
good idea.10,11 Does it make sense to license software
engineers before making an SE body of knowledge
available? The ACM recommended against licensing
on the basis of advice from a blue-ribbon ACM committee. This is largely a political issue—people are
afraid of being controlled, of limiting access to a scarce
labor pool, and of legislating best practices.
Many feel that licensing is premature given the
SWEBOK’s current state and the absence of corresponding accredited education programs. They doubt
what SE practice can actually guarantee. Their concern is that best current SE practices do not result in
systems with the same reliability and safety that other
engineering disciplines produce.
Possible solutions. The Texas State Board of Engineering
Licensing uses an equivalency process to award a professional SE license without examination.12 Following its law
and tradition, Texas requires licensing only for engineers
whose services are publicly available. Still, the ramifications of any licensing have led to serious debates within
the computing community, which will take time to resolve.
Many believe that other states eventually will follow
Texas. But regardless of the outcome, society and lawsuits
will dictate that we proceed incrementally, starting
in safety-critical industries. Many believe that starting licensing now will at least improve the state of
the practice and reduce error. Licensing efforts are
also under way outside the US, including in the UK
and Canada (British Columbia and Ontario).
A SUSTAINED PARTNERSHIP
Involving industry
more in SE teaching
and research
requires proactivity
on both sides.
A common theme in solutions to SE maturity
barriers is to involve industry more in SE teaching and research. To do so, we need proactivity
on both sides. A deep, sustained partnership will
encourage the development of more effective SE education programs and ensure that university research
will have more access to and influence on industrialscale development. We get the best of both worlds:
industrial involvement and advice and academia’s
long-term view of what makes a quality education.
This emphasis on the long-term view is what differentiates the partnership in education from a training
exercise.
The partnership should focus on helping universities
arrive at the appropriate balance between fundamental knowledge and its engineering application. Because
many large companies have had to mount significant
SE training programs—in large part because of the
dearth of SE education in college, they should be more
than willing to assist in nurturing SE programs that
emphasize developing core skills. Increased collaboration has many immediate benefits, such as reduced training costs for companies and more focused SE research
for institutions. Increased collaboration between academia, engineering institutes, and industry would substantially reduce serious mismatches in expectations.
Indeed, effective industry involvement is not trivial.
Goals and investments must match—typically, academia wants to train in fundamentals and lifelong learning, while industry focuses on acquiring skills to fill an
immediate need.
The sidebar “Building a Strong Industrial-Academic
Partnership Now” lists some steps each side can take
right away to begin forging this partnership.
oftware engineering is an emerging profession
that will greatly mature within the next decade.
The SE community must define, accredit, and
evaluate new curricula, stressing lifelong learning, significant team experience, and practical theory and fundamentals. We must also address the lack of consistency among the undergraduate SE programs that
do exist. Educators do not yet agree on the core elements to teach; without systematic accreditation and
licensing, there is less pressure to quickly adapt programs to increase consistency and incorporate new
knowledge and skills. Academia is slow to incorporate
practices that work well (for example, inspections).
S
May 2000
41
Building a Strong Industrial-Academic Partnership Now
Companies and academic institutions can
take several immediate steps to align their expectations for the
software engineering profession.
If you are in industry:
• Develop relationships with selected
universities and SE faculty.
• Provide support for development of
educational programs rather than just
training programs. This means preparing students for an SE career, not just
a job. You could offer guest lectures
and mentoring, for example, or participate on an SE advisory board.
• Provide input to the schools on how
their graduates fare in industry.
• Create more exciting and educationally aligned internship programs.
• Provide financial support. This is important, not only because of its direct
value, but also because it is a measure
of respect. Even if you can’t fund a
big project, you can fund a small collaborative research project and invite
the faculty and students to work with
you. Be sure to provide access to real
data and project records. Sanitize the
data and records to remove confidential information as needed or
work under nondisclosure agreements. Work closely with academic
colleagues to help them produce valued publications that respect your
company’s need for confidentiality.
• Help clarify and articulate your company’s position on longer-term professional training versus short-term
skills acquisition and how this affects
your relationship with educational
institutions.
•
•
•
• Convince your colleagues of the efficacy of good SE practice. Show them
that a project with good design,
construction, quality assurance, and
so on is better than a thrown-together
project.
• Explain the implications and opportunities of accreditation and licensing and
what effect they could have on expecta-
Acknowledgments
We greatly appreciate the excellent suggestions by
colleagues who reviewed an earlier draft of this artiComputer
•
If you are in academia:
Too often, it disdains considering the gap between best
and current practices—a significant education and
research issue. Industry, on the other hand, is far too
slow to adopt practices validated by research and experience or to invest in reducing the practices gap.
Society and industry have tolerated the consequent
poor quality and practice because of the shortage of
trained practitioners and the dearth of experienced managers who can recognize and sell good practice. The lack
of a mature infrastructure and the influence of societal
and business pressure make the widespread recognition
and adoption of best practice slow and sporadic.
Unfortunately, even if initial professional education more
quickly tracked the emerging body of knowledge, many
areas deemed critical would still be excluded. Internetbased e-commerce technology, for example, is moving
so rapidly that only a handful of institutions have tried
to offer it—even industry has a hard time keeping up.
Industrial-academic partnerships in education and
research will enable practitioners to learn and hone a
broader range of skills and practices. The efforts we
have described will significantly drive the maturation
of SE as a profession, but we will need to sustain and
build on them to bring SE closer to its ultimate goal
of respectability. ✸
42
•
•
tions for a CS/SE degree. Teach an ethics
module. Include information about the
Software Engineering Coordination
Committee (SWECC) and its projects.
Integrate some SE into any software
course you teach, and help your colleagues, especially those building
large systems, inject some SE principles into their projects. Be sure to
note any successes, however small.
Have your SE project classes help the
software efforts of non-SE colleagues.
Include industrial SE practitioners as an
advisory board and as guest lecturers.
Advocate required industrial internships for students. Monitor the
results and benefits.
Take minisabbaticals in industry, even
if the hosting corporation isn’t funding it. Invite industry experts in for a
sabbatical, a mini-sabbatical, or to be
a “software artist in residence” to
inspire and mentor students and staff.
Develop and offer collaborative educational programs with colleagues in
computer engineering, business management, or industrial engineering.
cle: Patricia Collins, Paula Hawthorn, Robert Kessler,
Joe Podolsky, and Anthony Wasserman.
References
1. G. Ford and N.E. Gibbs, “A Mature Profession of Software Engineering,” Tech. Report CMU/SEI-96-TR-004,
Software Eng. Inst., Carnegie Mellon Univ., Pittsburgh,
1996.
2. P. Bourque et al., “The Guide to the Software Engineering Body of Knowledge,” IEEE Software, Nov./Dec.
1999, pp. 35-44.
3. D. Gotterbarn, “How the New Software Engineering
Code of Ethics Affects You,” IEEE Software, Nov./Dec.
1999, pp. 58-64.
4. G.L. Engel, “Program Criteria for Software Engineering
Accreditation Programs,” IEEE Software, Nov./Dec.
1999, pp. 31-34.
5. G. Pour and A. Hambaba, “An Undergraduate Software
and Information Engineering Curriculum under Development at San Jose State University,” Proc. Frontiers in
Education (FIE) Conf., IEEE CS Press, Los Alamitos,
Calif., 1999, CD-ROM.
6. D.L. Parnas, “Software Engineering Programs Are Not
Computer Science Programs,” IEEE Software,
Nov./Dec. 1999, pp. 19-30.
7. M.J. Lutz and J.F. Naveda, “The Road Less Traveled: A
Baccalaureate Degree in Software Engineering, ” Proc.
28th SIGCSE Technical Symp. Computer Science Eduation, ACM Press, New York, 1997, pp. 287-291.
8. M. Jackson, “Will There Ever Be Software Engineering,”
IEEE Software, Jan./Feb. 1998, pp. 36-39.
9. A. Wasserman, “Software Processes and Software Professionals in the 21st Century,” Cutter IT J., Sept. 1999,
pp. 17-23.
10. M.L. Griss, “Letter from the SIGSOFT Executive Committee,” ACM SIGSOFT Software Eng. Notes, Sept.
1998, pp. 1-2.
11. J.R. Speed, “What Do You Mean I Can’t Call Myself a
Software Engineer?” IEEE Software, Nov./Dec. 1999,
pp. 45-50.
12. D.J. Bagert, “Texas Board Votes to License Software
Engineers,” ACM SIGSOFT Software Eng. Notes, Sept.
1998, p. 7.
Gilda Pour is a professor of software and information engineering at San Jose State University, where
she helped develop a software and information engineering curriculum. She develops and teaches courses
in object-oriented and component-based software
engineering and distributed object computing in both
industry and academia. Her industrial and research
experience is in object-oriented component-based
enterprise software engineering, with current emphasis on automated generation of Web-based enterprise
applications. Pour received a PhD in computer science/software engineering from the University of
Massachusetts. Contact her at [email protected].
Martin L. Griss is principal laboratory scientist for software engineering at Hewlett-Packard Laboratories,
where he has researched software engineering processes
and systems, systematic software reuse, object-oriented
development, and component-based software engineering. He created and led the first HP corporate reuse
program and participated in the development and execution of the HP corporate software initiative. Griss
received a PhD in physics from the University of Illinois. He is an adjunct professor at the University of Utah
and a member of the ACM SIGSOFT Executive Committee and SWEEP. Contact him at [email protected].
Michael Lutz is Motorola professor of software engineering at the Rochester Institute of Technology,
where he heads RIT’s undergraduate software engineering program. His interests in software architecture, software design, and lightweight formal methods
led to development of core software engineering
courses in these areas. Lutz earned an MS in computer
science from the State University of New York at Buffalo. He is a member of the editorial board of Computer and of the IEEE CS Educational Activities
Board. Contact him at [email protected].
Set
Industry
Standards
Our members write
important IT standards,
including IEEE 802.3,
the standard for Ethernet,
the most widely deployed
LAN. But technology
networks are not the
only kind of standards
developed here.
Grow
Your Career
Find Out How @
computer.org/
standards/
Did You
Know?
Right now, over 200
Working Groups are
drafting IEEE
standards.
May 2000
43