Ingeniando el software en tiempos de crisis

283 views
177 views

Published on

Presentación realizada en diciembre de 2010, para los alumnos de ingeniería del software de la Universitat Jaume I de Castellón. Trata de describir la realidad de las empresas TIC de la Comunidad Valenciana, y cómo la aplicación de técnicas de Ing. del Software en sus procesos de desarrollo, les pueden ayudar a pasar la crisis con más holgura.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
283
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ingeniando el software en tiempos de crisis

  1. 1. S
  2. 2. Ingeniando el software en tiempos de crisis Francisco Sánchez Cid Jefe de Proyectos Área de Desarrollos y Arquitectura Software S
  3. 3. Ingeniando el 1. El Instituto TecnológicoSW en tiempos de Informáticade crisis 2. Venturas y desventuras del sector IT Contenido 3. Ingeniería del Software en la práctica 4. Consejos El Instituto: www.iti.es El ponente: Web: http://web.iti.upv.es/~fsanchez/ Correo: cid@iti.es
  4. 4. 1. El Instituto Tecnológico de Informática Qué somosS Centro Tecnológico especializado en Investigación, Desarrollo e Innovación en Tecnologías de la Información y Comunicación.S Somos una asociación sin ánimo de lucro y pertenecemos a la Red de Institutos Tecnológicos de la Comunidad Valenciana (junto al del Juguete, el Cerámico, el de la Madera..)S El ITI desarrolla una labor de I+D+I transfiriendo a las empresas la posibilidad de incorporar a sus productos las tecnologías y capacidades desarrolladas en proyectos de I+D+I
  5. 5. 1. El Instituto Tecnológico de Informática Recursos del ITIS 94% titulados superiores y 34% doctores. S Personal: 100 personasS El 93% de las empresas TIC S Instalaciones: 1700 m2 (V) de la CV de más de 8 empleados son asociadas al S Laboratorios de testeo y ITI usabilidadS Más de 110 proyectos de S Laboratorios de prototipado I+D+I cofinanciados en convocatoria pública o S Aula de formación contratados directamente por empresas en 2009 S Salas especialmente equipadasS Más de 100 artículos científicos publicados en S Unidad técnica en Alcoy 2009
  6. 6. Departamentos I+D+I Visión Artificial y Biometría Informática ReconocimientoIndustrial, Comunic de voz y aciones y Tecnologías del Automática Lenguaje Sistemas Optimización, Lo Distribuidos gística y Producción
  7. 7. 1. El Instituto Tecnológico de Informática Departamentos I+D+I
  8. 8. Departamentos Tecnología y Servicios Área de Software LibreÁrea de Sistemas Empotrados y Área de Sistemas Movilidad Área de Desarrollos y Área de Arquitecturas Integración de SW Tecnologías
  9. 9. 1. El Instituto Tecnológico de Informática Tecnología y Servicios Área de Desarrollos y Arquitecturas Software
  10. 10. Ingeniando el 1. El Instituto TecnológicoSW en tiempos de Informáticade crisis 2. Venturas y desventuras del sector IT Contenido 3. Ingeniería del Software en la práctica 4. Consejos El Instituto: www.iti.es El ponente: Web: http://web.iti.upv.es/~fsanchez/ Correo: cid@iti.es
  11. 11. 2. Venturas y desventuras del sector IT en la CV La situación Fuente: Observatorio Valenciano para la Sociedad Tecnológica y del Conocimiento
  12. 12. 2. Venturas y desventuras del sector IT en la CV La situación Fuente: Observatorio Valenciano para la Sociedad Tecnológica y del Conocimiento
  13. 13. 2. Venturas y desventuras del sector IT en la CV La situación Fuente: Observatorio Valenciano para la Sociedad Tecnológica y del Conocimiento
  14. 14. 2. Venturas y desventuras del sector IT en la CV La situación Fuente: Observatorio Valenciano para la Sociedad Tecnológica y del Conocimiento
  15. 15. 2. Venturas y desventuras del sector IT en la CV La problemáticaS Estamos en crisisS Mucho trabajo, poco productoS Mucha subvención, poca iniciativaS Poco nivel de madurezS Directivos con escasos conocimientos de la Ing. del SoftwareS Aún investigando, no hay un plan de explotación claro
  16. 16. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotrosS Pongamos por caso… S Una empresa del sector de la alimentación S Fabrica máquinas que clasifican aceitunas S Procesando imágenes S Y usando expulsores de aire comprimido Es decir, algo así…
  17. 17. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotros Cámara ANI y ADI ACO
  18. 18. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotrosS Todo iba bien.S Tenían su máquina funcionando y las aceitunas y los aceituneros eran felices.S Pero entonces llegaron los malvados comerciales S ¿Y si en vez de aceitunas queremos cocos? S ¿Y si en lugar de cámaras de vídeo queremos espectrógrafos? S ¿Y si en lugar de aire comprimido queremos compuertas de derivación?
  19. 19. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotrosS Qué pasó: S Cada situación una nueva máquina, cada máquina, un nuevo equipo y un nuevo mantenimiento. S Cada máquina su servicio técnico, y una evolución particular S Los fallos de una, se repetían en el resto S Se duplicaba información de configuración y control de errores
  20. 20. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotrosS Razones: S Arquitectura NO modular S Código repetido S Sin control de versionado S Sin control de errores S Sin documentación de la arquitectura S Con documentación anárquica del código S … En resumen, no aplicaban técnicas de Ingeniería del Software
  21. 21. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotrosS Hasta que no estás muy mal, no vas al médico…
  22. 22. 2. Venturas y desventuras del sector IT en la CV Por qué vienen a nosotrosS Y hasta que el software no es inmanejable… no vienen al ITI
  23. 23. 2. Venturas y desventuras del sector IT en la CV Problemas del sectorS En general, nos encontramos con empresas que: S No tienen una metodología de desarrollo software clara S No tienen una metodología de gestión de proyectos claraS Empresas que no usan herramientas estándar para: S Diseño (ni un triste modelo UML) S Control de Versiones (el SVN no es tan complicado) S Gestión de la documentación (ni siquiera plantillas) S Testeo (¿qué es eso del testeo unitario?) S Control de bugs y Errores
  24. 24. 2. Venturas y desventuras del sector IT en la CV Problemas del sectorS Estamos en crisis: S No puedo perder el tiempo en documentación S ¿Testeo? ¿Para qué? Mis programadores son muy buenosS La realidad: S Sólo las empresas maduras sobreviven a la crisis S Sólo las que tienen procesos y procedimientos claros S Sólo las que aplican patrones y reutilizan código y conocimiento S Sólo las que se mueven con la tecnología
  25. 25. Ingeniando el 1. El Instituto TecnológicoSW en tiempos de Informáticade crisis 2. Venturas y desventuras del sector IT Contenido 3. Ingeniería del Software en la práctica 4. Consejos El Instituto: www.iti.es El ponente: Web: http://web.iti.upv.es/~fsanchez/ Correo: cid@iti.es
  26. 26. 3. Ingeniería del Software práctica Metodologías de Desarrollo
  27. 27. 3. Ingeniería del Software práctica Metodologías de DesarrolloS Hay normas generales: S En general, los extremos no son buenos: ni Cascada, ni Extreme Programming. S En general, los enfoques incrementales o iterativos son buenos: RUP, SCRUMS Pero todo depende del proyecto: S Un proyecto de envergadura requiere un buen análisis de requisitos y un buen diseño S Un pequeño proyecto (100 horas), se atasca con un análisis y diseño excesivos
  28. 28. 3. Ingeniería del Software práctica Metodologías de DesarrolloS Caso SCRUM: S Extremadamente útil y productivo (bien) S Muy exigente para el grupo de trabajo (no tan bien)
  29. 29. 3. Ingeniería del Software práctica Problemas GeneralesS Cambian los requisitos: S Caso XXX y su documentación inicial tras un año de desarrolloS La tecnología no lo permite: S Caso Google Calendar y su control de acceso por calendarioS El equipo no es competente: S El famoso caso del departamento desmantelado
  30. 30. 3. Ingeniería del Software práctica Soluciones GeneralesS Cambian los requisitos: S No especifiques todos los requisitos en detalle. S La documentación crecerá junto al desarrolloS La tecnología no lo permite: S Rol de Arquitecto Software S Desarrolla elementos críticos antes de los no críticosS El equipo no es competente:
  31. 31. 3. Ingeniería del Software práctica Soluciones GeneralesS El equipo no es competente: S Huyeeeeeee!!!!
  32. 32. Hasta aquí todo bien, ¿no?Ya sabemos gestionar un proyecto Ahora vamos a remangarnos la camisa…
  33. 33. 3. Ingeniería del Software práctica Arquitectura y Diseño de SistemasS Aprende a modelar S Muchos dibujan, pocos modelan S Es la forma más rápida de documentar S La forma más fácil de relacionarte con el clienteS No existe el diagrama perfecto, sí el correcto S No intentes representar todo en un único diagrama S Haz sólo los absolutamente necesarios
  34. 34. 3. Ingeniería del Software práctica Arquitectura y Diseño de SistemasS Lo más usado en las empresas: Diagramas de Estructura Fuente: www.agilemodeling.com
  35. 35. 3. Ingeniería del Software práctica Arquitectura y Diseño de SistemasS Lo más usado en las empresas: Diagramas de Comportamiento Fuente: www.agilemodeling.com
  36. 36. 3. Ingeniería del Software práctica Arquitectura y Diseño de SistemasS Lo más usado en las empresas: Diagramas de Interacción Fuente: www.agilemodeling.com
  37. 37. 3. Ingeniería del Software práctica Arquitectura y Diseño de SistemasS Y por supuesto, el mock-up:
  38. 38. Y es fundamental:Aplicación de Patrones
  39. 39. 3. Ingeniería del Software práctica La importancia de los patronesS Es lo que llevará a nuestra carrera a ser una INGENIERÍA: S Singleton, para crear una clase de una única instancia S Factory, para crear clases sin especificar la clase exacta a crear S Adapter, para permitir a dos clases con interfaces incompatibles comunicarse encapsulándolasS Patrones específicos de seguridad como: S Encrypted Storage S Password Authentication S Authentication SessionS Repetidos una y otra vez, pero por fin con una implementación de referencia
  40. 40. 3. Ingeniería del Software práctica La importancia de los patronesS A un nivel más arquitectónico, son fundamentales los EAI (Enterprise Integration Patterns): S Estilos de integración: mensajería, BBDD compartida, … S Sistemas de Mensajería: Router, Translator, … S Canales de Mensajería: Publish-Subscribe, Message Bus, … Y muchos más
  41. 41. 3. Ingeniería del Software práctica La importancia de los patronesS Lo importante: S Saber dónde encontrarlos y aplicarlos correctamente S Respetar la nomenclatura Fuente: http://www.eaipatterns.com/
  42. 42. Ingeniando el 1. El Instituto TecnológicoSW en tiempos de Informáticade crisis 2. Venturas y desventuras del sector IT Contenido 3. Ingeniería del Software en la práctica 4. Consejos El Instituto: www.iti.es El ponente: Web: http://web.iti.upv.es/~fsanchez/ Correo: cid@iti.es
  43. 43. 4. Consejos para moldear tu camino tecnológicoS Todos empezamos desde abajo, así que… S Hazte un buen programador S Pero no lo olvides: S Eres Ingeniero, aunque tu rol sea programador S Hazte un buen tecnólogo S No es sólo programar, es conocer la tecnología S Internacionalízate
  44. 44. 4. Consejos para moldear tu camino tecnológicoS Maneja el MVC con soltura:S Y encapsula, siempre encapsula: S ¿Cómo construirías tu BBDD remota?
  45. 45. 4. Consejos para moldear tu camino tecnológico
  46. 46. 4. Consejos para moldear tu camino tecnológicoS Respecto a la programación: S Ingenia, busca, no des nada por seguro: duda de todo. S Sé maduro: aplica patrones S Sé limpio: aplica formatos estándar S Consulta (o participa) en proyectos de SW libreS Respecto a la tecnología: S No sólo programes, conoce la tecnología S Aprende a crear tu propio criterio: busca y compara S No es Java, sino Struts, Hibernate, Spring… S No es .NET, sino SQLServer, Sharepoint, Visual Studio…
  47. 47. 4. Consejos para moldear tu camino tecnológicoS Respecto a ti: S Sé humilde, pero intrépido S Saca todo el partido de los que saben S Procura estar al día en tecnología Y entre nosotros… Aquello que hagas, hazlo bien
  48. 48. Y eso es todo… ¿preguntas? Francisco Sánchez Cid cid@iti.esÁrea de Desarrollos y Arquitectura Software

×