Gestión de
proyectos

IFCT055PO · 150h

Fundamentos teóricos de la planificación, desarrollo y mantenimiento de aplicaciones web — más práctica gamificada para consolidar conceptos.

PDF Programa

CONCEPTOS GENERALES

Fundamentos de la Gestión de proyectos

🧠 1.1 Conceptos generales

La gestión de proyectos es, básicamente, la forma ordenada y con cabeza de crear programas o aplicaciones. No se trata solo de escribir código: se trata de planificar, diseñar, probar, mantener y mejorar el software como si fuera un proyecto de construcción… pero en digital.

Concepto de Ingeniería de Software Web

Imagínate que vas a construir una casa: antes de poner un ladrillo, haces planos, eliges materiales, calculas costes, y piensas en la instalación eléctrica y el agua. Pues con una web o una app pasa igual: hay que planificar la estructura, el diseño, las funcionalidades, la seguridad, etc.

En el mundo web, la gestión de proyectos incluye todo el ciclo de vida de una página o aplicación: desde pensar la idea hasta subirla al servidor y mantenerla en el tiempo.

📌 Ejemplo real:

Si una ONG quiere una web de voluntariado, hay que definir qué podrá hacer la gente (registrarse, apuntarse a actividades, donar, etc.), cómo se mostrará la información y qué herramientas se usarán (WordPress, React, bases de datos, etc.).

Fases principales:

  • Idea: Conceptualización inicial del proyecto
  • Planificar: Definir recursos, tiempos y alcance
  • Diseñar: Crear la estructura y el aspecto visual
  • Probar: Verificar que todo funcione correctamente

🏁 1.2 Objetivos

El objetivo principal es crear software de calidad sin morir en el intento.

Para eso, se busca:

🔄 Estandarizar los procesos

Que el desarrollo no dependa de cómo se levante el programador ese día. Que haya una forma clara y repetible de hacer las cosas.

⏱️ Ahorrar tiempo y dinero

Planificando bien desde el principio se evitan los típicos "¡esto no era lo que quería el cliente!".

✨ Aumentar la calidad

Aplicando pruebas, revisiones y control de versiones para que el producto final no tenga errores ni sea un caos.

🤝 Fomentar el trabajo en equipo

Unir a programadores, diseñadores y gestores en una misma visión.

👤 Pensar en el usuario final

Que la web sea accesible, rápida y fácil de usar para todo el mundo (siguiendo normas como las WCAG 2.2).

Ciclo de Vida del Desarrollo de Software

💡 Ejemplo práctico:

Si haces una web para una escuela de idiomas y nadie puede encontrar el botón de "matrícula", o tarda 10 segundos en cargar, algo ha fallado en la gestión de proyectos, aunque el diseño sea precioso.

💎 1.3 Características

El software no es como una silla o una casa. No se toca, se crea, se ejecuta y se mejora. Tiene unas peculiaridades:

🌫️ Intangible

No se fabrica, se desarrolla. No hay piezas físicas, todo está en código.

🔄 Evolutivo

Nunca está "terminado del todo". Siempre hay algo que actualizar o mejorar.

🎨 Personalizable

Se adapta a distintos usuarios o contextos. Un ejemplo claro: la misma web puede verse diferente en móvil y en ordenador.

🔧 Dependiente del entorno

Cambia según el navegador, el servidor, o el lenguaje que se use.

⚠️ Ejemplo:

Una web que funciona genial en Chrome puede dar fallos en Safari si no se ha probado bien. Por eso el software depende tanto del entorno.

🛠️ 1.4 Principios básicos

🧩 Modularidad

Dividir el proyecto en partes pequeñas (módulos) que se puedan trabajar por separado.

Ejemplo: En una tienda online, separar el módulo de "productos", el de "usuarios" y el de "pagos".

🎭 Abstracción

Ocultar los detalles internos y dejar claro lo que cada parte hace.

Ejemplo: Usas una API sin saber cómo está programada por dentro, solo lo que te devuelve.

♻️ Reutilización

No reinventar la rueda. Si ya existe una librería o un plugin que hace algo, ¡úsalo!

🔀 Control de versiones

Para no perder cambios y poder volver atrás si algo sale mal.

📝 Documentación

Dejar apuntado todo lo importante (cómo se instala, cómo se usa, cómo se actualiza).

Ejemplo: El típico README.md de GitHub.

✅ Verificación y validación

