NHS England’s Covid App — What has gone wrong and where has the money gone?

Michael Ceber
9 min readSep 14, 2020

--

The Republic of Ireland, Northern Ireland and Scotland as of writing this all have a contact tracing “covid app” using the latest Apple /Google exposure notification technology. So where is England’s? What has gone wrong? Where has the money gone?

Background

Back in around March & April governments began frantically working on developing a contact tracing app. Quite soon it became apparent that privacy was to be an issue, more specifically storing peoples locations on central servers would not go down nicely. Trying to solve this problem in conjunction with a functional contact tracing algorithm proved problematic. For example when attempting to scan other bluetooth devices would stop working if the user switched to any other application. This is a feature Apple and Google intentionally control. To get around this problem would required Apple and Google to develop a specialist feature which is exactly what they did.

By May Apple and Google announced that both would provide an “Exposure Notification” API which given government consent to specific developers would allow them to gain access and provide a fairly easy framework to implement a working contact tracing app.

At this point all developers ought to have stopped what they were working on and changed to using the new API. A no brainer really; the hard work has been done by Apple and Google. Any government body or development firm who continued on their current plan without such a pivot would be doomed to fail. This is where the decisions made by management of such a project really matters.

Better than just pivoting to new API, why should every state body whether written in house or contracted out all work in parallel on on effectively the same application? Surely even on top of Apple and Google API, the remaining 95% will also be common to every country?

Covid Green App

That’s exactly what the Linux Foundation Public Health (LFPH) had in mind and began working on their “Covid Green” app. Ths source code is available here and as of writing this is still actively being developed.

As time is of the essence what if you could have one code base for both Android and IOS? Well you can and so this was developed using React Native which allows you to write the vast majority of code once using Javascript or better Typescript and pop out two apps one on the iPhone and the other on the Android.

The little bit of uncommon code specific to Android and IOS is dealt with using a “Native Module”, i.e the core module used by the Covid Green app which interfaces to the Apple / Google exposure API.

With such a wonderful open source project going on lets say roughly 95% of the work is done, and anyone one with experience running software projects would always have pounding at the back of their minds “do not reinvent the wheel”. This is a mantra heard throughout the IT industry and there are good reasons for it. If you reinvent the wheel your project may takes years instead of months and you only end up solving problems already solved.

So what if a team were to use the “Covid Green” app as a starting point and simply fine tuned the remaining few percent, such as the look and feel or country specifics.

NearForm

This is exactly what the company NearForm did. And they don’t hide this at all. Their open source code is “forked” from the Linux Foundation and can be found on Github.

You can read more about their decisions and journey to this point here.

By having a generous head start, a concise plan for a deliverable product was made possible as they have outlined here.

So with most of the work done they were ready to deliver to the Republic of Ireland by adapting the code base to suit which is available to view here on GitHub.

The underlying native modules developed by the Linux foundation was also cloned and can also be found on the HSE Ireland repository.

To read more about their journey with Ireland see this link on development and this on the collaboration effort.

So with Ireland out the way it was very quick to adapt for Northern Ireland and as of a few days ago Scotland (Protect Scotland) which can be downloaded here.

So now we are getting to the crux of the article. How much did this cost Scotland?

Only around £300,000. Does this sound like a lot? Well for software it’s a bargain in comparison from what you will read about shortly, but a realistic amount given the efficiency of NearForm being a provider for multiple countries.

NHS England Money Waste

So NHS England, as of now still don’t have an app. Worse it is estimated they have spent (thrown in the bin), and wait for it by June almost £12 million pounds! We are not in September so this figure has undoubtedly gone up.

Let us have a look at where the money has gone, and no better place to look than the government contracts website. This is not everything but will give you an idea of the bulk of it (apologies for the long list)

#13.a. NHS Contact Tracing App — PMO and Project Mgmt Support from Accenture (2)£308,679.06 (2 June 2020–30 June 2020)

#13. NHS Contact Tracing App — PMO and Project Mgmt Support from Accenture (1) — £560,587.20 (14 April 2020–1 June 2020)

#18. NHS Contact Tracing App — Managed Cloud Service on the AWS platform — £816,000 (ANS Group Limited)

#17. NHS Contact Tracing App — Technical Policy Support from Mason Advisory Ltd — £266,400 (26 May 2020–17 August 2020)

#14. NHS Covid-19 App: Contact Tracing App — Managed Load Test contract EggPlant — £213,600 (16 May 2020–31 July 2020)

#1. NHSX — Proximity (Contact Tracing) App Development and Support contract with Go Pivotal (UK) Ltd — £500,243 (11 March 2020–30 June 2020)

#4. NHSX — Proximity (Contact Tracing) App: Mobile Delivery team contract with Zuhlke Engineering Ltd — £1,074,240 (23 March 2020–16 September 2020)

#2. NHSX — Proximity (Contact Tracing) App Development and Deployment, contract with Go Pivotal (UK) Ltd
Go Pivotal (UK) Limited
— £1,321,967 (23 March 2020–30 April 2020)

Cloud Services to Support the hosting of the Covid 19 Contact Tracing Application — £240,000 (1 April 2020–31 May 2020)

