01 Capitulo

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

El trabajo del ingeniero

software

Además de describir el trabajo del ingeniero de software y algunas de sus


actividades principales, este capítulo también da una visión de la estrate-
gia de este libro para ayudarte a desarrollar y mejorar tu formación en in-
geniería del software. El capítulo termina con un ejercicio que consiste en
especificar las tareas más importantes que realizarás a lo largo del tiempo
que trabajes con este libro.

1.1 ~ Q U ÉES LA INGENlERíA DEL SOFWARE?

El trabajo de un ingeniero del software es entregar productos software de


alta calidad a unos costes establecidos y en un plazo determinado. Hay
así, tres aspectos que hacen efectivo un trabajo de ingeniero del software:
producir productos de calidad, hacer el trabajo a los costes esperados y
completar el trabajo de acuerdo con la planificación establecida. Después
de años de dolorosas experiencias, muchos ingenieros de software han
aprendido que para hacer un trabajo efectivo necesitan:
1. Planificar su trabajo.
2. Hacer su trabajo de acuerdo con el plan.
3. Esforzarse en producir productos de máxima calidad.
El principal objetivo de este libro es mostrarte cómo hacerlo.
2 EL TRABAJO DEL INGENIERO DEL SOFTWARE

1.2 ¿POR QUÉ ES IMPORTANTE UNA BUENA INGENIERIA?

Hasta ahora, son pocas las organizaciones de software que han satisfecho
de forma fiable sus compromisos de costes y planificación. Este pobre re-
cord no solamente da a la ingeniería del software una mala imagen, tam-
bién causa serios problemas en los negocios. Hay muchos ejemplos de
negocios fracasados, disputas de contratos, litigios y molestias a los clien-
tes. Entre ellos: el multimillonario sistema de control de tráfico aéreo de
la FAA que duplicó su coste y sufrió repetidos retrasos de entrega debido
a problemas de software, y Ashton Tate, una gran empresa de software,
quebró debido a la pobre calidad de sus productos software. Los defectos
del software han causado pérdidas humanas [Leveson].
El software de los ordenadores es actualmente crítico para muchos
negocios. Funciona en la mayoría de las modernas industrias, maneja dia-
riamente las transferencias internacionales de billones de dólares, y es un
elemento clave en los nuevos productos y servicios que utilizamos. Puesto
que la importancia del software en los negocios aumenta, la eficacia de los
grupos de ingeniería del software es cada vez más importante. Por lo tan-
to, tu activo más importante como ingeniero será tu capacidad para hacer
coincidir consistentemente tus compromisos con la calidad de los pro-
ductos.

1.3 EL PROCESO SOFTWARE PERSONAL

El Proceso Software Personal (PSP)SMfue diseñado para ayudar a los in-


genieros del software a hacer bien su trabajo. Muestra cómo aplicar mé-
todos avanzados de ingeniería a sus tareas diarias. Proporciona métodos
detallados de planificación y estimación, muestra a los ingenieros cómo
controlar su rendimiento frente a estos planes y explica cómo los proce-
sos definidos guían su trabajo.
El Proceso Software Personal completo puede ser enseñado en un
curso universitario de 15 clases (15 lecciones de una hora), donde los es-
tudiantes practican los métodos del PSP mientras completan 10 ejercicios
de programación y 5 ejercicios de análisis. Esto les ayuda a entender có-
mo el PSP trabaja para ellos. El PSP se ha impartido en un gran número
de universidades y está siendo introducido en muchas organizaciones in-
dustriales. Los datos reunidos de los cursos impartidos muestran que el
PSP es efectivo a la hora de mejorar el rendimiento en la planificación de
los ingenieros y la calidad de sus productos.

SM Personal Software Process y PSP son marcas registradas de la Universidad de


Camegie Mellon.
INTRODUCCIÓNAL PROCESO SOFTWARE PERSONAL 3

El PSP también es efectivo en la industria del software. En un caso,


