Las computadoras electrónicas modernas son uno de los
productos más importantes del siglo XXI ya que se han
convertido en un dispositivo esencial en la vida diaria de las
personas, como un electrodoméstico más del hogar o de la
oficina y han cambiado el modo de vivir y de hacer negocios.
Constituyen una herramienta esencial en muchas áreas:
empresa, industria, gobierno, ciencia, educación.
En realidad en casi todos los campos de nuestras
vidas. Son infinitas las aplicaciones que se pueden
realizar con ellas: consultar el saldo de una cuenta
corriente, retirar dinero de un banco, enviar o recibir
mensajes por teléfonos celulares, que a su vez están
conectados a potentes computadoras, escribir
documentos, navegar por Internet, enviar y recibir
correos electrónicos.
El papel de los programas de computadoras es fundamental;
sin una lista de instrucciones a seguir, la computadora es
virtualmente inútil. Los lenguajes de programación nos
permiten escribir esos programas y por consiguiente
comunicarnos con las computadoras. La principal razón para
que las personas aprendan lenguajes y técnicas de
programación es utilizar la computadora como una
herramienta para resolver problemas.
Una computadora es una máquina para procesar información
y obtener resultados en función de unos datos de entrada.
Hardware: parte física de una computadora Software: parte
lógica de una computadora . Las computadoras se componen
de: • Dispositivos de Entrada/Salida • Unidad Central de
Proceso (Unidad de Control y Unidad Lógica y Aritmética). •
Memoria central. • Dispositivos de almacenamiento masivo
de información (memoria auxiliar o externa).
Las computadoras se construyen y se
incluyen en todo tipo de dispositivos:
automóviles , aviones, trenes, relojes,
televisiones. A su vez estas máquinas
pueden enviar, recibir, almacenar, procesar
y visualizar información de todo tipo:
números, texto, imágenes, gráficos,
sonidos, etc.
Estas potentes máquinas son dispositivos que
realizan cálculos a velocidades increíbles. La
ejecución de una tarea determinada requiere
una lista de instrucciones o un programa. Los
programas se escriben normalmente en un
lenguaje de programación específico, tal como
C, para que pueda ser comprendido por la
computadora.
Metodologías ágiles vs tradicionales
Desde el inicio del desarrollo masivo de software se ha querido
encontrar las mejores prácticas y distribuir la experiencia obtenida a través
de la práctica. Esto se ha hecho tradicionalmente mediante metodologías
impulsadas por universidades y grandes empreses de tecnología a través
de “metodologías”, como la programación estructurada (1969), SSADM
(1980), RAD (1991), RUP y SCRUM (1998) o XP (1999).
Además, se han generado diferentes
“modelos” de calidad que identifican
actividades del desarrollo determinadas
como buenas prácticas pero que
no prescriben la manera de realizarlas
concretamente de manera que
los equipos que los adoptan pueden elegir
cual es la manera de realizar estas prácticas
que mejor se adapta a sus contextos y
características.
se puede decir que las metodologías tradicionales ponen por encima de lo demás los
objetivos de la definición y del control del trabajo, mientras que las metologías ágiles
priman la libertad del equipo, la comunicación entre el cliente y el equipo, realizar sólo
las tareas que aportan valor al cliente, y finalmente definir el trabajo tal y como éste se
va realizando para el conocimiento adquirido durante su desarrollo evite realizar tareas
innecesarias.
Una consideración importante es el tamaño de los equipos. La inmensa mayoría de los proyectos se
realizan por empresas o equipos muy pequeños, donde las metodologías
tradicionales son difíciles de aplicar, e incluso imposibles si se quiere hacer de manera exhaustiva. Otro
aspecto influyente es el contexto y misión de los equipos, que pueden ser estables en su actividad
o cambiar más o menos frecuentemente de miembros o proyecto.