Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 97 Anuncio

¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)

Descargar para leer sin conexión

El mundo, y cada uno de nosotros, depende cada vez más de aplicaciones software para funcionar (la famosa frase "software is eating the world" es más vigente que nunca). La gran pregunta es quién va a desarrollar en el futuro todo ese software. Ya os avanzo que no serán los
programadores (tal y como entendemos el concepto de programador hoy en día). Ni hay suficientes ni lo que hacen aporta suficiente valor.

Si no son ellos, entonces ¿quienes?: ¿Ingenieros? ¿Ciudadanos? ¿Humanistas? ¿Robots?. En esta charla veremos que puede aportar cada uno de ellos al desarrollo de software y como su implicación puede revolucionar, una vez más, nuestra profesión.

Charla en la Universidad de Murcia - Junio 2017

El mundo, y cada uno de nosotros, depende cada vez más de aplicaciones software para funcionar (la famosa frase "software is eating the world" es más vigente que nunca). La gran pregunta es quién va a desarrollar en el futuro todo ese software. Ya os avanzo que no serán los
programadores (tal y como entendemos el concepto de programador hoy en día). Ni hay suficientes ni lo que hacen aporta suficiente valor.

Si no son ellos, entonces ¿quienes?: ¿Ingenieros? ¿Ciudadanos? ¿Humanistas? ¿Robots?. En esta charla veremos que puede aportar cada uno de ellos al desarrollo de software y como su implicación puede revolucionar, una vez más, nuestra profesión.

Charla en la Universidad de Murcia - Junio 2017

Anuncio
Anuncio

Más Contenido Relacionado

Similares a ¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores) (20)

Más de Jordi Cabot (20)

Anuncio

Más reciente (20)

¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)

  1. 1. Programo, luego existo - René Descartes
  2. 2. ¿Quién va a desarrollar las Apps del futuro? Jordi Cabot @softmodeling / @ingdesoftware – jordicabot.com June 2017
  3. 3. About
  4. 4. 2 niñas 1 libro 0 árboles 180 artículos 3.5 M financiación 4 países 1 startup (A/B testing WP) Muy pocas LOCs Unos cuantos años Flickr/FlazingoPhotos
  5. 5. SOM Research Lab Software runs the world. Models run the software
  6. 6. Nuestra misión Interested in the broad area of systems and software engineering, especially promoting the rigorous use of software models and engineering principles in all software engineering tasks. Flickr/clement127
  7. 7. Disclaimer
  8. 8. Modelas y punto!!!Cualquier parecido con la (futura) realidad es pura coincidencia
  9. 9. “As a writer, my job is to change your perspective and make you think outside the box.” - Mary Sage Nguyen
  10. 10. Verdades absolutas
  11. 11. Más programadores NO es la solución
  12. 12. SW Eng Developer: Creates working software Programmer: Writes code
  13. 13. 0 10 20 30 40 50 60 Programmers (in M) Estimated number of programmers (EEUU) Potential amateur programmers self-declared amateur programmers PROs
  14. 14. Shallow work: non-cognitively demanding, logistic style task, often performed while distracted ¿Programación = shallow work? Escribir código es la manera menos eficiente de produir SW
  15. 15. Solución 1: Más productividad y menos bugs
  16. 16. Ingeniería de Software (Dirigida por Modelos)
  17. 17. • Grady Booch – history of softwre engineering The entire history of software engineering is that of the rise in levels of abstraction - Grady Booch OBJETIVO: Escribir cada vez menos código
  18. 18. Algo que todos hacen
  19. 19. IDM (MDE en inglés) es la formalización/culminación de este proceso
  20. 20. Model Rapid prototyping Static analysis Code generation Automated testing Refactoring/ Transformation Documentation [Illustration by Bernhard Rumpe] IDM = Modelos como parte central de la Ingeniería del Software
  21. 21. La equación IDM: Models + Transformations = Software
  22. 22. Original model 1st refinement nth refinement Model-to-model Transformation Model-to-text Transformation ... Requirements Use Case Class Diagram Java Project
  23. 23. Un modelo 26 Ciudad de Nantes = “system” a modelar Un mapa es de hecho un modelo del sistema La leyenda del mapa es la gramática / metamodelo Existen diferentes tipos mapas: transporte, alcantarillado,… que dan “vistas” diferentes de la ciudad
  24. 24. Muy parecido al mundo de la programación MDE Grammarware MOF (metametamodel) UML (metamodel) ABank.uml EBNF.g Java.g MyProgram.java
  25. 25. (common-sense) code generation
  26. 26. Beneficios MDE (bien hecho) +productividad +calidad +Mantenimiento …. 2X – 8X 1.2X – 4X 80%
  27. 27. Y sí, se puede ser ágil y modelar
  28. 28. PERO lo lleva diciendo desde 1985
  29. 29. Adopción MDE
  30. 30. • Asterix view : resistentes al modelado
  31. 31. To model, or not to model, this is the WRONG question - Shakespeare La buena pregunta: qué modelos, cuantos,
  32. 32. Depende del proyecto: •Objetivo •Tecnología •Equipo •Tamaño •Dominio Depende, de qué depende…
  33. 33. http://matt.might.net/articles/phd-school-in-pictures Me prohibieron utilizar mis 500+ slides de “introducción a la IDM” 
  34. 34. Solución 2: Saquemos el máximo provecho de la comunidad
  35. 35. Tenemos que ser un poco de «letras»
  36. 36. Your community is the KEY
  37. 37. Code Community
  38. 38. How to help your OSS succeed Governing OptimizingOnboarding
  39. 39. Ponerlo en pràctica: Software Analysis
  40. 40. No se trata de hacer anàlisis estático del código
  41. 41. Optimizing: Community Health
  42. 42. Undertanding Community = Graph Analysis • Many types of graphs (e.g. Bipartite graphs) • Many types of properties – Micro-view (local properties) – Macro-view (global properties) – Meso-level (emerging properties) • Analysis at different levels
  43. 43. Build the right graph for yourpurpose
  44. 44. Size doesn’t matter
  45. 45. Bus Factor “Number of key developers who would need to be incapacitated (hit by a bus), to send the project into disarray that it would not be able to proceed”
  46. 46. 64.43% 12.58%
  47. 47. Betweenness & cia Useful to identify subcommunities and increase commnication
  48. 48. Gitana: Integrated analysis in SQL Coding platform Issue trackers Commun. channels Code review tools
  49. 49. Attracting contributors (and keeping them)
  50. 50. Facilitateon boarding: Importance of first impressions
  51. 51. Gamificationon top of GitHub
  52. 52. What kidney exchange programs can teach us about OSS? © www.forbes.com
  53. 53. OSS = matching market (mercados donde el dinero no es el factor principal)
  54. 54. © Apple Records Governing: Power to the people
  55. 55. La governanza de los proyectos tiene que ser transparente
  56. 56. Benevolent Dictator for Life<- Why???
  57. 57. Los proyectos OSS deberían ser más democráticos (y no, forking no es una buena opción)
  58. 58. ******
  59. 59. Project myProject { Roles: Committers Deadlines: myDeadline : 7 days Rules: myMajorityRule : Majority { applied to Task when TaskReview people Committers range Present minVotes 3 deadline myDeadline } } All the proposals for new development tasks will be accepted or rejected in 7 days by the committers of the project. Verbalization
  60. 60. Solución 3: Un usuario = un desarrollador (ocasional)
  61. 61. Todo usuario esconde un programador en su interior
  62. 62. Citizen developers
  63. 63. Citizen developers = End-User programming 2.0 ¿Ahora sí? Demanda PlataformasCognification
  64. 64. “the goal of the project is to make the promise of open data a reality by giving non-technical users tools they can use to find and compose the information they need”
  65. 65. ? API Discovery: What APIs / open data sources?
  66. 66. ? S1 S2 S1 S2 ¿Y cómo los puedo combinar?
  67. 67. JSON Discoverer – Extracting implicit models in JSON documents
  68. 68. JSON Discoverer
  69. 69. Open Data for All
  70. 70. Solución 4: Hacer outsourcing del trabajo a una inteligencia externa
  71. 71. Cognification
  72. 72. Cognification: The application of knowledge to boost the performance and impact of a process
  73. 73. Durante la revolución industrial todo se electrificó. En la próxima todo se “cognificará” con acceso barato una AI especializada
  74. 74. El mejor jugador de ajedrez del mundo
  75. 75. Cognification ML Crowdsourcing Ontologies Big Data …
  76. 76. Cognifying Software Development: 5 Examples • Estimar productividad de los programadores • Predecir componentes que van a fallar • Bot que facilite el modelado sugiriendo buenas prácticas y posibles fallos en el dominio • Model inferencer para descubrir modelos implícitos en datos semi-estructurados • Generador de código que pase el “test de Turing de IDM”
  77. 77. La ACM ha propuesto 7 principios para la transparencia y responsabilidad de los algoritmos RESPONSABILIDAD Las instituciones son responsables de las decisiones tomadas por sus algoritmos, aunque no sean capaces de explicar el cómo se ha llegado a esas decisiones
  78. 78. Conclusión
  79. 79. El “10x programmer” existe … pero no es un programador Cualquiera de vosotros puede serlo con las herramientas adecuadas
  80. 80. http://modeling-languages.com
  81. 81. http://ingenieriadesoftware.es
  82. 82. Para cualquier cosa: jordi.cabot@ icrea.cat @softmodeling @ingdesoftware

×