#14. NHS Covid-19 App: Contact Tracing App — Managed Load Test contract EggPlant — £213,600 (16 May 2020–31 July 2020)

PHE — ICT — Contact Tracing (Covid-19) — £313,262 (12 May 2020–30 July 2020)

IoW Pilot Survey NatCen Social Research — £235,000 (4 May 2020–30 June 2020)

#8. NHSX Covid-19 App: Mobile App Development and Support in Live phase, contract with Zuhlke Engineering Ltd£4,725,600 (£974,592 ?) (6 May 2020–10 November 2020)

#10. NHSX Covid-19 App: Security Testing contract with HeleCloud Ltd
HeleCloud
£162,768 (11 May 2020–3 July 2020)

This is outrageous and the worst bit is most contracts have skipped the normal tendering process most likely due to the ‘emergency’. On the surface it appears they have thought “throwing money” at the problem would bring about a solution.

This is where Software Engineering differs from established industries such as Civil Engineering. Adding more money and more “cooks” more often than not make the problem worse.

So who has made such poor decisions? Well lets go to the top of the list where we find a couple contracts for the “Project Manager”, who happens to be Accenture. Around £900,000 pounds has gone to just managing the project! Compare this again to Scotland who got a completed product for just £300,000 pounds.

So where was NHSX in this? Why could their in house technology team not have made similar outsourcing decisions as Ireland, Northern Ireland and Scotland.

According to this article “Accenture’s involvement in the contact-tracing project has caused unease inside NHSX”. I am curious as to exactly what is meant by this.

In England the government department for signing of such large contracts and managing NHS England is known as The Department of Health and Social Care and as such they tendered the contracts and awarded to the likes of Accenture. Anyone who has been following the last 20 years would know the NHS has wasted billions of pounds giving contracts to Accenture and in the process got many failed IT projects.

As of now, there could be new contracts being dished out for the England Covid App but they may not be showing on the government website — perhaps they will appear later?

Poor technological and managerial decisions by NHS England

So lets get back to technology. On the NHSX website we can see source code for the first failed app as well as the second app which is currently being promised:

First App (canned)

https://github.com/nhsx/COVID-19-app-iOS-BETA
https://github.com/nhsx/COVID-19-app-Android-BETA

Second App(current)

https://github.com/nhsx/covid-19-app-ios-ag-public
https://github.com/nhsx/covid-19-app-android-ag-public

One thing stands out straight away. They have completely separate source code for the Android and IOS app. This is because both apps have been written entirely in Native code, unlike NearForms solutions as discussed earlier used React Native. The latter straight off reduces development time by 50% and by using such javascript framework has many other aspects which reduce development time further.

The NHSX decision to write two entirely separate native applications given the urgency feels naive.

On the other hand one known drawback of using frameworks such as React Native it could be argued it's too difficult to access native functionality such as Bluetooth in specific or bespoke ways. However, this is generally not the case and most often solved by using “Native Modules” as discussed earlier, or to summarise the developer simply imports the native module into the common React Native project and when the application is built the corresponding native code is used depending on whether the build is for IOS or Android.

Summary of Failings

To summarise NHS England’s app was bound to be months behind all other solutions such as Scotland, Ireland and Northern Ireland for these reasons:

  1. Chose to write two separate native applications one for Android and one for iOS (and not just the first time round but also the current attempt).
  2. Not cutting losses soon enough. When it was apparent the centralised approach was not working, the moment Apple and Google announced their API a switch should have been made as appears to be the case with other developers. Why did they proceed even testing the first app on the Isle of Wight?
  3. Ignorantly thinking throwing money at a technological challenge should produce a result sooner. This is not a Civil Engineering project with hundreds of years of established practices. Many cooks more often than not can make software undeliverable. Why have so many successful startups arisen from 1–2 developers coding in their bath tubs?
  4. Failure to collaborate with other governments or groups working on the same problem. Again if everyone is doing the same thing let one open source project do that part and do it well leaving only the customisation needed for each specific application as appears to be what NearForm has done.
  5. Finally the most important aspect which covers all the failures above. Assignment of the Project Manager. Why was such a project handed to a massive consultancy such as Accenture with a terrible record on delivery for the NHS? This app was urgent and simply needed a small number of intelligent software engineers with management and red tape kept to a minimum. Had this been done I am confident that such a small team would have picked up on all the points above. Why would a small team of developers choose to write from scratch? They would quite quickly realise they can take 95% of the code from the open source project? On the other hand Accenture charge a fortune for their project management and often quote for larger teams of developers than is really required and is simply not the right option for an urgent believe it or not relatively “simple” application. Accenture have charged around £1 Million pounds for managing this project, so of course would match this by advising higher figures for the actual development. As can be seen by the contracts well into the millions of pounds awarded to Zuhlke Engineering and Pivotal.

What next? We are being told that NHS England will deliver the app on September the 24th. Perhaps it will be amazing and it will negate everything I have written above. However, if they fail to make this date, all existing contracts should be scrapped, the public should request the payments be returned for the failures and NHSX should take the Scottish, Ireland and Northern Ireland app and adapt to suit NHS England. Job Done!

--

--

Michael Ceber
Michael Ceber

Written by Michael Ceber

Fullstack .net, c#, typescript, react developer etc…

No responses yet