Comprobar que el software funciona y que hace lo que el cliente quiere.

🔄 Mantenimiento evolutivo

Actualizar y mejorar con el tiempo sin romper lo que ya funciona.

📂 1.5 Paradigmas de desarrollo

#1 Estructurado

El clásico, con pasos bien definidos (como en C o Pascal).

#2 Orientado a objetos

Organiza el código en "clases" y "objetos" (muy común en Java, PHP o Python).

#3 Orientado a componentes/servicios

Se divide en piezas independientes que se comunican entre sí (microservicios, APIs).

#4 Orientado a eventos

Reacciona a acciones del usuario (clicks, movimientos del ratón, etc.), típico en JavaScript.

#5 Orientado a datos

La estructura de datos determina la lógica del programa.

#6 UX-driven

El diseño y la experiencia de usuario guían todo el proceso.

💡 Ejemplo práctico:

Una web hecha en WordPress funciona bajo el paradigma de componentes. Cada botón, menú o formulario es una pieza independiente que se puede reutilizar en varias partes del sitio.

🎖️ 1.6 Buenas prácticas en desarrollo web

Un ingeniero o ingeniera web con experiencia suele seguir estas rutinas:

  • Usar arquitecturas limpias: separar lo visual, lo lógico y lo funcional
  • Documentar todo: usar Notion, Wikis o README para dejar constancia de decisiones y procesos
  • Automatizar tareas: usar herramientas que limpien código, compriman archivos o desplieguen la web automáticamente
  • Hacer testing: probar que cada parte funciona antes de publicar
  • Revisar: otras personas revisan la web para detectar fallos
  • Gestionar proyectos con metodologías ágiles: usar tableros Kanban o Scrum, con tareas cortas y entregas frecuentes
  • Entrega continua: subir nuevas versiones sin parar el servicio
  • Pensar siempre en el usuario: accesibilidad, velocidad, compatibilidad móvil y buen diseño

💼 Caso práctico:

Un equipo desarrolla una web para una fundación. Cada semana entregan una parte (blog, formularios, donaciones) y hacen pruebas en dispositivos reales. Si algo falla, lo corrigen antes de la siguiente entrega. Esa es una buena práctica de ingeniería web.

⚖️ 1.7 Estándares y marcos de referencia

ISO/IEC 12207

Explica cómo debe organizarse todo el ciclo de vida del software.

ISO/IEC 25010

Define qué significa que un software sea "de calidad".

OWASP Top 10

Lista de los errores de seguridad más comunes (por ejemplo, inyecciones SQL o contraseñas débiles).

IEEE 830

Dejar apuntado todo lo importante (cómo se instala, cómo se usa, cómo se actualiza).

WCAG 2.2

Reglas para que las webs sean accesibles a todas las personas.

⚠️ Ejemplo:

Si tu web tiene texto con poco contraste o botones muy pequeños, no cumple la WCAG 2.2. Si además guarda contraseñas sin cifrar, está rompiendo todas las normas OWASP.

🚀 1.8 Rol del ingeniero/a de software web

El ingeniero o ingeniera de software web no solo programa: organiza, coordina y mejora todo el proceso de desarrollo.

Es como un/a director/a de orquesta digital 🎼

Sus tareas incluyen:

  • Planificar tiempos, costes y prioridades
  • Evaluar riesgos y buscar soluciones antes de que haya problemas
  • Promover herramientas modernas (GitHub, CI/CD, entornos cloud)
  • Facilitar la comunicación entre programadores, diseñadores y clientes
  • Asegurar que el resultado final sea seguro, accesible, rápido y bonito

👩‍💼 Caso real:

María, ingeniera web, coordina a tres personas para crear una web de comercio justo. Mientras una diseña el interfaz en Figma, otro programa en React y otro monta el servidor en Plesk, ella se encarga de revisar que todo funcione, esté documentado y cumpla plazos. Esa es la esencia del rol.

CÓDIGO QUEST

El Viaje del Ingeniero Web

🎮 Instrucciones del juego:

  • ✅ Responde correctamente para ganar 100 XP
  • ❤️ Tienes 3 vidas
  • 📚 Recorre 8 niveles temáticos
  • 🏆 Obtén tu certificación al final
Nivel
1
XP
0
Vidas
❤️❤️❤️
Cargando...
Cargando pregunta...

🎉 ¡Juego Completado!

0 XP