News for hackers. Stuff that matters.
Re:NHS.UK frontend by tomelders on Thursday December 20, 2018 @05:16PM (#18729671)
This project has obviously been carefully planned out, well defined ahead of time, and overseen with a militant eye for detail and style. That has lead to a neat, tidy, and immediately accessible code base that delivers what look like rock solid UI components.

Compare and contrast that to every private sector project I've worked on (for global household names none the less) and this sort of thoughtfulness and consideration simply is not compatible with the business objectives, and as such is the first thing to get the chop, leading to code bases that grow increasingly incoherent over time and deliver flakey solutions at best.

The next time anyone tries to sell me on the notion that the public sector can't do anything as well as the private sector, this is what I'll point them to. They wont understand what they're looking at of course, but that won't make them any less wrong.

Re:NHS.UK frontend by jdietrich on Thursday December 20, 2018 @08:03PM (#18730682)
The remarkable success of British public sector IT largely stems from the disastrous failure of the NHS National Programme for IT. We spent £10bn on a hugely ambitious project and ended up with nothing to show for it. This disaster was the worst of many expensive failures in public sector tech procurement.

Eventually, it became apparent to even the most out-of-touch politicians and civil servants that the weird nerds talking about "agile" and "lean" might have a point. The Government Digital Service proved that a small team could get huge results by using the right methodologies; we haven't looked back since.

https://www.theguardian.com/society/2013/sep/18/nhs-records-...

https://en.wikipedia.org/wiki/Government_Digital_Service

Re:NHS.UK frontend by Spearchucker on Friday December 21, 2018 @01:55AM (#18731848)
And even GDS isn't getting it right. Some mind-blowing examples of that are the Government Gateway replacement, Office of the Public Guardian, Border Force and Home Office...

GDS does really good work. Not denying that, and it's awesome to see that in the public sector. However when your only(!) tool is a web app, every project starts looking like a thumb.

It should also be noted that others like the MoD have had even bigger successes than GDS, that simply cannot be publicised.

Even the NHS Digital Service is struggling with spend. The still-born Type 1 Diabetes project from a year or so ago a is prime example of writing off months of work without a word.

Re:NHS.UK frontend by djaychela on Friday December 21, 2018 @02:02AM (#18731870)
>And even GDS isn't getting it right. Some mind-blowing examples of that are the Government Gateway replacement, Office of the Public Guardian, Border Force and Home Office...

Yeah - I used money claim online this year to take a non paying client to court. It was a really nasty experience - the login is needlessly complex and had I not made manual notes I wouldn't have been able to log back in. Awful.

Re:NHS.UK frontend by spacescape on Friday December 21, 2018 @05:20AM (#18732464)
Re:NHS.UK frontend by rorygibson on Friday December 21, 2018 @09:00AM (#18733305)
The old one is, iirc, a clone of the PCOL (Possession Claims Online) system - another MoJ project centred around small claims.

PCOL dates from 2006 (I should know, I helped work on it, mostly performance testing using CompuWare to locate & iron out horrible Hibernate-on-Oracle issues...)

All of this was delivered by EDS, completely pre-dates the GDS stuff and shouldn't be considered anything to do with it. :)

Re:NHS.UK frontend by djaychela on Friday December 21, 2018 @03:28PM (#18736330)
It was the old one. Awful!
Re:NHS.UK frontend by DanBC on Friday December 21, 2018 @04:29AM (#18732270)
I think MoJ is not using GDS because they want independence from government.
Re:NHS.UK frontend by kennydude on Friday December 21, 2018 @07:00AM (#18732826)
> Government Gateway replacement

Both Government Gateway and GOV.UK Verify aren't great. Verify seems be slightly better, if you can pick a decent verification company.

Re:NHS.UK frontend by Spearchucker on Saturday December 29, 2018 @03:24AM (#18782628)
Apologies for the late reply - with Xmas and so on I've only just seen this. That said,

I suspect you're familiar with neither the scope nor scenarios and clients that Government Gateway services. Verify only does SAML. No ADFS/WS-* (so no support for the NHS, for example), no Chip & PIN (both Identify and Respond, on Java and .NET silicon -- this is important because provisioning), and assorted side-scenarios required by the security cluster.

The idea of a verification company is laughable. Forgive me. Digital identity systems must be designed so the disclosure of identifying information is limited to parties having a necessary and justifiable place in a given identity relationship (see law 3 of the laws of identity, https://www.identityblog.com/stories/2005/05/13/TheLawsOfIde...).

What justifiable role does a bank or credit agency play when I require meds for an STD? Amongst some very, very personal and private transactions some of us make? A credit agency's purpose is to provide a credit rating, and not to verify identity.

Also note that many banks and credit verification agencies GDS proposes are HQ'd outside the EU, which makes Verify impossible to use by many organisations in the UK - and can therefore never replace the Government Gateway.

Verify's technical shortcomings can be built out and addresed. The use of commercial, unjustifiable verification companies with poor security records to boot (Experian, HSBC, and so on) cannot. This is Verify's single biggest failing.

Re:NHS.UK frontend by zeristor on Friday December 21, 2018 @04:43AM (#18732323)
Although estimates have ranged up to £20 billion:

https://en.wikipedia.org/wiki/NHS_Connecting_for_Health#Crit...

Re:NHS.UK frontend by afarrell on Thursday December 20, 2018 @06:55PM (#18730341)
I think you’re right to say that this is an existance proof of good public sector work.

But you have to then ask for the specifics of how this project came about. You have to dive into how the Government Digital Service build a culture which could not just develop this product but could spread to other organizations.

Re:NHS.UK frontend by baddox on Thursday December 20, 2018 @05:49PM (#18729930)
Not to downplay the quality of this work, but being able to extensively plan and specify requirements ahead of time is a luxury that a lot of engineering teams at private companies would love to have.
Re:NHS.UK frontend by jarvuschris on Thursday December 20, 2018 @06:42PM (#18730274)
Having done a lot of work in both spaces, trust me -- there's nothing luxury about getting this work done in the public space.

Also, extensively planning and specifying requirements ahead of time is exactly the opposite of how you pull off delivering well-designed public UX like this.

In the public space you inherently never have a single person who can call all the shots, because organizationally you're accountable to all of the public. Orgs have to be set up to carry on operations resiliently outside having a controlled lineage of management. How you do things is far more directly and heavily influenced by legislation, and that landscape is constantly shifting over the course of your project.

BY FAR the private sector is where engineers can enjoy far more luxury.

Re:NHS.UK frontend by kochthesecond on Friday December 21, 2018 @04:50AM (#18732355)
I second this sentiment. I would like to add that in public sector, deadlines are absolute. That new law? It will be effective from January 1st. So you have a deadline. Now the law is not in effect yet on _any_ of your dependency systems until the deadline so testing is a nightmare. And if you make a mistake, someone might not get their benefits or miss their parole. And the public will be furious.

In private sector I have met a lot more understanding with regards to managing risk in a smart and scalable way.

Re:NHS.UK frontend by lghh on Thursday December 20, 2018 @06:02PM (#18730033)
Yes, they would love to have the luxury. I doubt the parent comment is saying that engineering teams would not want to be able to produce something like that, but rather given the confines of the lust for ever increasing profit, they can't.
Re:NHS.UK frontend by baddox on Thursday December 20, 2018 @06:32PM (#18730217)
“Lust for ever increasing profit” is one way to put it. You could also say that private companies have requirements that are constantly moving as the market changes and must be discovered and adapted, rather than legal requirements that are roughly static and well-specified.
Re:NHS.UK frontend by iosonofuturista on Thursday December 20, 2018 @07:28PM (#18730524)
I would _love_ to know where are those public sector projects where the requirements are “roughly static and well-specified”.
Re:NHS.UK frontend by user5994461 on Thursday December 20, 2018 @08:00PM (#18730670)
How about every single one of them?

They gotta fill a request for proposal in order to outsource a project, then there can be multiple rounds of back and forth to review and revise proposals. That includes quite a few documents, covering requirements among many other things.

Re:NHS.UK frontend by EliRivers on Friday December 21, 2018 @11:47AM (#18734517)
Yet doing it lowers costs, improves quality and reduces development time. It's not so much a luxury as an investment; an investment that, true enough, a lot of engineering teams can't afford - they need to churn out something awful right NOW because the investment wasn't made when it should have been.

It is astounding how high the quality of software can be, if what the software is meant to do is known before it's written.

Re:NHS.UK frontend by Aeolun on Thursday December 20, 2018 @10:14PM (#18731186)
It would be utterly useless too, since the requirements would change a day after you start building.
Re:NHS.UK frontend by stedaniels on Thursday December 20, 2018 @11:04PM (#18731343)
You seem to be under the impression that the NHS requirements remained static?
Re:NHS.UK frontend by Aeolun on Saturday December 22, 2018 @08:34PM (#18743789)
Not at all, I’m just saying that speccing out a whole system before you start building is a great way to waste a lot of time.
Re:NHS.UK frontend by jaabe on Friday December 21, 2018 @08:04AM (#18733044)
I work in the Danish public sector and we’re miles ahead on some areas. Our authentication and user-role setup, around a national SAML token and context handler, which functions with ADFS seamlessly is one example. It works, we integrate with it and it makes security plug and play.

Except very few companies in the private sector knows what ADFS or even token based authentication is. So we have to sell them schooling in how to build what is essentially basic user authentication.

The internal services we get to build are also miles ahead of anything you’ll see in the Danish private sector. Probably because we can move a lot faster because we don’t expect our customers to pay for our updates. Our goal is to provide efficient, secure and stable software at the lowest price, and if that means we move things to the cloud, then that’s what we’ll do as soon as possible.

That’s the positive side. The negative side is the big failures, and we certainly have those. Mostly on a national basis, but that doesn’t make the seriousness of them any less severe.

Re:NHS.UK frontend by ToFab123 on Thursday December 20, 2018 @11:01PM (#18731334)
A big reason for this is include that public IT projects tends to have more relaxed deadlines than private sector projects. Private sector projects are often managed by people who has chainsaws fitted to their elbows and that has zero tolerance for delays. There is a degree of flexibility in public IT projects that I rarely come across on private projects.

On the other hands, I have seen more huge project failures on the public sector jobs than on private sector projects. Those elbow chainsaw people often catch fundamental flaws earlier than their public sector counterparts.

Given the choice I would pick to work on public sector projects than private sector simply because the much lower stress level and that you have more time to produce quality;Like the NHS guys has been able to on this project.

Disclosure: I have spent the last 18 years working as systems architect / technical leads on countless large government and private sector projects (web/intranet)

Re:NHS.UK frontend by arctangent on Thursday December 20, 2018 @11:31PM (#18731424)
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who are building this frontend library.

I largely agree with what you have written above, however things work very differently now in NHS Digital.

Every piece of work we embark upon is based on strict requirements from a commissioning body (typically NHS England or Public Health England) and is managed tightly according to budget and demonstrated realised benefits.

We have a highly capable layer of delivery managers who help translate and interpret these "business goals" into things which our agile teams of developers can work towards.

It's not perfect, but we're improving all the time. If we fail then the money taps get turned off quickly, and we move onto something else.

Re:NHS.UK frontend by ng12 on Thursday December 20, 2018 @06:14PM (#18730112)
Not to be curmudgeonly but this is exactly what I would expect from public sector.

- Odd technology choices. It took me a long time to figure out what .njk files were.

- Misapplication of popular technologies. They're using webpack for... something? But most of the actual bundling is done by hand with gulp, and a lot of the JavaScript is operating in the global scope.

- Overselling. It's just a bunch of scss with some mostly-HTML components.

Re:NHS.UK frontend by bendmorris on Thursday December 20, 2018 @06:26PM (#18730187)
>It took me a long time to figure out what .njk files were.

Nunjucks is a very popular JS templating language (more or less a straight port of the even more popular jinja2) - it's not an odd choice at all.

https://github.com/mozilla/nunjucks

Re:NHS.UK frontend by tomelders on Thursday December 20, 2018 @07:44PM (#18730601)
This entire thing will compile down to regular HTML/CSS. This is about as future proof as you can get.
Re:NHS.UK frontend by chickenfries on Thursday December 20, 2018 @07:17PM (#18730465)
Would this be more impressive to you if it were React or Angular? Your users don’t care that it’s Nunjucks or Sass. Nunjucks and Sass are perfectly fine.
Re:NHS.UK frontend by ribs on Thursday December 20, 2018 @07:34PM (#18730554)
But obviously the users are not the only or even major constituency here. These are UI components to be used by other developers and (like all software) to be modified down the road to satisfy new and changed requirements. Technology choices matters greatly.
Re:NHS.UK frontend by chickenfries on Friday December 21, 2018 @10:25AM (#18733833)
The NHS is probably concerned with stability, accessibility and performance. Also I would like you to please explain why sass and Nunjucks are not good for “satisfying changed requirements”

Edit:

Also, are you serious that GDS should consider front end developers their constituents and not their users?

Re:NHS.UK frontend by djw09 on Friday December 21, 2018 @03:16AM (#18732047)
As it’s a open project, have you considered opening a GitHub issue or even a pull request with some recommendations on better approaches/tools?
Re:NHS.UK frontend by noir_lord on Friday December 21, 2018 @07:48AM (#18732987)
> It took me a long time to figure out what .njk files were.

https://www.google.com/search?client=firefox-b-ab&q=.njk+fil... I mean how long are talking here? 5s or 2 days?.

Re:NHS.UK frontend by rukittenme on Thursday December 20, 2018 @07:07PM (#18730404)
> The next time anyone tries to sell me on the notion that the public sector can't do anything as well as the private sector

The Soviets sent the first rocket to space in 1961. Twenty-one years later the first private space company launched its rocket using repurposed government technology.

There is no doubt that governments can do things. They are, after all, just groups of people; the same as private enterprises.

But while the Soviets were launching rockets, their citizens waited hours in line for their day's rations.

"The accepted norm is that the Soviet woman daily spends two hours in line, seven days a week, daily going through double the gauntlet that the American housewife undergoes at her supermarket once, maybe twice a week." Hedrick Smith.

When you marshal the entirety of society towards a goal you can accomplish great things. But always at a cost.

When a private business makes a terrible app, I can sleep soundly at night knowing I never gave anything up for that app's creation. If I see a beautiful, well-constructed, publicly funded app, I might be pleased at the attention to detail and admire the construction of the thing. But I have to wonder, what did I give up in return? How many people with broken arms waited in an over-burdened system for the prestige of a beautiful website?

The problem isn't that the government can or can not. Its the choice to do or do not. Its the opportunity cost to the society that poisons the government's action.

Re:NHS.UK frontend by tomelders on Thursday December 20, 2018 @07:40PM (#18730584)
Well NASA put a man on the Moon and America's economy boomed at the same time.

Also, your tax dollars are absolutely being handed over to private organisations in one way or another. Either through subsidies, tax breaks, welfare, economic initiatives, or direct investment.

Re:NHS.UK frontend by rukittenme on Friday December 21, 2018 @12:30PM (#18734814)
> Well NASA put a man on the Moon and America's economy boomed at the same time.

Yes but you've missed the point. Those billions have turned out to be a net positive for the world. But at the time, why should someone dying of cancer fund a literal moonshot? Why should we antagonize the nuclear armed Soviets over a dead rock? Why this, why that?

> Also, your tax dollars are absolutely being handed over to private organisations in one way or another.

Then it incurs the same penalties! The opportunity cost argument still applies. "Why did we fund this business over that business?"

The majority of private businesses have no exclusive government support. They are free to fail with zero impact to society. This means their apps are crappier but no one had to suffer to make it happen.

Re:NHS.UK frontend by briandear on Thursday December 20, 2018 @08:34PM (#18730820)
A tax break isn’t handing money to anyone— it’s not taking it in the first place. There is a difference.
Re:NHS.UK frontend by jarym on Thursday December 20, 2018 @11:26PM (#18731405)
Not to socialists
Re:NHS.UK frontend by cybersol on Thursday December 20, 2018 @08:34PM (#18730819)
You make good points about the opportunity costs of fund allocation. However, large bureaucracies are often so inefficient and ineffectual, that well allocated funds can still result in no useful outcome. That makes the positive outcome here more impressive.
Re:NHS.UK frontend by umvi on Thursday December 20, 2018 @05:41PM (#18729874)
> The next time anyone tries to sell me on the notion that the public sector can't do anything as well as the private sector

What if I try to sell you on the notion that getting quality this high out of the public sector is extremely unlikely?

Re:NHS.UK frontend by jacobtwotwo on Thursday December 20, 2018 @05:55PM (#18729980)
What if I just ask pointless hypothetical questions and follow them up with no substance at all?
Re:NHS.UK frontend by jtloong on Thursday December 20, 2018 @08:36PM (#18730830)
This is what the whole digital government movement is trying to change. Public sector organization's in the UK (GDS), Canada (CDS, ODS etc), Singapore (GovTech Singapore), even 18F in the US, are all trying (and relatively succeeding even if incrementally) to change the public sector's ability to put out quality technology services.
Re:NHS.UK frontend by jarvuschris on Thursday December 20, 2018 @06:54PM (#18730338)
It doesn't happen most of the time yet, but that doesn't mean it's a gamble. I wouldn't describe it as "extremely unlikely"

We actually have figured out how to run public sector software projects successfully. It's not a mystery anymore.

There's a lot of barriers still to practicing agile service design within the constraints of most government organizations, but good results are consistent where you can carve out the space to implement it.

Look at "digital services" teams at every level of gov:

- UK Originals: https://gds.blog.gov.uk/ - US Stormers: https://18f.gsa.gov/ - US Normers: https://www.usds.gov/

- CA State Child Welfare: https://cwds.ca.gov/ - CA Benefits Enrollment: https://www.getcalfresh.org/ - CA Digital Services: https://github.com/CDTgithub/DigitalServiceOpportunities - MA Digital Services: https://www.mass.gov/orgs/digital-services

- Philadelphia: https://www.phila.gov/departments/office-of-open-data-and-di... - San Francisco: https://digitalservices.sfgov.org/ - NYC: https://playbook.cityofnewyork.us/ - Boston: https://www.boston.gov/departments/digital-team

Re:NHS.UK frontend by starbeast on Thursday December 20, 2018 @06:58PM (#18730359)
What if I try to sell you on the notion that getting high quality is extremely unlikely by definition, otherwise it would be called average quality?
Re:NHS.UK frontend by dgzl on Thursday December 20, 2018 @05:48PM (#18729922)
I think the argument of private sector vs public sector for quality also comes with a price. As in, how much did that fancy UI cost the public, vs. how much (edit: it would have cost) the private sector to build.
Re:NHS.UK frontend by arctangent on Thursday December 20, 2018 @11:07PM (#18731357)
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who are building this frontend library.

We have a full-time and fully-staffed team comprising developers, designers, user researchers, product/project managers etc. focussed purely on this piece of work.

In our role working to deliver health content to the general public we take very seriously the need for our content to be accessible to users and we invest accordingly. This frontend library is something we hope to push to other healthcare providers as part of a wider drive towards standards adoption.

None of this work has come cheap, but in the public sector we work to very strict budgets (and some would say lower pay) and I would say the public are getting very good value for money here. (We are judged by and required to provide proof of "benefits realisation".)

Re:NHS.UK frontend by flr03 on Friday December 21, 2018 @06:23AM (#18732693)
Congratulations to you and your team sir, this is very good work.
Re:NHS.UK frontend by tomd on Friday December 21, 2018 @05:16AM (#18732453)
I run Torchbox, a small, private tech agency in the UK. We were commissioned by NHS Digital (the state sector organisation behind these tools) to support two related projects: moving NHS.uk to https://github.com/wagtail/wagtail and setting up https://beta.nhs.uk/service-manual/ on Wagtail.

NHS Digital's procurement processes are tight and focused. They have an expert in-house team of developers and delivery managers, and they only used us on where we could accelerate the project.

As a business owner, I would have liked a bigger contract. As a tax-payer and frequent user of the NHS, I'm very happy with their efficiency.

Re:NHS.UK frontend by noir_lord on Friday December 21, 2018 @07:52AM (#18733007)
The impression I get is that the NHS is pretty efficient budget wise but with a budget so large it's easy to make the inefficiencies sound bad "NHS wastes millions on Foo" sounds much worse than "NHS wastes 0.001% of it's budget on Foo".

For people who don't know the NHS budget is approx £130bn (~$165bn US), they are a huge organisation that provides healthcare to 66 million people.

It's impressive.

Re:NHS.UK frontend by lghh on Thursday December 20, 2018 @06:05PM (#18730060)
It didn't cost the private sector to build it... because they didn't and wouldn't.
Re:NHS.UK frontend by dgzl on Thursday December 20, 2018 @06:16PM (#18730135)
Are you really missing the point?

The cost to build something in the private sector is almost always cheaper than asking government employees to do it. The public sector "didn't build it" like you said, but if they had, it would have been cheaper. This is almost always the case.

Re:NHS.UK frontend by Traster on Thursday December 20, 2018 @06:32PM (#18730213)
It's worth noting that whilst the cost of producing something in the private sector is cheaper than the public sector, the cost of the public sector acquiring something from the private sector is orders of magnitude larger than the cost of doing it in the private sector. I always think it's rather odd that people who propagate the idea that the private sector can do things much better than the public sector simultaneously need to believe the public sector is better at negotiating contracts in order to believe that contracting out work makes sense. I think the key here is that the British government have reproducibly found of way of creating high quality sites. That should be examined, embraced and extended.
Re:NHS.UK frontend by Doctor_Fegg on Friday December 21, 2018 @06:33AM (#18732730)
I'm guessing from the mention of "dollars" in your profile that you're American. Maybe don't extrapolate your experience in the US to a completely different country?

(I worked to set up a UK public sector website back in 2004/05. We cut our costs by 90% - genuinely, 90% - by bringing all development in-house rather than using private sector contractors. I do not believe your assertions to be consistently true in the UK.)

Re:NHS.UK frontend by frobozz on Friday December 21, 2018 @05:37AM (#18732532)
Nonsense.

In the private sector, shareholders take money out of the system in the form of profit. Something that costs £X in labour and consumables must be charged at £X+Y% in order to make that happen and still give money to investors. If they can do it cheaper, they still charge £X+Y%, and give the surplus to the shareholders.

In the public sector, there is no shareholder. If it costs £X in labour and consumables, then the cost to the public purse is £X. If they manage to do it cheaper, then that money remains in the system and can be used to either improve the offering, or subsidise another project.

Public sector workers are also often paid considerably less than their private sector peers, and departments are often highly restricted in their ability to pay market rates for specialist employees.

Although the total benefits package for public sector workers has historically been equal to or better than their private sector peers, this has typically been due to Final Salary pensions, which have been mostly phased out in favour of Career Average or even Defined Contribution pensions, all without a corresponding increase in salary.

Re:NHS.UK frontend by dluan on Thursday December 20, 2018 @09:19PM (#18731010)
just fyi, nearly all government projects are contracted out to your accenture's, deloitte's, and booz allen's. most government agencies don't carry out and execute, they just put up the RFP and take whichever one greases the committee members best. that's usually how an actual 4-week front end project turns into a 40-person, 12-week contract.
Re:NHS.UK frontend by asplake on Friday December 21, 2018 @01:20AM (#18731742)
No, that's just not how these new-style digital projects work in the UK (and the few that work the old way have a habit of hitting the headlines for all the wrong reasons). I've been the delivery manager on two of them myself and advised a third. They're highly iterative, very committed to user research, user testing, and continued evolution based on real feedback. Contractors are certainly involved in most of them but there are also staff members in the teams in key roles. They start not with a big spec but with a goal and a discovery exercise.