Nuestra Misión: Construir la comunidad líder de profesionales del software. La revista IEEE Software ofrece ideas pionears, análisis de experto, consejos fundamentados y reflexiones interesantes para los desarrolladores y gestores de proyectos que quieren seguir el rápido ritmo del cambio tecnológico actual. IEEE Software es la autoridad de referencia en lo que se refiere a la transferencia de la avances de la investigación a la práctica. Arquitectura de Software Es un placer enviarles la tabla de contenidos y los resúmenes para la edición de Noviembre/Diciembre 2015 (Vol. 32, No. 6) de IEEE Software. Cada edición ofrece algunos artículos gratuitos y podcasts en Inglés, disponibles a través de los enlaces disponibles abajo. Para leer el resto de los artículos se pueden suscribir a la versión digital en inglés [www.qMags.com/ISW/pg]. Para más información, pueden contactar el editor en jefe Brian Brannon en bbrannon@computer.org. Carta del Editor Extendiendo nuestro campo de acción Diomidis Spinellis Las técnicas y procesos que los ingenieros software han perfeccionado para gestionar proyectos complejos, control de versiones y colaboraciones internacionales pueden ser beneficiosos para otras industrias. Acerca de la computación Yo, para variar, doy la bienvenida a los nuevos jefes supremos de la computación Grady Booch Muchos tienen miedo a la superinteligencia en IA. Este miedo no tiene fundamento y además induce a error. Percepciones El coche conectado en la nube Una plataforma para el prototipaje de servicios telemáticos Tobias Häberle, Lambros Charissis, Christoph Fehling, Jens Nahm, and Frank Leymann La plataforma de prototipaje para coches conectados proporciona una infraestructura común para las aplicaciones que quieran interactuar con coches conectados y al mismo tiempo una abstracción de esos mismos dispositivos para los desarrolladores. También proporciona servicios como gestión de identidades y almacenamiento de datos. Su objetivo principal es la experimentación, prototipaje, evaluación de ideas y la reducción del time-to-market para las aplicaciones exitosas. Artículo invitado Editor: Steve Counsell, Brunel University, Uxbridge, UK Perspectivas sobre la propiedad del código En el ensayo “Code Ownership—a Quality Issue,” Sigrid Eldh propone adaptar el concepto de la propiedad del código a diferentes situaciones, focalizándolo en la calidad y incluyendo también la propiedad del código de test. En su ensayo “Code Ownership—More Complex to Understand Than Research Implies,” Brendan Murphy propone un análisis más amplio y profundo de este concepto. Las voces de la Evidencia La brújula ágil: Una herramienta para identificar la madurez in equipos de desarrollo ágil. Rafaela Mantovani Fontana, Sheila Reinehr, and Andreia Malucelli Investigación acerca de cómo evolucionan los equipos de desarrollo ágil. Los investigadores analizaron la evolución de las prácticas en nueve equipos y concluyeron que el proceso evolución era idiosincrático. Cada equipo adopto y mejoro sus prácticas dependiendo de las circunstancias y las desafíos encontrados. En base a estos resultados, los investigadores proponen la Brújula Ágil, un cuestionario basado en un conjunto de guías para la mejora del desarrollo utilizando métodos ágiles acorde con experiencias reales. Código Fiable Fuera de límites Gerard J. Holzmann Escribir código fiable implica entender los límites. La cantidad de memoria disponible es limitada, sólo se dispone de un tiempo limitado y cada objeto que guardamos y modificamos tiene que ser finito. Los recursos también son limitados. Las pilas, las colas, el sistema de fichero y incluso los números están limitados. Esto hace que el mundo de la informática sea muy diferente al de las matemáticas pero muy poca gente lo tiene en cuenta al escribir código. Introducción por parte de los editores invitados Refactoring Emerson Murphy-Hill, North Carolina State University Don Roberts, University of Evansville Peter Sommerlad, Fachhochschule Ostschweiz / Hochschule für Technik Rapperswil Bill Opdyke, JPMorgan Chase El refactoring cambia el código fuente del programa sin cambiar su comportamiento externo con el objetivo de mejorar el diseño del software. Los artículos seleccionados para este número van desde artículos que proponen una visión histórica, explorando los orígenes del refactoring, a prácticos, recopilando las experiencias de desarrolladores con el refactoring o teóricos, con la exploración de nuevas técnicas de refactoring. Foco: Refactoring El nacimiento del Refactoring Una retrospectiva sobre la naturaleza de la investigación en ingeniería del software de alto impacto William G. Griswold, University of California, San Diego William F. Opdyke, JPMorgan Chase El artículo reflexiona acerca de como la idea de refactoring apareció en dos tesis doctorales. Este análisis proporciona algunas reflexiones útiles para investigadores y profesionales que quieran conseguir un alto impacto con su trabajo. Foco: Refactoring Mitos del Refactoring Munawar Hafiz and Jeffrey Overbey Auburn University Los mitos del Refactoring son percepciones erróneas pero muy populares acerca del tool-based refactoring— la intención de las herramientas, los principios que siguen, su fiabilidad y soporte. Feature: Refactoring Desafíos y soluciones para la adopción del Refactoring Una perspectiva ndustrial Tushar Sharma and Girish Suryanarayana, Siemens Technology and Services Private Limited Ganesh Samarthyam, independent consultant and corporate trainer Hay varios desafíos prácticos a superar si queremos facilitar la adopción industrial del refactoring. Los resultados de una encuesta en el Siemens Corporate Development Center India survey indican cuáles son estos desafíos. El centro está actualmente trabajando en la propuesta de maneras de superarlos. Foco: Refactoring Refactoring para la ejecución asíncrona en dispositivos móbiles Danny Dig, Oregon State University Refactoring que cambia un código síncrono por un asíncrono puede mejorar la respuesta de las aplicaciones móviles pero presenta sus propios obstáculos. Los investigadores han desarrollado recursos educacionales y herramientas para ayudar en esto. Refactoring Refactoring— un disparo en la oscuridad? Marko Leppänen, Tampere University of Technology Simo Mäkinen, University of Helsinki Samuel Lahtinen and Outi Sievi-Korte, Tampere University of Technology Antti-Pekka Tuovinen and Tomi Männistö, University of Helsinki Un grupo de arquitectos y desarrolladores de software entrevistados considera que el refactoring es útil pero encuentran dificultades explicándolo y justificándolo a sus clientes. En parte, por no usar métricas que permitan cuantificar esa necesidad. Refactoring de bases de datos Lecciones desde las trincheras Gregory Vial, HEC Montreal Una empresa de desarrollo refactorizó la base de datos para una aplicación de logística. El proyecto incluyó buenas prácticas para el desarrollo de bases de datos y añadió la documentación en la base de datos misma. Los autores comentan las lecciones aprendidas incluyendo el desarrollo de una herramienta para operaciones de refactoring comunes. Point/Counterpoint Las herramientas de refactoring son suficientemente fiables. John Brant Las herramientas de refactoring no tienen que demostrar su corrección para ser útiles. A veces las herramientas imperfectas pueden ser especialmente útiles. Point/Counterpoint La confianza hay que ganársela Friedrich Steimann Crear herramientas de refactoring sin bugs es un desafío. Los desarrolladores de estas herramientas tendrán que afrontarlo si quieren que sus herramientas sean aceptadas. Feature: Ingeniería de Requisitos Gestionando requisitos de calidad en la contractación de grandes proyectos Maya Daneva, University of Twente Andrea Herrmann, Herrmann & Ehrlich Luigi Buglione, Engineering Ingegneria Informatica Los contratos para desarrollar grandes proyectos software tienen que incluir aspectos como la calidad del sistema, el tiempo de desarrollo, el coste y acuerdos respecto a la calidad del servicio. Un estudio con 20 arquitectos software revela como ellos gestionaron los requisitos de calidad en este contexto. Tecnología del Software Mirando al futuro Christof Ebert Encuentas y entrevistas con líderes de la industria del software alrededor del mundo apuntan a factores de éxitos que harán avanzar esta industria en los próximos 30 años. Sigue abierta la cuestión acerca de si esto se hará via una evolución a una Humanity 2.0— o una sociedad posthumana. Informe para los profesionales Calidad de software, Energía y más Jeffrey Carver, Aiko Yamashita, Leandro Minku, Mayy Habayeb, and Sedef Akinli Kocak Este artículo discute seis trabajos presentados en eventos conectados con la 2015 International Conference on Software Engineering. Cubren factores organizacionales y de calidad, microclones, plataformas big data, commits con ahorro de energía, microclones, arquitecturas open source y ingeniería de requisitos. Ingeniería del Software Barry O’Reilly acerca de Lean Enterprises Johannes Thönes El anfitrión de la Software Engineering Radio, Johannes Thönes y Barry O’Reilly, coautor de "Lean Enterprise: How High Performance Organizations Innovate at Scale" discuten acerca de las lean enterprises. Una lean enterprise es una gran organización que consigue innovar mientras mantiene sus productos existentes en un mercado competitivo.