Discontinuity and Continuous X Within Software Development

Many – if not all – software organizations are currently faced with extraordinary circumstances and highly uncertain business conditions. Hardly any “business-as-usual” exists. Some of the discontinuities may even become “new normal”. In these discontinuous times, it is especially apt to consider, what continuous activities and capabilities relate to modern software creation and production.

Continuous delivery and continuous deployment (CD) are nowadays mainstream practices in modern software engineering. Such practices coupled with efficient infrastructures make it possible to develop and maintain software systems frequently based on the current feedback and usage conditions. Continuous integration (CI) supports that way of working.

Continuous experimentation facilitates software product creation by reducing uncertainties with systematic experiments (c.f., here). Consequently, the more uncertainties the software product is faced with, the more useful such experimental development approaches with continuous learning may be.

Advancing from and building on the aforementioned developmental capabilities continuous innovation integrates continuous learning, improvement and innovation. Continuity of the innovation activities and related business processes are especially important in volatile and fast-moving environments where stable states may not prevail for longer times and disruptions may blur and even reposition industry boundaries.

We have recently investigated continuous innovation in an industrial case study (see https://doi.org/10.1007/978-3-030-33742-1_13). ICT use may improve organization-wide ideation and the subsequent innovation process activities by making key information transparent and ubiquitously accessible for all stakeholders. That enables every employee to continuously engage and contribute to idea generation, development and validation. Ideally, the knowledge and creative potential of the entire organization is utilized at critical times.

 

IVVES project on the testing of machine learning systems starting

Last week Business Finland decided to fund our three-year IVVES project (Industrial-grade Verification and Validation of Evolving Systems) https://ivves.weebly.com/. We can now significantly extend our research efforts on testing, continuous development, and maintenance of machine learning systems together with our partners in Finland, The Netherlands, Sweden, and Canada. We are also planning to set up an interest group for Finnish companies interested in the project. The University of Helsinki’s work in the project is jointly headed by Prof Tommi Mikkonen and Prof. Jukka K. Nurminen.

Open Source Software Framework for Data Fault Injection to Test Machine Learning Systems

dpEmu is our Python library for emulating data problems in the use and training of machine learning systems. It provides tools for injecting errors into data, running machine learning models with different error parameters and visualizing the results.
Data-intensive systems are sensitive to the quality of data. Data often has problems due to faulty sensors or network problems, for instance. dpEmu framework can emulate faults in data and use it to study how machine learning (ML) systems work when the data has problems. The Python framework aims for flexibility: users can use predefined or their own dedicated fault models. Likewise, different kinds of data (e.g. text, time series, video) can be used and the system under test can vary from a single ML model to a complicated software system.
The software and a set of Jupyter notebooks illustrating different use cases are available at https://github.com/dpEmu/dpEmu
We just presented the work at ISSRE conference: Jukka K. Nurminen, Tuomas Halvari, Juha Harviainen, Juha Mylläri, Antti Röyskö, Juuso Silvennoinen, and Tommi Mikkonen. “Software Framework for Data Fault Injection to Test Machine Learning Systems”. 4th IEEE International Workshop on Reliability and Security Data Analysis (RSDA 2019) at 30th Annual IEEE International Symposium on Software Reliability Engineering (ISSRE 2019), Berlin, Germany, October 2019.

Doctoral defence on Continuous Experimentation in Software Engineering

Sezin Yaman from ESE research group will have a public examination of her Phd thesis titled: “Initiating the Transition towards Continuous Experimentation : Empirical Studies with Software Development Teams and Practitioners”. The opponent will be Professor Brian Fitzgerald, University of Limerick. The public event will take place in Room 302, Athena Building, University of Helsinki, on the 25th of October, 2019 at 12 o’clock noon.

See:
https://hy.etapahtuma.fi/flamma-2019/fi?id=56765#.XadD_sRS9hE

https://helda.helsinki.fi/handle/10138/305855

Agile Now in Finland

Agile software development is nowadays perceived to be mainstream practice in industrial companies and software development organizations. However, since the publication of the Agile Manifesto in 2001 a lot of progressive evolution and developments have taken place both in industrial practice and academic agile research. One of the significant current drivers is the ongoing digitalization which has affected most industry sectors even radically.

Therefore, we have been interested in investigating the actual current state of agile software development in industrial organizations. Moreover, we want to understand Agile in practice more broadly and deeply considering even enterprise-level agility. We are interested in different industrial sectors beyond ICT since agile methods are possibly increasingly applied also in non-ICT companies when they become more software-intensive.

For those research interests we have been collaborating with Nitor (see here) in conducting an industrial survey in Finland in late 2018. The first results have just been presented at XP 2019 7th International Workshop on Large-Scale Agile Development (LargeScaleAgile).

 

Software Futures in Future Energy Systems

Energy systems are in global transition. They are becoming “smarter” by incorporating more and more software and digital data. This is in particular the case with electricity power systems which are currently developed to so-called Smart Grids. In essence they are power systems coupled with ICT systems.

The nature of the future electricity Smart Grid system is fundamentally different from the traditional power systems. Traditional bulk power generation is shifting towards distributed energy resources (e.g., wind turbines). Furthermore, the power flows can now be two-way so that even individual citizens can produce and sell electricity based on for example their private solar panels. In Finland, households are now equipped with smart metering devices making it possible to manage such power flows with information flows.

Such developments bring up many new needs of software systems engineering for current and future energy system houses to be able to design, build and operate the increasingly complex systems-of-systems comprising hardware, software and human elements (cyber-physical systems, CPS). Moreover, the systems must run 24/7/365 being parts of critical national infrastructure under regulations.

We have recently addressed this empirical software research field in a presentation in the Futures Conference 2018: ENERGIZING FUTURES – Sustainable Development and Energy in Transition with the title

Future smart energy software houses

 

For further information, see:

https://futuresconference2018.wordpress.com/
https://futuresconference2018.files.wordpress.com/2018/06/energizing-boa-web.pdf