antes de aprender el PSP, un grupo de ingenieros necesitó, en promedio,
unas cinco veces más de lo que habían estimado para desarrollar tres com-
ponentes de un sistema software. Después del entrenamiento con el PSP,
los mismos ingenieros terminaron los seis siguientes componentes del
mismo producto en un 10,4%menos del tiempo que habían planificado.
Cuando midieron los defectos encontrados por los clientes, la calidad de
los componentes terminados después del curso del PSP fue cinco veces
mejor que la calidad de los primeros componentes programados.
Cada capítulo de este libro, introduce un método del PSP que tú de-
berías aplicar posteriormente en tu trabajo. Utilizándolo, verás cómo fun-
ciona el método y adquieres práctica en su aplicación.
Supone un considerable esfuerzo y perseverancia aplicar el método
del PSP de una forma consistente, pero esa, es la única forma de apren-
derlo. Las clases del curso y el libro de texto son importantes, pero el prin-
cipal medio de aprendizaje son los datos que reúnas en tu propio trabajo
conforme completas cada ejercicio del PSP. Es importante tener estos da-
tos para que puedas ver posteriormente cómo has mejorado tu rendimien-
to con el PSP.

1.4 LA DISCIPLINA DEL TRABAJO DE ALTA CALIDAD

La disciplina se define como una actividad o ejercicio que desarrolla o


mejora habilidades. Contrariamente a la visión popular de la disciplina
como una limitación onerosa, es un marco de trabajo para aprender y me-
jorar personalmente. La disciplina del PSP proporciona un marco de tra-
bajo estructurado para desarrollar las habilidades personales y los
métodos que necesitarás como ingeniero del software. La cuestión no es
si tú necesitas habilidades personales sino cuánto tiempo necesitas para
desarrollarlas y cómo las utilizas de forma consistente. La disciplina de
PSP acelerará tu aprendizaje.
Los profesionales en muchos otros campos aprenden y practican las
habilidades y los métodos de sus profesiones durante su educación for-
mal. Los químicos aprenden a manejar los equipos del laboratorio y a ha-
cer análisis precisos. Antes de ejercer la cirugía, los médicos internos
observan y practican bajo la supervisión de cirujanos expertos. Ninguno
de ellos pensm’a en tener que aprender cuestiones de higiene, infecciones
o procedimientos de quirófano en el trabajo. Los pilotos de líneas aéreas
están muy cualificados antes de sus primeros vuelos comerciales, y los
músicos dedican años a ensayar antes de su debut. Así, en otros campos,
los profesionales demuestran su competencia básica antes de que se les
permita desarrollar el trabajo más simple, mientras que en el software, los
4 EL TRABAJO DEL INGENIERO DEL SOFTWARE

ingenieros sin entrenamiento en el PSP deben aprender las habilidades


que necesitan en el trabajo. Esto no solo es costoso y consume tiempo,
sino que aumenta el riesgo.

1.5 LA IMPORTANCIA DEL TRABAJO DE ALTA CALIDAD

Como ingeniero del software en prácticas, probablemente desarrollarás


partes de grandes productos o sistemas. No importa cómo sean de peque-
ñas con respecto al tamaño total del producto o su escasa importancia,
cualquier defecto en ellas podría potencialmente dañar todo el sistema. La
calidad de un sistema software no solamente está gobernada por la cali-
dad de sus partes, sino que cualquier error trivial en los programas de so-
porte puede tener efectos devastadores.
Los sistemas informáticos modernos pueden ejecutar millones de ins-
trucciones por segundo. Así, un defecto poco probable que pueda suceder
solamente una vez de entre un billón puede ocurrir varias veces en un día.
Con el software, las condiciones inusuales se presentan todas las veces,
condiciones que parecen imposibles ocurren en poco tiempo. Los defec-
tos en los elementos más pequeños de un gran sistema pueden causar se-
rios problemas de forma impredecible y ocasional. Si cometes un error
trivial que deja un defecto en el producto, el resultado puede causar un
gran inconveniente o incluso un daño físico al usuario.
Para producir sistemas software de calidad, cada ingeniero debe
aprender a hacer el trabajo con calidad. Si aprendes de forma consistente
a producir programas de gran calidad, tú y tus productos seréis muy valo-
rados por tus jefes y por tus clientes.

1.6 &ÓMO MEJORAR LA CALIDAD DE TU TRABAJO?

Cuando estaba en la Marina de los Estados Unidos tuve que aprender a


