IEEE Software - Insights

Using Hypotheses to Manage Technical Uncertainty and Architecture Evolution in a Software Start-up, Kelson Silva, Jorge Melegati, Xiaofeng Wang, Mauricio Ferreira, Eduardo Guerra, June-July 2024

Continuous Integration and Delivery in Open Source Development and Pattern Publishing: Lessons Learned With Tool Setup and Pipeline Evolution, Olaf Zimmermann, Cesare Pautasso, Stefan Kapferer, Mirko Stocker, January-February 2024

Migrating the Communication Protocol of Client–Server Applications, Gabriel Darbord, Benoît Verhaeghe, Anne Etien, Nicolas Anquetil, Ana Shatnawi, Abderrahmane Seriai, and Mustapha Derras, July-August 2023

Creating a Low-Code Business Process Execution Platform With Python, BPMN, and DMN, Dan Funk, January-February 2023

Developing a Microservices Integration Layer for Next-Generation Rail Operations Centers, Andrei Furda, Lionel van den Berg, Graeme Reid, Giancarlo Camera, and Matteo Pinasco, September-October 2022

Medical Software Needs Calm Compliance, Tuomas Granlund, Vlad Stirbu, Tommi Mikkonen, January-February 2022

Automated Payment Terminal Testing: How to Achieve Continuous Integration for Systems That Are Almost Impossible to Virtualize, Martin Gloor, Matija Mazalin, and Adrian Zimmermann, November-December 2021

The Monolith Strikes Back: Why Istio Migrated From Microservices to a Monolithic Architecture, Nabor C. Mendonça, Craig Box, Costin Manolache, and Louis Ryan, September-October 2021

What is the future of modeling?, Antonio Bucchiarone, Federico Ciccozzi, Leen Lambers, Alfonso Pierantonio, Matthias Tichy, Massimo Tisi, Andreas Wortmann, Vadim Zaytsev, March-April 2021

Controlling the Controllers: What Software People Can Learn From Control Theory, Bran Selic, November-December 2020

Unchain or Block the Hype?, Cesare Pautasso, Olaf Zimmermann, Liming Zhu, Thomas Bocek, Xabier Larrucea, September-October 2020

Emerging Trends, Challenges, and Experiences in DevOps and Microservice APIs, Uwe Zdun, Erik Wittern, Philipp Leitner, January-February 2020

Dominating Software Systems: How to Overcome Online Information Asymmetry, Kjell J. Hole, July-August 2019

Software Reuse in the Era of Opportunistic Design, Tommi Mikkonen and Antero Taivalsaari, May-June 2019

Making Companies Nimble—From Software Agility to Business Agility: A Conversation With the Authors, Thomas Ronzon, John Buck, and Jutta Eckstein, January-February 2019

A Taxonomy of IoT Client Architectures, Antero Taivalsaari and Tommi Mikkonen, May-June 2018

Making Sense of Agile Methods, Bertrand Meyer, March-April 2018

The Web as a Software Connector: Integration Resting on Linked Resources, Cesare Pautasso, Olaf Zimmermann, January-February 2018

Adaptable Blockchain-Based Systems: A Case Study for Product Traceability, Qinghua Lu, Xiwei Xu, November-December 2017

Toward Evidence-Based Software Engineering: Lessons Learned in Healthcare Application Development, Artur Nowak, Holger J. Schünemann, September-October 2017

Insights from the Past: The IEEE Software History Experiment, Zeljko Obrenovic, July-August 2017

Breezing My Way as a Solution Architect: A Retrospective on Skill Development and Use, Raghuraman Krishnamurthy, May-June 2017

Microservices in Practice (Part 2): Service Integration and Sustainability, Cesare Pautasso, Olaf Zimmermann, Mike Amundsen, James Lewis, and Nicolai Josuttis, March-April 2017

Microservices in Practice (Part 1): Reality Check and Service Design, Cesare Pautasso, Olaf Zimmermann, Mike Amundsen, James Lewis, and Nicolai Josuttis, January-February 2017

Just Enough Anticipation: Architect Your Time Dimension, Eltjo Poort, November-December 2016

Modeling Test Cases in BPMN for Behavior-Driven Development, Daniel Lübke and Tammo van Lessen, September-October 2016

Piloting a Mobile-App Ecosystem for Smart Farming, Susanne Braun, Ralf Carbon, and Matthias Naab, July-August 2016

Why they just do not get it: Communicating about Architecture with Business Stakeholders, Jochem Schulenklopper and Eelco Rommes, May-June 2016

