When Software Saves Lives

Developers as First Responders

Dervis Mansuroglu

Norwegian Labour and Welfare Directorate

JFokus 2022

Principal Officer & Developer

Norwegian JUG javaBin, Oslo Organizer

Who am I and why listen to me?

Oslo Software Architecture, Co-Organizer

Java Champion

Abstract

Imagine when more than half a million citizens are suddenly ordered home. Imagine then when close to four hundred thousand of them are temporarily laid off. Imagine then when many of them lose all their income and their businesses, while unable to do any other job. This is the story about how developers from the Norwegian Labour and Welfare Administration became the first responders over night as the country were closing down. The talk will share with you how it was possible to save thousands of lives through software written in Java, Kotlin and React. The talk will discuss key technologies allowing rapid product delivery, cross-functional product teams, servant leadership, communities of practice, building skills and sharing knowledge.

Motivation

I would like to share how we (Norwegian Labour and Welfare Administration, aka NAV) managed to get through one of the worst pandemics in history. Early March 2020, entire Oslo was ordered home and in the following weeks several hundreds of thousands of citizens were laid off their work. In just a few weeks developers from NAV rapidly delivered software that paid out billions of Norwegian kroners to support Norwegian citizens. My talk is ment to share inspiration and belief that developers can save lives, but also to touch into how large organisations has to change in order to actually allow this to happen.

What I'll talk about:

  • NAV - a short historic overview
  • The digital transformation
  • Rapid software delivery
  • The pandemic hits
  • Product development
  • Servant leadership
  • What we learned and the future

First responders

When it matters most.

Image credit:
https://time.com/3710336/denmark-muhammad-cartoons-attack/

Image credit:
https://www.voanews.com/a/several-injured-in-paris-bakery-explosion-/4740026.html

Image credit:
https://www.economist.com/europe/2018/03/08/why-are-young-men-in-sweden-shooting-each-other

Image credit:
https://www.nytimes.com/2020/04/04/nyregion/coronavirus-hospital-brooklyn.html

Image credit: Barentswatch

Image credit:
https://unsplash.com/photos/KgLtFCgfC28

The pandemic

Year 2020

Why was it urgent?

  • Determining the monetary support for a laid off citizen requires manual case processing in legacy systems

  • Employers had to send NAV printed layoff notices that had to be scanned and processed by hand

  • With no longer the ability to do business, many employers had no possibility to pay out salaries

Why was it urgent?

  • With nearly 300k people applying for unemployment support, no one would be paid salary until the summer
     
  • Not getting support after the first 20 days, ment no one would be able to pay their bills or support their families.

How was it possible?

  • Cross functional team of people talking og sitting around the same table.
  • Cooperation with representatives from the government.
  • Cooperation with other government agencies
  • An organisation built around product development and rapid software delivery trough our own PaaS
  • Open Source software and technologies
  • Sense of ownership of the business and high motivation to help the business experts in the public offices

We are one.

We stand together.

History

The largest public sector agency

National Insurance Administration, 1894

National Labour Agency, 1897

Municipal Social Welfare Services, 1845

National Insurance Administration, 1894

National Labour Agency, 1897

Municipal Social Welfare Services, 1845

Norwegian Labour and Welfare Administration, 2006

National Insurance Administration, 1894

National Labour Agency, 1897

Municipal Social Welfare Services, 1845

Norwegian Labour and Welfare Administration, 2006 - 2015

- Managing 1/3 of the national budget. About 500 billion NOK.

- 22000 employees.14000 in the governmental administration and 5000 in the municipalities.

- Providing welfare services to 2.8 million people.

- More than 60 different schemes and benefits.

- Processing 3 to 4 million cases and decisions pr. year.

National Insurance Administration, 1894

National Labour Agency, 1897

Municipal Social Welfare Services, 1845

Norwegian Labour and Welfare Administration, 2016 - to date

- More than 350 developers, designers, data engineers.

- More than 140 teams, in which 75 is cross functional teams organised in product areas.

- Almost 1400 public repos shared on GitHub.

- 820 employees in the IT directorate.

Infotrygd, 1976-78

National Insurance Administration, Cobol, IBM Mainframe

Arena, 90's - 2000

National Labour Agency, Oracle Forms

750 000 income reports to the government.

13 paper towers as tall as the famous Monolith

Software Delivery

In the days of SOA

SOA & ESB

Extremely expensive servers, error-prone middleware and difficult to change without destabilising consumers.

Why did it go wrong?

An organisation that had to learn how to work together.

