Is the government software-intensive?
Numerous studies describe software development in proprietary contexts. But how does development in the public sector compare? We run a census of Swedish government agencies to explore how software-intensive they are. It turns out that 40% develop software internally, most using modern practices – a clear indication of the ongoing digitalization of Sweden.
What started as a minor side business in 2017, turned out to require a lot of effort. But in the end, I believe this is the most important study I worked on that year. It all started around X-mas in 2016, in a pub with some friends including an archivist, where we discussed documents in the public sector and Sweden’s principle of public access to official documents – the very developed system in Sweden to promote transparency.
For a long time, I had been annoyed by the poor requirements specifications studied in software engineering research. From the perspective of traceability research, I even wrote a paper about it. In the pub, I decided to work with the archivist to write a formal request for software development documentation to all Swedish government agencies at 12 o’clock on Jan 1, 2017. I didn’t know then how much work this can of worms would lead to… But it was fun! I worked hard on sending reminders, explaining that the government agencies were obliged by law to respond, and answering requests for clarification over phone.
By coincidence, Swedsoft together with Statistics Sweden conducted a survey of software development in the Swedish private sector during the same time. We published our results almost at the same time and as the reports are complementary, we now have a good picture of just how important software is to Sweden! And from a software engineering perspective, our work stands out for at least two reasons: 1) it is not a personal opinion survey (which is very common), the respondents instead answer for the government agency and 2) since we ask everyone in the population, we actually conduct a census rather than a survey – there is no sampling.
How software-intensive are government agencies?
The number of government agencies in Sweden is not constant. Agencies come and go, and some were shut down also while we collected data for this study. Some agencies have thousands of employees, e.g., the National Tax Board, the Transport Agency, and the Armed Forces. On the other hand, some obscure agencies have hardly any at all like the Polar Research Secretariat and the Board of Supervision of Estate Agents. Moreover, all universities in Sweden are government agencies and several museums. All in all 240 agencies when we started the census.
The first and most important finding is that 39.2% of the government agencies in Sweden actively develop software to support the mission of the agency. If you consider that many agencies are very small, this is a high number – also, all large agencies develop software. Comparing to Swedsoft’s analogous study on the Swedish private sector, roughly 30% of the companies in Sweden develop software. This really is an indicator of the digitalization of society!
For the 93 agencies that reported that they develop software internally, we continued by asking more detailed questions through a questionnaire. The figure below shows how many software developers the agencies have. We show that many agencies have 5-19 developers, but some have as many as over 200. Definitely large development organizations! The figure also shows the fraction of external consultants among the developers, or rather, the employee to consultant ratio. No matter the size of the development organization, almost every second developer is a consultant.
How Agile are government agencies?
As we are software engineering researchers, one of our research objectives was to provide an assessment of how mature the development processes are in the public sector. Do they follow the state-of-practice approaches to development in the private sector? A large part of the questionnaire consisted of Likert items, see the figure below. We provided various statements about the development at the government agency, and the respondents provided their level of agreement. The top row below shows how we present the data. Black shows the fraction of respondents that completely agrees, and different shades of gray show agree, neither agree nor disagree, disagree, and completely agree. The bars are horizontally centered on “Neither”, thus right-leaning rows indicate that the agencies tend to agree.
The results show that government agencies work according to well-document processes. The processes are agile in nature, and projects typically have flexible deadlines (but there are of course some exceptions). We also asked about two development practices that are central in agile software development: continuous integration (CI) and test automation. One might wonder how you can apply CI without test automation, but it appears some agencies have some test process improvement work to do – more respondents agree to doing CI compared to test automation. There might be potential to direct some effort in the TESTOMAT project to the public sector.
Finally, the agencies agree that they develop software according to lean principles, i.e., they avoid spending effort on “waste”, to instead focus on activities that provide value. This should be good news to all tax payers, and perhaps contradictory to common beliefs about inefficient government agencies? Further research should explore this further. Furthermore, the agencies appear to be aware of more recent development trends, as most respondents report that they apply DevOps to connect development and operations. We conclude that development in the public sector to be mature, it doesn’t lag behind the private sector – confirming results from 2012 by Krogstie.
How do government agencies deal with sourcing?
Another perspective we wanted to explore in this study, related to the ORION project, was what strategies the government agencies have regarding sourcing. Do they mostly develop software solutions in-house or do they prefer to do public procurement? How widespread is open source? The figure below shows the corresponding answers and we notice that there are different strategies.
A majority of the government agrees or strongly agrees that they mainly develop their software solutions in-house. Whether the in-house development is mainly done by contractors is really different – at some agencies yes, at others no. Almost the same goes for the statement “the agency primarily focuses on requirements engineering followed by public procurement”, i.e., some agencies agree, and others disagree. All agencies claim that any outsourcing is predominantly conducted within Sweden… but note that these answers were provided just after the major outsourcing scandal in Sweden.
We see that most agencies prefer to purchase commercial-off-the-shelf (COTS) solutions if such are available. Using open source solutions is a strategic decision in some agencies, but in others not at all – the answers are really balanced across the entire spectrum. What is perhaps more surprising is that very few government agencies have any strategies to release solutions under open source licenses. Organizations such as Free Software Foundation Europe argue that software paid by tax payers should be available as open source. Sweden is evidently far from this at the moment. That said, we were surprised by the open source maturity at some government agencies, e.g., the Institute for Language and Folklore has its projects on GitHub and others were involved in organizing workshops on open source development in the public sector. Impressive!
What software qualities are given priority?
Our final perspective in this study relates to software qualities, as defined by ISO/IEC 25010. We explored this in two ways. First, we asked all government agencies to list the top three most important qualities during their software development. Second, we did a simple keyword profiling (word counting) of the requirements specifications that we obtained. Our goal was to check if the priorities provided in the questionnaire were reflected in the technical documents.
The figure below shows the results. Almost 75% list functional suitability, making it the most important quality. Other popular choices were security, usability, and reliability. On the other hand, maintainability, performance, compatibility, and portability are seldom selected. The keyword profiling supports that security and usability are important – they often appear in the documents – but also performance appears just as often. On the other hand, reliability and maintainability rarely occur in the specifications.
We also investigated how systematic the government agencies are when balancing contradicting software qualities. It turns out that few agencies are systematic in this important development challenge. This is not surprising, but there is potential to improve – quality requirements are important when developing software solutions.
Our Conclusion and recommendations
Societal digitalization is happening at a rapid pace in Sweden, as shown both by this report and Swedsoft’s counterpart. Digital solutions enable several benefits, but also introduce new risks – a solid understanding of both software and software engineering is important. Fortunately, the development at the Swedish government agencies appears mature and up-to-date. There is of course improvement potential, e.g., in relation to strategies for open source development and management of quality requirements. While most recommendations for private sector development are useful also in the public sector development, we should remember that the market-driven development context is different.
We are happy to see that there will be a new government agency in Sweden (September 1, 2018) with a responsibility for governmental digitalization. We used to have a minister with double duties – Housing and Digital Development. A double duty role indicated that the digitalization was previously not considered important enough. Denmark has an “Agency for Digitisation” since 2011, and a similar construct in Sweden is a welcome addition. We hope that the Swedish software engineering community will be able to contribute its expertise to support – and accelerate – the digitalization of Sweden.
Implications for Research
- Software development in the public sector is widespread, mature, and large-scale. It deserves more attention by the research community.
- Technical documents from software development in Sweden can be formally requested – use that to get access to high-quality specifications to evaluate research.
- Public sector development represents a context that could be discussed in relation to the proprietary development and open source development that currently dominates in papers.
- We present an example of a census (rather than a survey based on sampling) where responses are not personal opinions – instead they represent the organizations.
Implications for Practice and society
- Forty percent of the Swedish government agencies develop software. The corresponding number for the private sector is thirty percent – good to know!
- Cross-agency collaboration has potential to reduce development of commodity software – government agencies could also embrace open source development.
- Government agencies are advised to follow a more systematic approach to balancing quality requirements.
Markus Borg, Thomas Olsson, Ulrik Franke, and Saïd Assar. Digitalization of Swedish Government Agencies - A Perspective Through the Lens of a Software Development Census, In Proc. of the 40th International Conference on Software Engineering Companion, 2018. (link, preprint)
Software engineering is at the core of the digitalization of society. Ill-informed decisions can have major consequences, as made evident in the 2017 government crisis in Sweden, originating in a data breach caused by an outsourcing deal made by the Swedish Transport Agency. Many Government Agencies (GovAgs) in Sweden are rapidly undergoing a digital transition, thus it is important to overview how widespread, and mature, software development is in this part of the public sector. We present a software development census of Swedish GovAgs, complemented by document analysis and a survey. We show that 39.2% of the GovAgs develop software internally, some matching the number of developers in large companies. Our findings suggest that the development largely resembles private sector counterparts, and that established best practices are implemented. Still, we identify improvement potential in the areas of strategic sourcing, openness, collaboration across GovAgs, and quality requirements. The Swedish Government has announced the establishment of a new digitalization agency next year, and our hope is that the software engineering community will contribute its expertise with a clear voice.