Software Retrofit in High-Availability Systems: When Uptime Matters, Thomas Ronzon, March-April 2016

A Decade of Enterprise Integration Patterns: A Conversation with the Authors, Olaf Zimmermann, Cesare Pautasso, Gregor Hohpe, Bobby Woolf, January-February 2016

The Connected Car in the Cloud: A Platform for Prototyping Telematics Services, Tobias Haberle, Lambros Charissis, Christoph Fehling, Jens Nahm, Frank Leymann, November-December 2015

Context Is King: What’s Your Software’s Operating Range?, Francisco Torres, Sept-October 2015

Software Process versus Design Quality: Tug of War?, Girish Suryanarayana, Tushar Sharma, and Ganesh Samarthyam, July-August 2015

Lightweight and Flexible: Emerging Trends in Software Architecture from the SATURN Conferences, Michael Keeling, May-June 2015

Call for Insights

IEEE Software prompts seasoned practitioners to share their knowledge, experience and stories

Do you have practical software engineering experience that is worth exchanging? Maybe you have blogged about it or presented it at a conference? And you would like to publish an article on it now? If so, you may want to consider a submission for the Insights department at IEEE Software.

Insights is a place to write up valuable knowledge nuggets. It gives a voice to busy software professionals so that their stories are heard. This department’s goal is to share and exchange real-world experience and take a snapshot of where practical software engineering has been, is now, and is heading towards.

The magazine offers:

  • Coaching and mentoring, e.g. about suited topics and article scoping
  • Informal reviews prior to submission
  • An official peer review
  • Professional editing support (when article has been accepted for publication)
  • Ultimately, an official publication that can be cited (referenced) and that is listed in digital libraries such as IEEE Xplore and DBLP.

You can submit short insight stories (2-3 pages) or full experience reports (up to 2800 words, figures/tables count for 250 words).

A submissions should answer a subset of the following questions (detailed authoring guidelines and a submission template are available upon request):

Scenario Viewpoint/Project Management

  1. What kind of project and system would you like to describe (e.g., fixed price/full scope contract work vs. self-funded development experiment; functional domain/industry sector, application genre, usage scenarios; green field vs. integration/extension vs. legacy system modernization)?
  2. Did you use any recognized or company-internal software engineering methodology to plan/execute the project and construct the system (e.g., during analysis and design)? If so, which one (and why)? If not, why not?
  3. Did the presented solution go live, and, if so, how many users and workload does it typically serve per day/week/month, during normal operations and during peaks?

Business Context/Project Inception

  1. Who were the most important stakeholders (or stakeholder roles) and their key concerns (e.g. personas with stories, feature wishlists, desired quality attributes)?
  2. If you had to describe the project vision and problem statement in one sentence, what would that sentence be?
  3. Which elements of technical (and organizational/commercial) risk were you confronted with (or did you take), and how did you manage and mitigate these risks?

Design/Elaboration

  1. Did you apply any recognized tactics and patterns from the literature and, if so, how? If not, did you come up with your own reproducible/reusable design elements?
  2. What were your three most relevant architectural decisions: a) how did you know what to decide, b) how did you find and evaluate design alternatives, c) how did you select from these? d) Are you still content with these decisions, are their justifications still valid?
  3. Would you like to share any thoughts on modelling and notation (e.g. usage of Architecture Description Languages (ADLs) and Domain-Specific Languages (DSLs) – for instance, why did you model which parts of the system, or why did you decide not to apply any modelling techniques, notations, and tools?

Implementation/Construction

  1. Would you consider the project to be an agile one? If so, which principles and practices did you apply and how were they received by the stakeholders?
  2. Which software engineering tools and/or middleware did you use, and how did these assets help achieving the project goals within budget (analysis, design, development, test, support, etc.)?
  3. How did you test that the functional and non-functional requirements were satisfied? Did you apply any additional validation (quality assurance, evaluation) activities (e.g. code reviews, test automation)?

Overall Retrospective

  1. What worked well and what did not work well? Are there any "mysteries" left (i.e., things we do not know yet, open research problems)? Which lesson(s) did you learn on this project (e.g. method or pattern use, technology adoption, collaboration with open source communities)? What will you do differently next time?
  2. How much and what kind of technical debt did you accumulate since the project start and how do you deal with it?
  3. Which concluding thoughts would you like to share?

Please contact Olaf Zimmermann or Cesare Pautasso to submit an Insights story or an experience report or if you have questions about this opportunity. We look forward to your submissions!