Lack of ownership & ability to adapt to a fast moving world.

An organisation where IT was merely a "resource"

An organisation that tried to figure out *everything* without having delivered a single line of code

2016

Digital Transformation

Reinventing NAV

Big programs to finance,

big projects that solve

big problems that result in

big systems.

Accelerate proves that DevOps works.

Team Topologies tells how to organise our business and teams for fast flow.

Inspired tells how to organise teams into high performing product teams.

Empowered tells how to create better environments where people trives.

Reinventing Organisations tells the history and future of organisations.

Collaborative Tools

Direct & real-time

Diverse tech stack

Modern tools, higher productivity

Mobility Platform

Communication
DevOps

Open Source Code

Cloud Native

Data Platform

Vision & Roadmap

Knowledge sharing

Rapid Software Delivery

Enable fast flow

What we need

  • Fast, safe and automated software delivery tool chain
  • Unified application development
  • Decoupled architecture and socio-technical systems thinking
  • Team topologies - enabling teams and platform teams
  • High collaboration, ie. pair and mob programming
  • Clear direction - small continuous, incremental commits and deploys (adjusting the direction as you go)
  • Alignment and empowerment

The NAIS platform

Reduce the number of choices and considerations developers need to make.

 

...we leverage open source projects best suited to our needs and provide them with usable abstractions, sane defaults and the required security hardening. (Ref: nais.io)

You Built It, You Run It

Ownership: End-to-end without handovers or obstacles.

Autonomy: Self-service tools without external dependencies.

https://data.nav.no/datapakke/e1556a04a484bbe06dda2f6b874f3dc1

NAV has gone from deploying a few times a week, to hundreds of times each day

design.nav.no

github.com/navikt/nav-frontend-moduler

Fast flow the wrong direction

Going too fast is wrong.

 

Going too fast in the wrong direction is worse.

  • Technical metrics
  • Business metrics
  • Loggers
  • Monitoring
  • Statistics
  • Behavioral analytics
  • Engagement tracking

Fast flow the right direction

Test and try out new features confidently. Gradual rollouts allow you to mitigate risks by enabling new features to 1% of users and then expanding.

Go beyond surface-level data like page views and clicks to analyse detailed behaviours, user attributes, channels and more.

Product Teams

Having a 'product' mindset

Users

Product

Organisation

Data

Product

Technology

Organisation

Culture

Ability to Change

Over time, not on time

Socio-technical ambitions

2019: "Optimise for adaptable solutions"

2021: "Ability to change over time"

Ability to change is not only about the solution's ability to change, but also about the organisation that develops the solutions and the ability to change in the overall system.

- Jonas Slørdahl Skjærpe, CTO, NAV IT

Henrik Kniberg / Spotify — Aligned Autonomy

Culture

Understand needs, challenge existing mindsets 

Culture

Communication & psychological safety

Modelling organisational culture

Servant Leadership

How to treat people

What do you think is the biggest source of innovation and why?

Is it diversity, technical skill, humanity, employee equity, something else?

Satya Nadella

Empathy. To me, what I have sort of come to realize, what is the most innate in all of us is that ability to be able to put ourselves in other people’s shoes and see the world the way they see it. That’s empathy.

Building trust in an empathic way. How?

Mantra

Your life is not your office, calendar or time sheet.

Mantra

Family and friends are everything!

Mantra

Whenever you feel down, take a day off. It's ok.

Mantra

Whenever you need support, don't worry, I got your back.

Mantra

You say you made a mistake. I say you made a discovery.

Mantra

Only you know you.

Believe in your potensial.

Mantra

How can I make your day and your experience better?

(servant leadership)

Wrap up

Some key takeaways

Key takeaways

  • Initial transformation of the organisation was critical
     
  • Vision and roadmap – critical to unite everyone
     
  • Trust, diversity and inclusion are everything
     
  • Autonomous inter-disciplinary teams
     
  • Possibilities and challenges of digital collaborative tools

Key takeaways

  • We are still learning how to make the organisation better suited for product development mindset.
     

  • Covid helped us uncover pains, weaknesses and deficiencies.
     

  • We need to recreate culture around social arenas, breaks and gatherings.

Recommended talks

Rafael Winterhalter - tomorrow, at 9am, C1

Experiences from large project maintenance at the Norwegian tax authority

 

Trond Hjorteland - tomorrow 11:10am, A2

Good Fences Make Good Neighbours

@dervismn

dervis.no

linkedin.com/in/dervism/

Thanks for listening!