Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Somos realmente ingenieros?

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Somos realmente ingenieros?

En esta charla vamos a cuestionarnos el titulo aspiracional de "ingenieros” que nuestra disciplina aboga.
Para esto, revisaremos otras profesiones para compararnos y ver que tenemos en común y a que nos parecemos mas. Pasaremos por distintas disciplinas como la pintura y la música, luego por otras ingenieras como la aeronáutica y finalmente por disciplinas mas abstractas como la filosofía o psicología.
Revisaremos también los origines de la ingeniería en general, y de nuestra ingeniería en particular.
Con este viaje esperaremos reivindicar las metodologias ágiles y su lugar en el mundo del desarrollo de software, y como fin ultimo, hacer un llamado a despertar el pensamiento critico que dio origen a este movimiento ágil hace mas de 15 años

Avatar for Jorge Silva

Jorge Silva

April 16, 2016

Other Decks in Technology

Transcript

  1. ¿Somos realmente ingenieros? Repaso y reflexiones sobre el estado del

    arte de nuestra disciplina. Regional Scrum Gathering Perú Abril 2016
  2. ¿Que es un ingeniero? ingeniero ingeniero (m. y f. Esp.)

    1. Dícese del hombre que usa casco
  3. en•gi•neer /ˌɛndʒəәˈnɪr/ n. Del inglés Engine’er (c.1300) Persona que opera

    un motor o máquina Del latin ingenium Maquina (de guerra) producto del ingenio humano Ingeniarius: soldado especializado que conoce y maneja maquinas de guerra
  4. ¿Qué es la ingeniería realmente (u hoy en día)? Mary

    Shaw – Software Engineer Crear soluciones eficientes… …a problemas prácticos… …aplicando conocimiento científico … …construyendo cosas … …al servicio de la humanidad. La  ingeniería  habilita  a  personas  comunes,  a  hacer   cosas  que  antes  requerían  a  personas  virtuosas.                -­‐-­‐Mary  Shaw,  1996  
  5. ¿Qué  es  entonces  la  ingeniería  de  soDware?   Foco en

    el control y la administración/gestión de proyectos Analisis   preliminar   Diseño   Desarrollo   TesJng   Mantenimiento   Waterfall Model
  6. ¿Qué  es  entonces  la  ingeniería  de  soDware?   Crear soluciones

    eficientes a problemas prácticos computables aplicando conocimiento científico desarrollando sistemas informáticos al servicio de la humanidad. “Ingeniería de software es la aplicación sistemática del conocimiento científico en la creación y construcción de soluciones (“cost-effective”) para resolver problemas prácticos al servicio del hombre.”
  7. La creación de la “Ingeniería de Software” Crisis en industria

    del software Éxito en la ingeniería civil, automotriz y aeronáutica Ingeniería de software 1968 – Conferencia OTAN
  8. La herencia El software es “design intensive” y los costos

    de manufactura son bajos Por ser abstracto y simbólico, la complejidad en el software no esta dada por las leyes físicas, sino por limitaciones intelectuales Lo que nos hace diferentes… Diseño Construcción 80% 20%
  9. 1

  10. ¿Qué fue lo distinto que hicieron los hermanos Wright? Mayor

    foco en buscar cosas que habían fallado que en ver de que beneficiarse. Búsqueda de errores a evitar Capacidad para llevar modelos conceptuales a construcciones concretas mediante un ciclo de trabajo bien definido La continuidad en su trabajo. Construían sobre las mismas estructuras básicas y conceptos de principio a fin. “Ever evolving design” Uno de los logros que los destaco fue el “fligth testing” y el proceso de “data feedback” en el diseño
  11. Identificaban una solución Iban al aire a probar Definían un

    problema ////// Ciclo de trabajo de los hermanos Wright Donde  puede   ser   encontrada?   Como   incorporarla   en  el  diseño?   Que   información   necesitamos  ?   Hay  dos  formas  de   aprender  a  montar  un   caballo.   Lo  mismo  pasa  con  volar.   Lo  mismo  para  con  la   construcción  de  soDware  
  12. ////// Ingeniería aeronáutica - Conclusiones Feedback inmediato Presencia del testing

    Diseño y construcción iterativo incremental Importancia del piloto
  13. 2

  14. “When I speak about computer programming as an art, I

    am thinking primarily of it as an art form, in an aesthetic sense…” “…My feeling is that when we prepare a program, it can be like composing poetry or music.” Donald Knuth – Computador científico
  15. El proceso de creación en la música “La versión aceptada

    sugiere que una extraña mirada se dibuja en la cara del compositor clásico y este empieza a garabatear furiosamente una composición elaborada de la perfección que de otra forma no habría existido… pero creo que el proceso creativo se aparta casi en 180 grados de este modelo...” David  Byrne  –  Talking  Heads  
  16. ////// Arte - Conclusiones Se descubre mientras se hace No

    se nace con una idea final Proceso iterativo de creación “Un programador que subconscientemente se vea a si mismo como un artista, disfrutará lo que haga y lo hará mejor…”
  17. Psicología - Proceso de Aprendizaje Jean Piaget – Psicólogo constructivista

    francés “…entregar  al  alumno   herramientas  que  le  permitan   construir  sus  propios   procedimientos  para  resolver  una   situación  problemáJca,  lo  que   implica  que  sus  ideas  se   modifiquen  y  siga  aprendiendo   con3nuamente...     ..así  el  proceso  de  enseñanza  se   percibe  y  se  lleva  a  cabo  como  un   proceso  dinámico,  par3cipa3vo  e   interac3vo  del  sujeto,  de  modo   que  el  conocimiento  sea  una   auténJca  construcción  operada   por  la  persona  que  aprende…”   Construc3vismo   Ejemplos   concretos   Nunca  se   termina   Itera3vo  e   incremental  
  18. Los papás de Scrum Hirotaka Takeuchi y Ikujiro Nonaka –

    Autores del modelo SECI Jeff Sutherland Ken Schwaber
  19. Modelo SECI – Teoria de la creacion de conocimiento organizacional

    Conocimiento explicito Conocimiento tácito Individual Grupal Organizacional Inter- organizacional Dimension Epistemológica Dimension Ontológica “El conocimiento es creado mediante una interacción entre el conocimiento tácito y explicito”
  20. Modelo SECI – Teoria de la creacion de conocimiento organizacional

    Socialización Compartir modelos mentales, y habilidades técnicas No hay leguaje hablado por lo general Observación, imitación y practica. Experiencia Externalización Externalizando metáforas, analogías, conceptos, hipótesis. Dialogo y reflexión colectiva Combinación Se comparte conocimiento mediante documentos, conversaciones telefónicas, etc. Reconfiguración de conocimiento existente, genera nuevo conocimiento Internalización Conocimiento explicito se asimila y se hace tácito.
  21. ////// Proceso de aprendizaje - Conclusiones Pair programming Socialización (externalización)

    TDD Externalización Integración continua Combinación Coding dojo Internalizar practicas Aprendizaje como algo holístico Equipos cross-funcionales
  22. Ahora… ¿a qué se parece más el desarrollo de Software

    ? Llamar al pensamiento crítico Nada se hace espontáneo «Verum ipsum factum» (‘la verdad es hacerlo’) Giambattista Vico Si vamos a compararnos, hagámoslo bien
  23. Exploración (arte) Construcción (ingeniería) Aprendizaje (proceso de aprendizaje) Usuario Negocio

    Contexto Kick-off Salida Producción Agile Development Process Análisis Validación Desarrollo
  24. •  “The name and nature of software engineering” by Michael

    Jackson •  “Computer Programming as an Art” by Donald E. Knuth •  “Prospects for an engineering discipline of software” by Mary Shaw •  Report on a conference NATO SOFTWARE ENGINEERING CONFERENCE 1968 •  “The New New Product Development Game” by Hirotaka Takeuchi and Ikujiro Nonaka ////// Principales fuentes
  25. agile software development & service ////// Información de contacto Alem

    693 5ºB (1001) - Buenos Aires - Argentina +54 (11) 6091-3125 [email protected] www.10pines.com @10pines