disparar un fusil. El entrenamiento era con fusiles y platos de barro. Mis
puntuaciones eran pésimas y no mejoraban, aunque practicase. Después
de observarme, el instructor me sugirió que intentase disparar con la ma-
no izquierda. Siendo diestro, al principio encontré eso ilógico, después de
unos pocos disparos de prueba, yo mejoré mis puntuaciones.
Hay varias cuestiones en este ejemplo. Primero, las medidas son ne-
cesarias para diagnosticar un problema. Sabiendo cuántos fallos y acier-
tos cometía, el instructor y yo podíamos ver fácilmente qué cosas tenía
que hacer de forma diferente. A continuación, teníamos que utilizar esas
medidas en algún tipo de análisis objetivo. Observándome, el instructor
podía analizar el proceso que yo seguía para disparar el fusil, los pasos
INTRODUCCI~NAL PROCESO SOFTWARE PERSONAL 5

que hacía eran: cargar, posicionarme, localizar, apuntar y disparar. El ob-


jetivo del instructor era descubrir qué pasos eran la fuente de mi proble-
ma. Él rápidamente se centró en el objetivo y sugirió que yo tenía que
hacer cambios.
Finalmente, y más importante, vino el cambio mismo. El proceso de
mejora es difícil porque las personas son reacias a intentar cosas nuevas.
Sus hábitos parecen tan naturales que pueden pensar que el cambio no les
ayudará. Yo siempre había sido diestro y nunca pensé disparar con la iz-
quierda. Una vez que hice el cambio sugerido, mis puntuaciones mejora-
ron.
Definir medidas no es siempre fácil, pero al menos no es imposible.
Este libro define varias medidas para el proceso software. Una vez que
has definido las medidas para tu trabajo, debes reunir y analizar los datos.
Si necesitas mejorar, a continuación analizas el proceso para ver dónde
tienes que hacer cambios. Finalmente, para mejorar, debes cambiar lo que
haces normalmente.
Si no hubiese cambiado mi proceso, podía haber estado intentándolo
durante años sin mejorar como tirador. Las medidas, por si solas no pro-
ducirán mejora aunque se repitan frecuentemente una y otra vez. Si con-
tinúas trabajando como siempre lo has hecho, continuarás produciendo
los mismos resultados de siempre.

1.7 EL PROCESO DE MEJORA

Los pasos necesarios para cambiar la forma de tu trabajo son los mismos
que los pasos que seguí para aprender a disparar. No son complicados. El
proceso de mejora se muestra en la Figura 1.1.
Definir el objetivo de calidad. Obviamente, mi objetivo era darle a
la diana el mayor número de veces posible, el 100% era el objetivo
final.
Medir la calidad del producto. El instructor y yo podíamos ver que
mis puntuaciones eran malas y algo había que hacer.
Entender el proceso. El instructor observó qué hacía yo para ver
qué es lo que debía de cambiar.
Ajustar el proceso. Él sugirió que tenía que disparar con la mano
izquierda.
Utilizar el proceso ajustado. A continuación, disparé varias veces,
pero esta vez con la izquierda.
Medir los resultados. Contamos el número de aciertos y fallos.
6 EL TRABAJO DEL INGENIERO DEL SOFTWARE

Definir el objetivo
de calidad

Medir la calidad
del producto

Ajustar

Realimentar y
continuar
mejorando
Medir los
resultados

Comparar los
resultados con el
objetivo

Figura 1.1 El proceso de mejora.

Comparamos los resultados con el objetivo. A partir de esos datos,


pudimos ver que mis puntuaciones mejoraron bastante.
Realimentar y mejorar continuamente. Puesto que aprender a dis-
parar un fusil era sencillo, el proceso de mejora continua no fue ne-
cesario.
Con procesos más complejos, generalmente se requieren varios ci-
clos. Con un proceso sofisticado como el desarrollo del software, los ci-
clos de mejora no deberían terminar nunca.

1.8 EL OBJETIVO DE ESTE LIBRO

Este libro introduce algunos métodos clave de ingeniería del software,


uno por uno. Estos métodos son todos importantes, pero deben enseñarse
INTRODUCCIÓN AL PROCESO SOFTWARE PERSONAL 7

en algún orden. Esto es un poco como enseñar a alguien a aprender a na-


