From “Agile” to Agility

In 2001, the Manifesto for Agile Software Development framed a set of value statements and associated principles for “better ways of developing software”. The preambles were lightweight software development and iterative project management methods coupled with emerged trends in manufacturing industries (especially car manufacturing) for agile and lean production systems. The focus of the Manifesto was on software teams and emphasizing people factors.

Since then, “Agile” (noun, typically written with a capital A) has become to mean a wide range of concepts in software development processes and software organization contexts. In fact, the label “agile” is nowadays attached to most every area of software engineering and its management (e.g., agile project management, agile requirements engineering, etc). Moreover, the initial team-level focus has been scaled up to larger organizations (multiple teams) and also beyond software functions in company enterprise contexts. Some “agile” is nowadays prevalent in software-intensive companies and organizations, often even without saying so explicitly.

Interestingly enough, there is a more general concept of agility especially in business and management disciplines. While there is no one unified definition, it generally refers to the ability of the organization to sense and react appropriately and quickly enough to changes in its environment. Moreover, there are more focused sub-concepts of agility including business agility, organizational agility, operational agility and strategic agility. Overall, there is enterprise agility.

Following the above line of discourse, it is justifiable to make and discuss such questions as follows:

  • Is the company as agile as it should be?
  • Should the company become more agile?
  • How much agility does the company need in its (future) business environments?
  • What is the current level and degree of agility of the organization?
  • Is the software team agile enough?
  • How do agile software development methods and practices affect software company agility?

Strikingly, for some those kinds of questions may appear confusing and even misleading. However, it depends fundamentally on how one defines and conceives the terms “agile” and “agility” in the context.

While agile software development has been practiced for more than twenty years now and it has become mostly typical ways of working in software organizations—even to the extent that the term “agile” is not mentioned explicitly—currently there are pressing needs for most companies in different industries and business to be even radically agile. That stems from such fundamental changes in business environments as digital transformations, AI technology advancements, and sustainability (green) transitions. It follows that, in addition to the above-mentioned ones, there are new needs to make and discuss such questions as follows:

  • Does hybrid work make companies (more/less) agile?
  • How could AI improve software development agility?
  • Are agile software organizations sustainable?

It follows that basic agile software development (software agility) may not be enough to succeed at the company/enterprise level. For contemporary software engineering research, this means that the research problems and questions of agile software engineering should evolve accordingly following the evolution of the business and technological changes and advances.

Agile software engineering has been researched actively for more than two decades now since the publication of the Manifesto. Notwithstanding, astute research continues to discern and even charter what agility is principally and what it could—and perhaps even should—be in the current and future technological environments and software-intensive organizations.

Digitalization, Data, Artificial Intelligence, 6G, Smart Energy Systems, Circular Economy—Needs for More Software!

Interestingly, all the themes and areas listed in the title are currently under intensive development and advancement. While the terms are not exactly defined and may involve different things in different organizational and business contexts, they entail in general such topics and issues as the following:

  • Digitalization means incorporating digital elements (e.g., new information systems) for example to automate work processes.
  • Data is increasingly collected, processed, stored, and shared in digital systems (e.g., IoT).
  • Artificial intelligence technology systems (e.g., machine learning) are based on digital data.
  • 6G telecommunications systems incorporate complex control and signal processing functionalities.
  • Smart energy systems build on advanced automation and control systems (see for instance here).
  • Circular economy organizations and services rely more and more on digital systems (e.g., platforms).

Strikingly, all the above incorporate and rely more and more on software technology—even as a key enabling technology (KET) without directly stating so. Someone or something must develop and maintain all that software. Consequently, even many traditional, non-ICT companies and organizations (e.g., financial sector) need more software and related technological competences and capabilities. That entails not just software development but also the expertise to apply software technological solutions for instance in various business process areas and organizational functions. Overall, there is a global lack of such software-related resources, and that may even limit the growth of many companies—perhaps even more so in the future, given that the amount and sophistication of needed software development seems to be continuously increasing.

For the software research, the above brings many intriguing and significant drivers and targets, such as:

  • Increasing the overall productivity of software development
  • Continuously maintaining (and enhancing) existing and growing, connected software systems—including “legacy” systems, possibly with old-fashioned architectural dependencies and outdated technological elements
  • Recognizing and discerning opportunities and needs for software-based solutions and systems in new product/service and business areas

Some of those may include significant new and open software development and technological research questions while some may be more about applying currently existing research knowledge and results. It is imperative to realize that to advance effective and meaningful software engineering research.

Trustworthy Machine Learning Systems Afternoon, 26 April, 2023, 13-16:00, at Think Corner in Helsinki

Together with our partners, we are arranging Trustworthy Machine Learning Systems Afternoon, 26 April, 2023, 13-16:00, at Think Corner in Helsinki (with zoom for remote access).
The event is based on the results of our European and domestic research projects IVVES (https://ivves.eu/), IML4E (https://iml4e.org/), AIGA (https://ai-governance.eu/) and AHMED (https://www.regops.fi/).

More details and registration: https://fcai.fi/calendar/2023/4/26/trustworthy-machine-learning-systems

Publication in ICSA conference

We presented last week a paper about the industrial experience of micro frontends at the international conference on software architecture (ICSA). The conference is one of the most high-quality conferences in software engineering and rated as Jufo2 in the Finnish ranking system, i.e., the highest level for conferences.

See the linkedin post (Finnish) and the research portal for the paper and presentation.

 

 

 

 

 

 

New demo video: Model card validation

We recently published a new demo video demonstrating the key features of the model card validation action developed at the University of Helsinki.

The ultimate goal is to ensure that every model promoted from the experimentation phase to production is accompanied by an up-to-date model card. This tool helps by adding an automated testing step (the validation action) to an MLOps pipeline, where the existence, structural integrity, and syntactical validity of the model card are confirmed.

Key features demonstrated:

  • Validation of the model card
  • Creating custom rules
  • Creating custom functions for the rules
  • Using the MLflow integration

Source code: https://github.com/CompliancePal/mode…

More information on usage: https://modelcards.compliancepal.eu/

HIIT Quantum Software Day in Helsinki on 3.2.2023

We are arranging the 1st HIIT Quantum Software Day in Helsinki on 3.2.2023 to get together people interested in quantum software, algorithms, and applications. The program is aimed to cover both basics from a CS perspective, examples of ongoing research, and discussion/networking of future opportunities.
Further information and registration here: https://www.hiit.fi/event/hiit-quantum-software-day/
We would appreciate it if you forwarded this message to other interested persons in your neighborhoods and networks.

Agility—Yes, But What Agility?

Over the past few years, software companies and software-intensive product development organizations have experienced turbulent changes in their business and operating environments. Furthermore, such current courses as large-scale digital transformations, data/AI technology developments and green transitions are likely to call for strong and sustainable capabilities for even enterprise-level agility.

In the annual (since 2018) Nordic Agile Survey industry-academia collaborative research, we have been investigating the current nature of agility in industry. The survey is again open for responding. What agility means and entails for Your company/organization nowadays—and in the future? Think about that, and reply to the survey here!