dar. Puedes hablar sobre la respiración, los movimientos de piernas, la flo-
tación y los movimientos de brazos como actividades individuales, pero
tienes que hacerlas todas a la vez para nadar. Generalmente enseñarás pri-
mero la respiración, pero el orden en el cual expliques el resto de cosas no
lo hace muy diferente. Debes, sin embargo, cubrir todos los aspectos. En
cualquier caso, hasta que no los hagas todos juntos, no puedes nadar. Con
este libro, somos más afortunados. Muchos de estos métodos pueden ser
utilizados independientemente y te ayudarán de alguna forma. Dichos mé-
todos, sin embargo, se refuerzan unos a otros. Por lo tanto, hasta que no
los utilices todos, no conseguirás un beneficio global del proceso disci-
plinado de la ingeniería del software. De la misma forma que debes pri-
mero aprender a respirar en el agua antes de poder nadar, en la ingeniería
del software disciplinada debes comenzar por reunir datos.
El objetivo de este libro es introducirte en los pasos del proceso de
mejora que se muestran en la Figura 1.1. Puesto que el orden no es críti-
co, he decidido presentar este material en dos partes. Los 10 primeros ca-
pítulos del libro tratan de la planificación y gestión del tiempo: procesos
de planificación. Los 10 Últimos capítulos tratan de la calidad del produc-
to: proceso de gestión de defectos. Es importante tratar primero el proce-
so de planificación porque proporciona una base sólida para el proceso de
gestión de defectos.

RESUMEN

Los ingenieros del software deberían planificar su trabajo, y actuar de


acuerdo con dicho plan. El resultado serán productos de alta calidad ajus-
tados a un presupuesto y unos plazos. El Proceso Software Personal (PSP)
es un marco de trabajo diseñado para enseñar a los ingenieros del softwa-
re a hacer mejor su trabajo. Muestra cómo estimar y planificar,tu trabajo,
cómo controlar tu rendimiento frente a esos planes y cómo mejorar la ca-
lidad de los programas que produces.
Los métodos de calidad lleva tiempo aprenderlos y practicarlos, pero
te ayudarán durante tu carrera como ingeniero. Para mejorar consistente-
mente la calidad de tu trabajo, debes establecer objetivos, medir la calidad
del producto, entender el proceso, cambiar y reutilizar el proceso, medir
y analizar los resultados y finalmente realimentar y mejorar continua-
mente.
La estrategia de este libro es mostrarte cómo organizar y planificar tu
trabajo, y cómo gestionar la calidad de los programas que produces. El
primer paso para entender tu proceso es identificar las tareas que haces,
estimar cuánto tiempo necesitará cada tarea, y medir el tiempo gastado.
8 EL TRABAJO DEL INGENIERO DEL SOFTWARE

EJERCICIO 1

El primer paso para entender tu proceso es identificar las tareas que ha-
ces. Por ejemplo, como estudiante, asistirás a clase, escribirás programas,
leerás libros de texto y harás varios trabajos en casa. En algún momento,
necesitarás estudiar para los exámenes. Parte del trabajo de casa consisti-
rá en escribir programas. Una forma de describir estas tareas podría ser la
que se muestra en la Tabla 1.1. Aquí, el Estudiante X espera dedicar unos
1200 minutos a sus tareas semanales y otros 300 minutos una vez al se-
mestre a estudiar exámenes. Esto da un total de 20 horas cada semana y
otras 5 horas para estudiar los exámenes.

Tarea Frecuencia Tiempo (minutos)


Asistir a clase L, M,V 180ísemana

Leer libros de texto Semanal 100ísemana

Trabajo en casa Semanal 420ísemana

Escribir programas Semanal 420ísemana

Preparar exámenes Una vez al semestre 300lsemestre

Revisar apuntes Durante el trabajo de casa, estudiar Incluido en otros tiempos

En este ejercicio, debes definir tus principales actividades para este


curso y escribirlas en un formato como el indicado en la Tabla 1.1.
Después de hacer esta lista, estima la frecuencia de dichas tareas y cuán-
to tiempo le dedicarás a cada una. Para todas las tareas semanales, estima
el tiempo que utilizarás cada semana, y para las tareas mensuales o se-
mestrales, estima los tiempos mensuales o semestrales. Este ejercicio no
requiere que midas esos tiempos. Una estimación es suficiente. Haz y
guarda una copia de esta lista antes de hacer tu trabajo de casa. Asegúrate
de poner tu nombre y la fecha.

REFERENCIA

[Leveson] Leveson, Nancy G. Safeware, System Safety and Computers.


Reading, MA: Addison-Wesley, 1995.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy