> Deloitte is the only contractor that can meet the project requirements, because configuration of the VAMS application is occurring using Deloitte’s propriety GovConnect platform. Therefore, no other contractor has rights or access to leverage the system to carry out O&M activities, such as the administration of the system, change and defect management and end user support. As the only contractor with the GovConnect proprietary platform, and the need to stand up O&M support for VAMS while concurrently developing future releases, Deloitte is the only contractor that can achieve the O&M scope and contract requirements.”
Reads like a copy of Russian government contract practices. Put up a contest, list requirements in such a way that only one company would satisfy them without going bust or mad, award the contract to that company. ‘Make the thing using this and that technologies’ does appear regularly.
There was some hubbub in Sweden a while back about the armed forces putting up a _really_ specific job ad, like it was tailored to one person.
Well, it turned out it was, because the person posting the add forgot to take out the phrase “Make sure Björn meets these requirements” in the middle of the ad.
It’s an open secret in France that many, maybe most (?) calls for new teaching/research positions in university labs are designed to be won by someone already attached to the lab (like a doctoral student for example, or someone with a temporary contract).
In French it’s called being "fléché", as in attributed for someone. It’s of course totally contrary to the rules. (It’s most of the time somehow well intentioned, from the point of view of labs doing it, like there’s this great person doing a lot of work and they deserve this new opening the lab fought to get budgeted.)
The sad part is that some poor naive young researchers will prepare and cross the country to interview (hopefully now there will be more video calls) not knowing that the call is already custom fitted to someone in the lab.
The fun part is that, as there has to be a majority of external jury in the commission appraising the candidates, the external jury sometimes don’t even know that the call is rigged and pick another, clearly better candidate
Then, a few months later the candidate starts their new job and is really puzzled at the attitude of this one person… the one that was supposed to win the call
When the French government puts out an EU wide bid for something (As is the rule in the EU), the bid will be won by a French company. Every. Single. Time. And it's not by accident.
Finland, on the other hand, is playing things stupid.
We've had cases where a city's laundry services was won by an Estonian company(!) because they were the cheapest. They actually shipped all laundry 300km+ south, over the bay and to Estonia. Wash it and send it back. For some reason the people handling the bid were all suprised_pikachu.png when it turned out the arrangement didn't work AT ALL.
That's all down to knowing how to write the bid so that the winner will also be the best.
Estonia has done a great job with these contracts. Washer salaries are 400Eur per month here and 1600eur per month in Finland so Estonians keep the washing factories open overnight.
For more context: When opening a permanent position, research institutions are required by law to advertise the position publicly and interview candidates.
We are talking about permanent positions guaranteed for life with fantastic perks. They're extremely competitive to get.
When a permanent position is opened, it's often for a position that's been contracted out for a while.
Want to hire the contractor who's been doing the job perfectly for 2 years? It's simply not possible because of the law above. Gotta advertise the job nationwide and run formal interviews. An interview panel will run interviews and pick whoever they like (it takes months).
It's not as rigged as the poster makes it out to be. The panel is 5+ random people selected among a very large company. They don't know that the position is tailored to someone and they couldn't care less either way, they're all people with a cushy position guaranteed for life, no favor to give. (It's really the opposite of Russia/China for those doing the comparison).
It's rigged in the sense that if there was somebody doing the job for year, they're probably more qualified than you are.
This rule exists to prevent middle managers from doing empire building and growing their headcount indefinitely. It works as you can see above where a better person was chosen.
I have a friend who was lucky enough to present himself and get such position. the reason was that the other guy made some mistake in the formal process (missed some required sheet of paper).
This is exactly how American companies game the h1b visa system. When I worked at AVG we would write job requirement so specific to an Israel developers who worked for one of our subsidiaries that it was clear no other human being in the world could qualify for it.
That depends on what you see as the purpose of the visa requirements. If the purpose is to support economic prospects for American citizens and current residents (which seems like a completely valid purpose of government), then putting hurdles to ensure the job opening was “shopped” to qualified existing authorized workers seems pretty reasonable.
(I should clarify that I’m fully in favor of immigration programs that serve to increase the density of highly qualified individuals in the US and to fill positions which would otherwise go vacant. If as a small side-effect, those programs depress wages via increased supply, that’s still an excellent trade for the population. I am not in favor of visa programs substantially/primarily aimed at decreasing wages.)
Increased supply of labor depresses wages ceteris paribus.
That is why George W Bush and older generation Republicans always supported legal AND illegal immigration. Their constituents were the businesss that thrived and made more profits from a cheaper laborforce.
The Democrats were historically hostile to immigration because their base was the working class. Now that Wall Street and Big Business has gone Democratic since Bill Clinton and the New Democrats there will be more supply of labor and thus lower wages ceteris paribus.
Oh just in this case I was working at a security company and everybody we imported were from Israel. I’ve worked st 3 security companies and they all either had Israeli offices or had acquired Israeli security startups. It just seems to be a thing there.
There's a bassoonist urban legend (possibly true) that Bernstein wrote the ludicrous high Fs in the West Side Story bassoon part so that one of his pals who played bassoon would have to be hired for the pit orchestra, because he was the only one around who could play that high.
This is how hiring works in most public tech centers and colleges here in Spain.
The job postings are useless, if you want to work there what you need is an introduction (someone to give your CV to a lead that needs hands on deck). Then 2 to 3 months later a job posting with an almost complete copy of your CV will appear and they’ll hire you.
Under the first bullet in the screendump in the article it says:
* Experience from personnel management positions and documented good leadership qualities (Here Henric lacks the clear experience why I think it should be moved to meritorious)
> He rose to the rank of major despite not having completed mandatory training, and was even temporarily promoted to be able to serve at the military alliance headquarters, the newspaper said.
Sounds like they could save a lot of money getting rid of the training requirement.
Russia at some point instituted a law that all contracts have to be published in a centralized database. So, to award contracts to specific companies, an array of techniques was developed to prevent anyone from using that database to bid on those contracts. The names of the goods are misspelled, spelled using a mix of Cyrillic and Latin alphabets, the items are required to be of specific model with tiny modification from common one that only one (pre-arranged) provider happens to have, unusual names are used for goods, etc. etc. It's a whole branch of art now.
It's absurdly common and has nothing to do with Russia other than plenty of Russians also do it. The reason you pay more to get a political job than political jobs pay is because you get control of contracts. Contracts get you rich.
edit: Speaking from direct American government experience.
Yeah, I'm pretty sure we don't have a monopoly on such practices, only couldn't remember if I ever read about Western procedures and misconducts with these contests. Dunno even what they're properly called—it's a ‘tender’ here.
For a while my entire job ended up writing proposals and all the related nonsense for federal an state government contracts.
I did not like that one bit.
However spending week after week trying to divine the meaning behind phrases and terms.
It shortly became apparent that some parts of the government would consistently have requirements only applicable to one vendor.
That saved a lot of time since I could just skip them whenever they came out.
These types of «arrangements” often go all the way to congress promised pork for donors and secure job for voters.
If I have given the impression I was doing all the work myself that is not intended. We had a big team of all sorts of disciplines
It's hard to put down a technically legal, as far as text of law goes, practice. Especially when there are no complaints to use as a base because all contenders for the contract were similarly shady. And sometimes some $RANDOM gets the contract because nobody serious will take it, thanks to anti-corruption/anti-loss measures that the populous voted in that made the contract impossible. So Honest John Federal takes the contract and finds a suitably desperate student/outsources it to cheapest vendor possible.
Meanwhile auditors (unless burned out) would love to get the contractors and buyer staked in court, but technically all checkboxes on the checklist are checked (pun intended) and there's no obvious better candidate to use as counter example.
Not Russia but eastern Europe. A long time ago I was working at this company 'subscribed' to government contracts. There was a new project for the army/nato and my colleague was writing our bid offer. Right next to him sat an army officer whispering him exactly what to write down to win the bid. Needless to say all public contracts where won by a small group of companies in the same manner. But sometimes the bribes were even higher, and companies hq-ed in central and western Europe, like IBM and the likes, would win the contracts and then sub-contract my company to do the work.
Reminds me of an RFP for the Pennsylvania Land Trust Assocation I spent $10k preparing a bid for when I was young and naïve before I understood that RFPs were often a sham to give auditors the illusion of due diligence and that it would have been impossible for us to win the contract.
It's not that it reads like a Russian government contract, it reads a bit like any government contract.
The problem here isn't even necessarily with the government: Had they gone with anyone else at a sane price tag, Deloitte would have sued that company to oblivion and the Government as well, probably for all sorts of IP issues.
I can assure you that the GSA does not treat its construction contractors so preferentially. Lowest public bid wins, with preference to companies owned by service-disabled veterans, women, and minorities. I’ve never been directly contracted by the GSA, but I’ve been a sub for GSA projects several times. The closest you get to “one party fits the contract” are systems like fire alarm, where if a Siemens system is in the building, you must sub out the work to Siemens, or if there’s a Johnson Controls BAS system, you’ll need to sub out that work to JCI.
I know there is a decent amount of corruption in local/state construction contracting so I cannot claim there is 0 fraud for federal construction contracts either.
Construction projects are more understood than software projects, as you have a tangible result that either meets the specs and passes inspection, or doesn’t. It’s a bit different than contracts software or a new plane where the specs can be interpreted in looser ways.
It's good this doesn't occur in all areas, but at least for software systems (the area of vendor contracts I'm familiar with) it's not uncommon. A vendor provides an opaque system that requires relatively deep knowledge of it to perform integrations etc. A third party would need to dig deep into the system & documentation to work with it.
I've seen this with SunGard/Ellucian, and also Oracle. They would not make their documentation & technical manuals publicly available. A third party arose offering general maintenance & other services, and used customer's documentation copies to do so. SunGard sued them, and the customer [0]. Oracle has done something similar [1].
Unfortunately, this is a common practice by providers of large proprietary systems, and whether or not the vendor prevails is almost irrelevant: customers now know that competitive bidding brings a risk of costly litigation.
Personally I don't think suing your customers is a very good business practice for long term customer loyalty. Then again some industries only have the choice of a few vendors, roughly equally litigious, to choose from. The alternative is to create your own custom system, but that's an option only available to very large customers.
Russian government certainly doesn’t have the monopoly of that kind of practice. It’s a standard practice in wordlbank projects as well : wordlbank finances the development of a system in a foreign country, and the projects requirements are written in such a way that only US companies can answer.
That's nothing to do with Russia. I had a client make an RFP based on my company's service specs. The entire intent (stated behind the scenes) was to have us get the work. We'd already done other work - they wanted to keep us involved for the next phase of work. We lost to someone local. They charged basically the same as we did, but they were local so didn't have to include travel costs, so they 'won'. The client lost out because there was no consideration for continuation of knowledge/experience - we'd done an initial training course for them - our teams knew each other and had done some informal prototyping already while on site. But... "the other bid was lower".
This also happens a lot in some European countries, where governments/municipalities buy/lease cars for.
They specify features list in the way, that only one car model form particular manufacturer matches the requirements. Pure corruption.
This is endemic in tender processes the world over.
I used to work in a role where I had to respond to tenders for the software I led, and it was
obvious that if the requirements list wasn’t written by our competitor, the institution had decided they wanted their software and listed every feature they knew only that company offered.
Seems like the software procurement process itself is broken.
I guess this could happen with hardware too. But adding more features is much easier in software. Marketing can then argue that it makes a certain product “better”.
It reminds me of how during the Iraq war (fiasco), Halliburton, partly owned by dick Cheney, was awarded a huge "no bid" contract (no competitor by design, no bid required) for logistical support in Iraq.
This right here “configuration of the VAMS application is occurring using Deloitte’s propriety GovConnect platform.”
Because it is so difficult to launch a project and provision the requisite infrastructure in the federal government due to various IT regs and laws and subsequently obtain an Authorization To Operate (ATO) in a timely fashion an existing platform is routinely sole sourced especially when speed is necessary.
Why? This is both legit and utter bs. Legit: the fed gov actually attempts to protect a persons’ private data. BS: after the drain of the acquisition process (led by non-technical folks), ATO, slide decks to more non-technical management (Deloitte and their peers crush this), the competent folks find other jobs either in or outside gov that free their creativity.
Positive: groups like USDS are reducing the drain, but once an exec gets burned they go back to checkbox management and shun the learning organization culture that has made tech the anti-thesis of this type of acquisition in other sectors.
*edited misspelling to show gov tries to protect not product privacy data
Government will always be very inefficient. Government certainly has some strong benefits, but you should avoid using government wherever it is not absolutely necessary. Private industry would have done a far better job of handling the vaccine roll out.
This is propaganda and you should be more critical of the people peddling it. For example, ask yourself whether Deloitte is part of the federal government or perhaps the solution to this problem isn’t simple enough to fit on a bumper sticker. The same private sector which includes Amazon and Apple also includes Comcast, not to mention Enron.
The deeper lesson is to look at incentives: where things go well, the structure encourages the outcome society wants. When they’re misaligned, you get global climate change or the American healthcare system underperforming our peers at whole number cost and stress multiples.
Private companies go bankrupt all the time. Large public companies (like telcos) are slow, inefficient, monopolistic etc. Large defence contractors in the US are responsible for bribing officials and corrupting the US democracy. My point is that large organisations fail all the time. It doesn’t matter if it is public or private.
> Private industry would have done a far better job of handling the vaccine roll out.
The British vaccine is being rolled out by public bodies and is working pretty good indeed (half a million doses a day).
Meanwhile our track and trace system, misnamed "NHS Track and Trace", is, despite the name, almost completely outsourced to private industry (and barely even speaks to the NHS). It's universally acknowleged to be an absolute mess.
For your next laptop, car, etc. try doing what you think the government ought to do here. Write down the requirements, give them to a neutral third party who doesn’t doesn’t use computers/drive, and ask them to figure out the cheapest thing that meets the requirements. Commit yourself to buying only that. See how it goes for you.
But that's how I procure anything and everything. I go to geizhals.eu, select the category, select my requirements based on comparative testing from test.de, sort by cheapest total, and click buy.
Every single piece of electronics I own was bought that way.
How else would you buy stuff without being influenced by some subconscious bias caused by some stupid ad?
I don't understand the analogy. Why would I give the requirements for making a website to someone who doesn't make websites? The government should do whatever anyone who wants a website does, hire someone to make a website. What's the issue?
This is how hospital software is handled (at least in Finland). The one making the decisions is the head doctor in the hospital, because they have the most power.
They know fuck-all about software and fuck-all about the day to day work of the nurses and doctors who need to use the product every day.
And this is pretty much how we ended up giving Epic Systems 774 million for their MUMPS-flavoured piece of shit rebranded as "Apotti". And the project - started in 2015 - isn't even done, nor bug-free yet. The American model of everything being cost first didn't fit the Finnish model of medicine - to the surprise of no-one outside of the organisation.
It was so bad that other cities refused to use it and went with their own solutions instead of using Apotti.
That was our nickname for our worst customer. Some wannabe nerd promoted to CIO, probably to keep him away from patients and the other staff.
His most substantial contribution was divining the precise shade of the highlight color used by our theme.
Our "portal" had labs, scripts, meds, notes, referrals, and on and on. Stuff like lab reports were industry standard (we had domain experts on our team). Dr Corn Flower had opinions on all of it. Not detail too small to argue about. Every pixel mattered.
We eventually got to the point where two team member's full time job was babysitting Dr Corn Flower, while others were permitted to do real work (skunkworks style).
And that was just one hospital. We had dozens of other customers, and 100s of partners.
If I asked our procurement team to get me a distributed version-control software to use I'd be given a site-wide license of Perforce before being given git.
So enevitably requirements are tailored to what I want. It seems someone wanted Deloitte, why (and how expensive was the dinner) is another question.
I think this is what usually happens and what causes many public projects to fail: the customer has no competent staff that can a) write requirements or b) evaluate tenders. They're often incompetent enough to even hire someone competent to do those things. The government should maybe have a dedicated unit that assists other units with procurement of IT solutions. Where the staff gets very well compensated when a project is a success. But that's probably never going to happen, for more than one reason.
One of the responsibilities of the UK’s Government Digital Service is to review any IT spending by other departments, and are staffed so that in many cases they can implement and support products themselves rather than outsourcing them. My understanding is that other departments are making headway in being allowed to bypass that process, but at their peak GDS were fantastic at shutting down bad projects before they’d sucked up millions of pounds.
Well how the hell do we have a £40M contract for supply of laptops to schoolkids filled by a noname laptop supplier using the jankiest (really low quality, really poor spec) laptops worth maybe £100 but being charged to the taxpayer at >£300 each.
School IT people are getting them delivered, a lot are broken, and the cost of repair is given as more than the cost of buying _retail_ a better replacement.
I don't know how these people live with themselves, ripping off the taxpayer and lumping in-need schoolkids with poor equipment.
Anyone in that decision chain could spend an hour reading "budget laptop" articles on trusted websites, then look on the website of a high-street supplier for a top price. Boom, saved the taxpayer £20M.
Mind you at least something was delivered, current UK government tenders appear to be typified by non-delivery by completely inexperienced companies for costs well above market.
The equiv contract in Australia went to Lenovo. Microsoft and Adobe preloaded the laptops with Office and Adobe Suite and no cost. Worked out pretty well.
I used to work for a consultancy that almost exclusively worked for the German armed forces. And pretty signficant chunk of these contracts evolved around requirements and specification documents. Basically we wrote them, the way the armyed forces wnated them to be written, and they just signed of on them. That was equally shocking as it was hilarious sometimes. The sad thing, almost the complete management of that firm, and the majority of employees, used to be former Army, Navy or Airforce. Or from the civil admin staff. I always wondered how much value we actually created, the amount of additional expertise was quite limited.
I imagine you are correct that this happens frequently.
However, if a large outsourcer like Deloitte gets the gig, they should have the right experience and knowledge to work with the customer to determine what they really need/want, and to steer them through the whole process. They should also ensure they use best practices, such as tests. If a company fails here.
Procurement teams are not the ones doing the work, they are centralized bureaucratic functions to which requests go in and products come out. They have a habit of buying stuff that actual practitioners would never buy: inappropriate to the use case, known poor quality, off-brand knockoff of something practitioners actually like, etc. Any latitude in the requirements will be used in the dumbest possible way. There’s a whole cottage industry of products for government that meet naively written specs but are actually crap.
Imagine hiring web developers with only HR on the interview loop, no manager or team rounds.
This is a common trap that people fall in while trying to understand the problem. It's not that they chose the "wrong software", it's that they tried to scope every aspect of custom-designed software ahead of time.
Imagine if you had to describe in exact detail every possible aspect of a mission to Mars in 1940. You are guaranteed to wind up causing the death of everybody involved, because there is an enormous amount of research standing between where you are now, and having enough information to create a workable design.
The real problem is that the nature of the contracting system doesn't allow for open-ended / minimum-viable projects with iterative development, you have to do your best to write the requirements then throw it over the wall and hope for the best. Of course you're going to wind up with a mess.
This is a major problem with using contractors. They bill by the hour. Their continued employment is not dependent on doing a good job. They half ass everything because it is about billing and being done. Also, doing a bad job means "overruns" for more free money. The government needs a Department of Technology that runs all these systems for all national systems that are needed. This isn't like building a combat fighter, it would be straightforward to be build a team that can build a scalable website with today's technology.
Could big tech firms help by loaning out their employees on sabbatical, or could they sponsor government tech positions? It feels like so much of the talent there would be very useful to the government, which would probably have a positive feedback loop on the economy as a whole.
Companies have no incentives to improve the economy as a whole when the same time can be spent with a higher ROI on improving the company's own fortunes in particular. Give them the right incentives and only then it'll happen.
Good people want to work at places with stock options and bonuses for good performance, the government can not offer that. Government is more suited for people interested in management, not pure technical people
Speaking as a technical person who worked for government, one of the most frustrating things was not pay, I am a simple man. What was frustrating was the GARBAGE tech we had to deal with. I'm talking 5+ year old windows versions, crap peripherals and desktops, shitty offices in ugly buildings, super intermittent connections to the data that always go down, throttled data-centers by incompetent SQL pulls (I was guilty of this starting out, too)...the list goes on and on. Compare this to other places, where you can actually code in comfort, can actually solve more problems because you're not constantly derailed or demoralized by government's rusty and slow systems...
2. competent technology managers who can communicate to the suits who are in charge of the budget that these things are needed for a functional quality tech environment
#2 is a much rarer skill than #1, and those people will get paid way more and will have to deal with way less BS working in tech companies than government positions.
I hate to get political, but perhaps some of this is due to certain parties that always want to reduce taxes, or to even pay for collecting those taxes...
The government absolutely could offer competitive incentive packages if the appropriate legislation can be passed.
At some point it will become obvious that software complexity is a national security issue. I feel that point still hasn't arrived, for whatever reason. Perhaps the realization has arrived, but those offering the realization have biased the reports to favor themselves (i.e. Deloitte, et. al.)
Government pay scales probably end up costing them more right now anyway. I would rather hire two software engineers at $250k/yr than ten software engineers at $60k/yr. Because those ten software engineers aren't going to produce anything at all usable.
"U.S. national security increasingly relies on software to execute missions, integrate and collaborate with allies, and manage the defense enterprise. The ability to develop, procure, assure, deploy, and continuously improve software is thus central to national defense."
We already know it's a national security issue. Nothing is done about it.
Well, the thing is that when the government takes tax money and allocates it to private companies via obscure and arguably corrupt procedures, you get the worst of both worlds. Inefficiency and rigidity of the government, combined with opacity and greed of the private companies.
When people say privatizing things could be a solution, they don't usually mean "take tax money and award it through a no-bid contract to a private company for laughable reasons which could be either stupid or corrupt, your choice". At least if those aren't the people who are getting no-bid contracts, those people mean exactly that.
> Making the CDC look bad appears to have been part of that program last year
You sound like somebody outside CDC on purpose went and made CDC look bad. As far as I can see here, CDC did it to itself - and it's way not the only messup they had recently, they also totally bungled covid tests rollout. There seems to be serious trouble there, and if they think they will be excused because of the pandemic - they unfortunately may be right, but this only means the rot will continue.
By itself, there's nothing wrong with government buying services from private companies - in fact, it's inevitable, unless the whole economy is controlled by the government, certain services will have to be bought on private markets. It is when the unique power position of the government is leveraged to give certain companies unearned advantage, and the government acts not as mere consumer among others, even if with deep pockets and special needs, but seeks to promote some companies at the cost of suppressing others, is where the trouble lies.
Isn't the problem that the compensation structure is wrong?
By paying lump sums you are basically encouraging your contractor to screw you over. You should compensate them based on metrics that align with your goals. For example, pay $1 (random number) for each vaccinated citizen.
If the governmental body is not interested in ensuring efficiency, than no matter what structure is chosen it will be abused - by inflating counts, or costs, or some other way, because people who have incentive to get money and no counter-incentive to follow the rules will cheat. Not all of them - but enough of them to cause serious damage. Look what happened in California recently - about 27% (!!!) of unemployment benefits is now thought to be fraudulent. This is what happens when people are incentivized to cheat and people who oversee the public coffers aren't incentivized to guard them. You'd expect that there would be some consequences for CDC leadership for their numerous failures - but that's not happening.
There are systems like that within the government, but in those scenarios the Contractor owns the system and deploys it as a service. While it can be cost effective in the early years, it does entrench the Contractor and make it difficult for the Government to switch because they own nothing.
From my experience with the german government, it is more the bureaucracy that is the issue and not government per se. And that bureaucrcy, on the governmen side, wasn't that far of from what I saw in companies like Siemens back the day.
I think government is just sitting on the extreme end of bloated bureaucracy, with everthing defense related taking the cake.
And the voters will easily vote for more of such bureaucracy, wrapped in words about controlling spending, avoiding corruption, preventing money going to few private contractors, ensuring cheapest bid wins, etc. etc.
This is combined with how various voter-friendly "cheap government" initiatives go on for all kinds of internal purchases, not just big dollar projects like this.
Printers that needs servicing all the time because "cheapest bid" means you have low-quality shady consumables used.
Cars that end up constantly in service because the provider is cheap and thus couldn't do the right job servicing a Land Rover Discovery 2, taking away critical machine for reaching accident sites for aviation accident investigation.
Purchase of new cars for the same org and purpose - the freshly elected government leaked "appropriate" story to one of the newer tabloids to make it look like excess that they are curbing.
I still tell the story of SCAAI investigator buying a plane ticket for international flight because office responsible for finances in appropriate ministry refused to arrange diplomatic courier. So an investigator booked an international flight, left the plane, gave the CD full of confidential data to his local counterpart, turned 180 and went back to the same plane back.
Hate to say this, but having worked in similar industries, RFPs are sometimes deliberately skewed/ created in a manner that make it hard (or downright impossible) for others to participate.
A lot of the time, that's ok. A few people in the know want to avoid a lengthy and wasteful evaluation process for the product or company they already feel confident will meet their needs. Or worse, they're afraid someone might underbid, people without context will pick the lowest cost option, and the product or service will end up being a disaster.
The problem comes in when things like this happen - that a company forces itself to be the only option through unnecessary infrastructure and proprietary software in the public space.
That's why biddings are well-intentioned but mostly bullshit.
The biased/corrupt person that ultimately is forcing the decision gets their pick, but doesn't face the full consequences of their decision because "hey it was a bidding, everyone got to offer". People making multi-million dollar decisions should be exposed with plenty of skin in the game for things to ever not be as rigged as they currently are.
But that’s also a failure of internal IT and processes. These types of architectural decisions really need to go through some sort of ARC before proceeding.
That is the easiest a company can leverage an invitation to tender ad infinitum. I believe that going for the cheapest is always the wrong way to conducting those projects. On the company side, bargain you first contract, install your proprietary program, lock everyone up in it and higher your fees when you have leverage on the next requirements.
Government, public offers, invitation to tender must not only play by the cheapest but also by the long term impact that changing contractor every 4, 5 years has on their own management and system. This is getting as absurd and stupid. Force contract to use standard/boring technology and leverage a large market of companies for support. Being the cheapest never was a fair decision maker.
Exactly. We need someone to “Amazon” the shit out of our governmental computing systems (e.g. APIs everywhere), especially those designed to interact with other systems. They should be required to use an accessible API with published schemas and documentation. I’m surprised someone hasn’t identified this as a stability and security risk for our government.
Yeah, we need the US Digital Service for oversight and prevent this type of failure as much as we need them to parachute in after-the-fact. Prevent Vendor-Thanos from ever finishing the Infinity Revenue Gauntlet.
The problem is that any success in delivering past contracts does not guarantee success in future in software technology where a typical software technology becomes obsolete every 3 years.
In software world things change so fast that someone with 6 years of experience developing software will not have enough experience with newest tools, languages, methods, etc. Newer graduates with experience is newest applications in their resume get hired and they sometimes lack real development experience.
Building and delivering software is not like building a road or sidewalk where technology does not change by much every year or decade. They still construct sidewalks like they
did say 100 years ago.
So major software contractor's success is pretty much random depending on who gets hired and how good the chosen packages are for the given application and how experienced are the staff in putting it together and having good test specs.
Another problem in software world is that software developers move to new IPOs and so the staffs are ever more transient. Government jobs with complex hiring practices are actually becoming unattractive to developers.
> The problem is that any success in delivering past contracts does not guarantee success in future in software technology where a typical software technology becomes obsolete every 3 years.
They don't even seem to be saying "because Deloitte was successful in the past". It's literally saying "because they're the only ones who have access to their proprietary system that we already locked ourselves in too.... they get the business".
"...so the staffs are ever more transient". Yeah, there's some idea that "company X" does ABC. The people at company X do ABC, but you are at the whim of institutional knowledge and tribal info systems within that company. The superstars who made ABC work 4 years ago may all be gone, and the current people are trying to make a name for themselves by making 'The New Process' so any success from ABC isn't at all guaranteed to translate to your new project.
Yup. Allocate budget. Hire few $10/hr offsore guys to craft some frontend in a few months. Transfer money.
Deliver kickbaks. Shutdown project.
Rinse and repeat.
Corporations love regulations. Let’s remember this when we support things like net neutrality. They always try and sneak regulatory burden in any of these bills.
I just don't understand these software deals, the price is so high. At 44 million, you can hire 146 engineers each paid 300k for a full year. Trust me, you need much less to build something like this, and there's no excuse for it to suck so bad.
I'm also curious, anyone know where the development actually happened? Did Deloitte further subcontracted out? Was it outsourced?
These contracts are generally bloated, but if you've never seen how a $10M+ contract for things like this works you're probably thinking about it wrong. The actual development piece is a pretty small portion of the overall work. The bulk of it is figuring out all the requirements, wrangling legacy systems and data into some kind of shape that can either be interfaced with or imported, documentation, support (including phone), client hand-holding, etc. Yes it's a lot of overhead, but this isn't a run of the mill green-field SaaS app a few 22 year olds can crank out in a few weeks.
This guy gets it. Development is literally the simplest part of the problem set.
The intersection of domain expertise, contracting/procurement creativity, and technical evaluation is the tough part to wrangle. Getting to the point where development can start is 95% of the battle in my experience.
Not to trivialize the actual development portion of the project, but most missteps happen early, dooming projects before anyone sits down to code.
Now think of the problem in reverse, from the government's side. Why are they contracting it out when all of the most difficult aspects involve integrating with government systems, policies and personnel - things that government already knows how to do?
"Because we don't have the expertise to do software development."
The comments in this thread, which I fully agree with by the way, just cement my belief that if government wants to deliver high-quality IT projects they need to start developing the expertise to do it in-house.
Ha, I'm currently a federal government program manager, so I am thinking about it from the government's side right now.
I've also been a consultant cog in a mega-corp and run my own small consulting business, so I've seen it from both sides.
Tech folks underestimate non tech challenges (basically anything outside of their domain), and clients don't actually know what they want. It's an age old problem in lots of industries.
I work in a similar sector but have a strong belief that the software delivery can and should become a capability that occurs within the government.
They should be diligent in what capabilities they choose to support. And ruthless in continually developing and pivoting these capabilities.
This is true of any large organization or enterprise that operates in a software enabled domain, so yes, most industries. The idea that software development is too difficult and should only be contracted out to fleety consultants is one that needs to be properly put to rest.
And to be clear, I'm not saying that consultants have no place. But for the type of technology and delivery as required by the project in the OP - there's no excuse.
I’ve been working in enterprise/government sector for a few years now and my observation is that they need to focus on better systems design. Everything is too convoluted. Trying to make the software fit the poorly thought out and implemented legacy ERP design from yesteryear is where most of the money is wasted.
Oh, my last disappointment of the week was being lectured via 2 screenfuls of Confluence with a “it’s more complex that what you make it” exposure of 2-3 layers of encrusted legacies. The PO was flexing and glowing how their managed to build into the new product this synthesis of bad designs. Which means entire departments get a list of rotating passwords by email every couple weeks. The network of ossified legacies just grew one more sprout.
I've wasted far too much time in my career doing exactly this for federal government customers. My favorite is when someone insists a feature is critical and must be replicated, but when I dig into it I find it *never* actually worked and as such, no one was using it.
Made worse when you have lots of money and even more stakeholders.
Perhaps worst of all, when failure has no true cost, avoiding failure matters far less. The CDC won't go broke because they blew through $44 Mil. Most every other organisation would. That's one of the challenges of government, the lack of creative destruction.
One of the biggest challenges for large orgs is that the knowledge they need to do a given thing is almost always present inside the organization — but it's fragmented and scattered across different teams, roles, and balkanized administrative boundaries such that the big picture is almost never available.
A high-quality consulting partner works to build the relationships and internal lines of communication that are necessary for the client organization to do more of the work — maybe all of it! — in the future. A cash-grab consultancy will just make themselves the organization's "glue" and bill until the money runs dry.
That last dynamic you described is exactly what I saw at a very well known university: upper management knew they weren’t getting the accurate details through the middle management filter, but shied away from fixing the cultural problems. Instead, a major consulting company was charging a considerable amount per hour to have 24 year olds with expensive suits interview the actual workers, summarize what they’d been telling their management for years, and present it directly to the senior level. Fixing the system would have saved millions but required fights they weren’t constitutionally well suited for.
Absolutely, but this is essentially saying "We're okay paying a 2-10% tax on our revenue, forever."
I think that's the reason you tend to see these unhealthy dynamics in extremely conservative, quasi-monopoly industries (government, financial, healthcare), where there's no real question of if they'll be a going concern. And no real rewards / attempts to outperform at the cost of increased risk.
Critically, if someone within the org volunteers to organize and manage the cross departmental knowledge they'll be shut down by people within the company for trying to accumulate power or stepping into someone else's turf.
Only an outsider can safely talk to everyone. They aren't a threat because they aren't part of the company and therefore can't take over.
It cannot be volunteer work. It has to be sponsored from the top. If it is, then a team of qualified FTEs can do this job similar to an external consultancy. But rarely will old-timer well-settled FTEs will leave their current position and take on this temporary risky gig.
Also, the end result and the path to get there isn't clear for FTEs – let's say they did the functional domain requirement gathering work – then who will implement it – they will have to contract out the development work – they may not be empowered to think and see through to the end goal fully.
On the other hand, for the top management folks – it is easier to temporarily empower the external consultants and terminate the engagement with them at any time – but they cannot do the same with FTEs due to employment laws etc.
What if it wasn't temporary, but just part of the CEOs office? The first goal should be to actively prevent these foul-ups by keeping open lines of communication.
I've always thought that a team like this is critical to keeping a company running. Any org that's 1000+ needs a 5-7 person team outside of any department that the CEO can throw at problems, but no org that I'm aware of has adopted this structure.
I can attest that the second modus operandi is the way long time contracts work from my experience.
Nearly every time all the knowledge and skills necessary are hidden and fragmented inside our client's org. With our access through all the management layers and silos we could work to fullfil the contract and also enable change within the client organisation and culture.
But why kill the golden goose? Our higher people' bonuses depend on us being the glue as someone else wrote in another comment. And a lot of my colleagues actually on the client's really do a great job in opening lines of communication. They work their a*es of to help the client.
Sadly helping isn't a monetary long term strategy for upper levels.
Though mostly about ladder climbing and relationship drama, the show 'House of Lies' has some really good scenes where the management consultants do actual work, which is pretty much portrayed as doing the things you've listed. Even as a fictional show, it made it easier for me to understand these situations and not get so flustered when encountering them.
I've been in technical, not management, consulting, but House of Lies felt disturbingly accurate.
Except I usually just stared at bad movies in hotel rooms to decompress after dealing with clients, rather than blow and strippers. Sue me, I'm boring.
Heh. That stuff has always felt like an inexplicably weird trope, like Hackers-inspired visions of computer people as living Mondo 2000 articles.
After 8 hours in a windowless conference room with a parade of stakeholders, making RACI matrices on a stained whiteboard and scarfing down cafeteria sandwiches during "bio-break," I want to _talk to my wife on the phone then stare blankly at the ceiling_, not go out for a night on the town.
I am definitely biased by my past experiences with tech consultants. I’m trying to sort out if it’s a service provider issue or if it’s a customer side issue.
From my limited perspective, it seems management consultants are focused on 80/20 solution approaches. While it seems technical consultants are focused on delivering MVPs that don’t seem to map well to the business space.
The disincentive that tech consulting has is that jobs (at least in my area) were usually bid at fixed price.
I have no idea if that's the way larger firms do it (would expect not).
Consequently, profit = contract price - consultant hours. Every bad happened from minimizing the latter.
Even if you do straight up billable hours with the client, your time was typically scheduled 1-2 projects in advance. This lead to being prematurely (in terms of things being "done") rolled off a project, onto a new one, and finishing / supporting the first from your hotel after-hours.
This was in a pretty cowboy area. I imagine different parts of technical consulting behave differently.
But yes, MVP quality code seems to be a constant. I saw that delivered from a top-tier technical consulting firm (ML solution) to a T100 customer.
To what extent is this due to neo-liberal "small government" policies, where from the highest political levels - through lobbying - it is decided that outsourcing is a win-win that leads to financial savings and budgets that are cut, and later on cut some more, etcetera?
I've witnessed the crazy dance of enterprise consultants in large corporations (not government) and it is astounding how much money is wasted in inefficiency.
I was in a small tech shop and we had just won an RFP at a big corporation, with a very practical solution and for a limited domain. Our down-to-earth approach led to so much enthusiasm with corporate employees, that they sent all their consultants to us to investigate interfaces to ever more back-end systems. Scope ballooned, and we - being a small party - were dictated to support all this stuff. It was utter madness to such extend that we decided to more-or-less graciously wringle out of the contract. Just-in-time before we were committed to a monstrous project that was 100% certain to fail. And that was not the only time we experienced this phenomenon in big corp.
On tasks where building the initial framework is the most expensive part, swapping out contractors only serves to abstract away complexity without reducing its cost.
It's better to have an in-house dev department in these cases even in the complexity side, if you realize that complexity in the contractor side is just as bad as complexity in the basic org.
Exactly, that's why I turn down companies that don't take a tech first approach, if you rely on tech, you ARE a tech company. Clearly the government doesn't see itself as a tech venture of any kind, but tech fails in silo. Tech first is the only way tech can succeed at delivering value to your business. Otherwise, go back to traditional processes, stick to SharePoint, email, excel, and manual logistics. And ya, this is true of the government as well, if it wants to modernize and leverage software innovations it'll need to start approaching things with a tech first mindset.
the UK has done exactly this - to make all Government Digital Services in house. It's been a blockbuster success in my opinion - they have some of the best UX/UI in the world and their websites are ultralight and downgrade well.
There are a few issues with authentication, but there is support.
Everything that's related to dealing with the UK government btw is all in ONE website, where everything is explained to you in Plain English - gov.uk
Coming from a country where this doesn't exist, I was blown away by every interaction I've had with the system. It's simply amazing.
As a foreigner living in the UK, I concur. All .gov.uk are _extremely_ functional. Applying for the pre-settled status (cos Brexit) was actually an enjoyable experience! I had no idea what was going to happen when I started the process, and it was all done in 30min top. It made me _scan my passport with my smartphone_ while flashing weird colors and it worked flowlessly, that absolutely blew my mind.
I've actually looked into getting a job there even though I'm from a start-up background
Yes that was some of their best work. I believe the flashing lights allow for some sort of 3D reconstruction of your face? And scanning the passport with NFC!
One of them is high-tech DYI solution, the other one is super simple yet not used at all by any other govt service I've interacted with.
Every single GDS project I’ve been on is 90% freelancers all via a small handful of companies — it’s not really “in-house” but at least it’s better than absolutely everything going to capgemini, Fujitsu, NTT, ATOS and the like, sure.
Exactly. The UK in-housed their entire website IT team, and it's one of the best set of government websites I've seen worldwide, UX-wise and performance-wise.
I worked for the government and it was pretty damn hard to get further training. We had no funds for conferences, classes, travel, or any such. All the improvement was down to me, what I could learn about R/stats/STATA from forums, from colleagues, and from the 1500 member analyst email list. There were all sorts of forums/libraries "within" the government system, however their search functionality was garbage and they didn't have enough users to make it a useful forum for most topics. Sigh!
The sad, true reason why they don’t is that government programmer jobs will pay 1/2 - 1/3 what a private sector job will pay in the DMV (DC, MD, VA). And the ironic part is that the reason private sector pay is so high is largely attributable to these big federal contracts being handed out. But as things are, the federal government cannot hire enough qualified people in the location (by DC) that they want to.
I’m going to be discrete but I know of a Deloitte project where they are allowed to use AWS Fargate, but the gov’t side is limited to IBM mainframes. Why are they so limited? Who knows, but it’s a deep question, that would require total reinvention. Perhaps, in the end, it might not even be worth the risk because the gov’t is so essential. They can’t move fast and break things. But it does look insane as a result.
FEDRAMP requirements and auditing are difficult and expensive to meet. I've seen the cost of these in bids. We said something like $20k per month for what would be a $50 per month EC2 server. It was a shocking thing to see. I'm guessing Deloitte is charging six figures a month to host this thing.
Does the government, in fact, know how to do those things? How would we know if they did or didn't?
I notice that they spend oddly large amounts of money on anything for which we know what the cost roughly should be -- e.g. CDC web sites -- and don't seem to do so very quickly or very well. Should we assume that they're a lot more competent at things we know less about?
Agencies are less likely to be competent in non core areas. This should not be surprising. There is no career path for you doing software in an agency like the CDC run by bio science people. Same for the Air Force, which is run by fast jet pilots, the Congress by lawyers and liars, Commerce by thieves, etc. Even banks and trading firms, who live and die by software, are run by accountants and economists.
Unless an organization recognizes the core importance of software and carves out a specialisation stream and C level ownership of it, they rarely achieve more than brief or isolated competence.
This is the reason why SV is so appealing -- nowhere else do SWEs hold sway over entire companies and industries.
Govt can do excellent software if it becomes a priority, they could pay competitive wages (there are special pay scales for doctors and lawyers), but they choose not to because of risk aversion from politicians, who mistakenly believe they can outsource the risk.
For something like this, paying Eventbrite to do it wouldn't have been a bad place to start. But the fat cat consulting firms never have domain expertise beyond getting Govt contracts.
There's a couple of reasons government IT projects turn out this way.
In my experience, a lot of the time it's not so much that the contractor is trying to make money by prolonging the problem. It's that the customer doesn't know how to be a competent product owner that prioritizes and scopes things properly.
Then, frequently the software being designed ends up replicating broken/inefficient business processes, so it ends up being difficult to make cleans and efficient software. This becomes worse when there's legacy software in the mix where the customer wants the contractor to port over all of the clunky functionality of the old app. Which of course isn't documented in the first place, so you've got to perform software archaeology to figure out what it did.
Some other show stoppers I've seen are when key stakeholders act as gatekeepers and prevent developers from talking to SMEs directly, so you have to build your requirements based on what the person with the 10,000 foot view knows. So of course you get incomplete and sometimes completely wrong requirements. And you might not find out how wrong they are until after you've spent a lot of time building things
Just those dynamics alone can add an enormous amount of cost or outright doom a project. I could probably fill a blog with all of the dysfunctional stuff I've seen in federal IT, but suffice it to say that these factors can easily balloon costs and timelines to a comical degree. This $44 million failure is actually small compared to some other government IT failures like the billion dollar Air Force accounting system.
There is often the expertise in house, but over years the internal teams get terribly under-funded and the poor service that results is then used to justify spending vastly more amounts on external suppliers.
This always comes down to piss-poor and craven senior management decisions.
I'd never in a million years argue that Deloitte did an awesome job on a large government contract, but it's mind-boggling to watch the regular ritual of HN posters blithely insist that anything more over $20K and a pile of pizzas for government infrastructure is a scam.
Not only do I think thats a strawman (I don't see that base level argument given that often on hn), but even if it wasn't, the truth is there is a lot, and I mean a fuckton, of money waste at the government level on IT projects. Trying to act like just because they aren't all a scam doesn't mean there isn't a systemic problem of waste that still needs to be addressed, and there are plenty of examples in even recent history that prove this point. More than just waste, the intention to fill good ol boy pockets in priority over getting the job done has significantly weakened the function of the projects, for example, the national security implications of abandoning thinthread that William Binney and Thomas Drake talk about... as just one in a myriad of examples. Virginia didn't have multiple counties become the new primary growth centers of millionares because of fair and balanced bids... and anyone pretending otherwise doesn't know how DC works.
The story of Healthcare.gov is pretty much the poster for this. They didn’t need to bring in a bunch of clever people to figure out requirements, that was already done and the site just didn’t work. To fix it they had to bring in a team of tech experts, who largely just did tech things —- competently and at a lower cost than the contractors who did the first iteration. https://www.google.com/amp/s/amp.theatlantic.com/amp/article...
While true, the team that was chosen also did not had the experience with public facing sites.
The contract was given to a team used to do intranet websites in classical JEE format and the letting them lose in such a project, designing as they knew.
> Trying to act like just because they aren't all a scam doesn't mean there isn't a systemic problem of waste that still needs to be addressed
No, of course not. But it's undeniable that these threads on HN (and other engineering-dominated forums) always include a healthy dollop of "I'd have done that better, because I'm a good software engineer" disdain. It's often paired with ignorance of how large-scale enterprise and government contracts and procurement work, what roles are necessary for large-scale projects with a significant discovery component, and what the planning process looks like when a team can't afford to launch-and-get-feedback or fail-fast-and-learn their way to a full specification.
I mean, this Deloitte project and the rollout are clearly a shitshow on a million levels. They got a no-bid contract for an eye-popping sum, then more than doubled it before the building even started! But the approaches boldly prescribed in most of the comments here wouldn't have produced a working system at the scale needed, either — only a cheaper broken one. A cheaper failure is still a failure.
> most missteps happen early, dooming projects before anyone sits down to code
This one is more insightful (in the big non-tech enterprise / government spaces). Because the takeaway for most HN developers who flip between projects should be: (1) learn how to recognize one of these projects & (2) stay away / find a new job when you do.
In addition to what others have said, from my previous experience:
- Does the customer have an IT org capable of fulfilling basic tasks you won't be authorized to do (app / db access, AD / rights modification, firewall adjustment, AV adjustment) in a timely manner?
- Can the customer provision necessary machines in a timely manner? If using VMs, is the virtualization team competent with their chosen platform?
- Does this project directly threaten the job of anyone whose blessing / help is required to successfully deliver the project?
- Is your leadership / your customer champion intelligent and willing enough to say "No" to scope creep when the customer gets excited?
- Do the PMs attached to the project have a basic understanding of how software is built and the systems involved?
- Does their management understand the actual processes being interacted with? (Major red flag! If their management / leaders say things in meetings that demonstrate a basic lack of understanding in what their own people do, run)
That won't save you at all. A lot of federal IT contracts are now written to mandate using Agile or Scrum. Many other forms of dysfunction that doom projects remain.
It also almost certainly applies to whatever every person here works on, no matter what industry you're in or how close to pure tech it is. In fact, I'm not sure I can think of a single field where even the most brutally difficult software tech problem is actually the difference between success and failure. It can be a prerequisite, and it can often be a bottleneck to iteration speed, but it's never the real problem, which is something SWEs need to understand in order to move up into leadership.
What they need to do is flip the script. Instead of only looking at the input side of these systems and how to plug into older systems not designed for it, look at the output side of everything that’s built and make sure it is api first so future projects can integrate much easier.
At the city of antwerp we flipped over in 2015 from a typical assortment of poorly integrated consultant-built monoliths to a microservices api-first approach. It became a hard requirement that all functionality provided by new systems had to be offered by a documented api, and most of the newly built systems dogfood their own api’s from the ui. In 5 years this caused a fundamental shift, where it gave us the ability to set up a covid contact tracing app for schools in weeks, because it was mostly the piecing together of well documented and battle tested api’s.
But most of the rest of it in these huge contracts could just not be done. The myth is that all of the rest is necessary when only a tiny fraction really is.
I have worked in tiny very early stage startups and old dinosaur companies. What comes across loud and clear is that early stage companies could use a bit more organization and dinosaurs could cut huge portions of what they “do” and then both would be in a similar situation to get things done reasonably well.
The bulk of the waste is an attempt to get people who don’t know what they’re doing into a position of getting things done. Sometimes it works.
Whats the prob? Its money changing hands. It flows from the Corp down to developers, managers, etc.
also it is good that corps and governments try to innovate and spend money on it.
Can it be more efficient?
Always(!)
Can it be more focused?
Sure.
But a big innovation takes a lot of factors to be well balanced and that alone is often not guaranteed nor possible given the circumstances. You just might not find the kind of devs it really needs (and not even knowing about it). So you hire the best thats available but it won't work...
Bad luck. At least you tried.
I see it that way. Whether vcs pump millions into 100 startups so that one succeeds or corps pump millions into 100 projects... Who cares? The money is not burned. It hopefully ends in my pocket
people get paid doing this. would you rather have they don't have a job because all of a sudden managers realizie that 90% of what they do is bullshit?
There was just an article on here last week about how software development is a learning process and programs are just artifacts of that process. Big, old, messy, and highly regulated domains will obviously be hard to learn.
If money is left over, apply to the next available item via (logic).
Unless money is sent twice, for two separate sub-items on the same item, in which case if the first amount is insufficient to cover the entirety of the first sub-item, the excess (if any) from the second amount, after being applied to the second sub-item, must be applied to the remainder of the first sub-item.
There are legal ramifications of doing the first way, without the second. And only the actual in-the-trenches people were able to tell us about the second.
Using outsourced process documentation is @&$&ing useless.
not to mention the fact that by definition the software developers know very little about the domain (given that 1/2 of them have less than 5 years of experience)
The project management part, which I agree is the hard bit, could be made tractable too. Other orgs manage this all the time and build sophisticated software which continues to improve.
This is a booking management system for appointments, the initial problem statement is trivial, the difficulties lie in interfacing with other systems, simplifying UI, getting data in and out, providing some customisation but not too much, etc. These are all things you don't know how to do till you start using it.
The process you describe of getting 'domain experts' in a room to decide on a spec without contact with the real users then throwing it over the wall to build is fundamentally broken. You won't get to even 50% done without real users - that's the problem, and it sounds like that's what happened here.
You simply can't build a system like this without frequent contact with real users (old people booking appointments, volunteers entering data in a hurry, pharmacies who need to add extra info for patients), experts on the other hand will often add negative value unless they are trying to use it.
If there was a will within the org commissioning the work to appoint one project lead and then get out of the way apart from demanding weekly builds from week 1 onward this would be tractable. Collect feedback from real users and deliver every week. This is not rocket science and a small team could and should do it if allowed the space to do so.
What you mean is that 95% of the time and money spent is about different bureaucrats fighting over turf wars and trying to get some credit in ,to be able to claim responsibility if it works, but at the same time not exposing themselves too much, just in case it blows badly.
One of my previous employers had a very good software and it sold such software to various other companies around the world. Such software was highly complex and really the top money could buy in the field. A yearly seat for a single user could cost up to around 5-7 k$.
Yet for years the company made most of its money from "installation projects" and "professional services", that is working with the client to understand its needs and implement customisation to the software to make it work well in the customer environment.
On engagements like these most billable hours are spent waiting on the client to make trivial decisions or give access to data/systems. Deloitte doesn’t usually hire dummies. IME it’s always the client being a total swamp creature.
The high bill rate is for your pain and suffering from having to deal with them.
> Deloitte doesn’t usually hire dummies. IME it’s always the client being a total swamp creature.
This has not been my experience, which is really to say that the world is big enough that you can find any combination of blame imaginable somewhere. Once you have misaligned incentives no part of the dynamic can be relied on not to cause problems.
It’s not a great look but it’s usually quite literally what the client is paying them for. I view the companies maximizing revenue the same way I’d view a shark: it’s what they are, and you can always choose not to jump into the water.
Wait! If there was a sane set of APIs and data interchange formats that was standard across the whole system, development would be the simplest part.
It's because they have to shoehorn their solution into a morass of garbage software, that this turned into such a complex task.
The real answer is to dump ALL these huge contractors, and their 'solutions', and make something new and better, with proper engineers directing the process.
Imagine if Deloitte had been contracted to 'invent' the Internet...
This is usually not the solution. You have to understand the requirements/know your actual users. Engineers don’t necessarily do this well. They build with the latest tech but as you see in this example, the primary users are older people who can’t use latest tech
Agreed. This is not a No True Scotsman -- understanding true requirements is a fundamental attribute of engineering. If you aren't doing that, whatever you are doing it isn't engineering.
Ha ha I know, but it isn't like that. APIs are always written as REST but the systems serving those APIs are not REST so everyone starts off building lots of GET APIs and then progress steams to a halt because it's tough to write loads of APIs for the many different types of write data flows in most systems.
Bullshit. The broken system Delloit developed is being replaced with Eventbrite in certain states, pen and paper in others. All the users needed was a simple scheduling system which shouldn't cost anywhere near 40M to develop no matter how you spin it. Is Eventbrite works for this, why did no one actually think to just use that (or the many similar systems created for this kind of thing)? Pretty sure Deloit itself just wrapped something like Eventbrite around a skin UI and delivered that.
The only answer I can come up with, even after trying to be generous, is corruption. The fact that there was no bidding should be enough for that contract to be highly suspicious. People in the top are pocketing most of the 40M and everyone involved knows it.
As much as this contract will certainly be a barrel full of pork, and Deloitte can go eat a bag of hammers, I feel this take is a little naive.
A commercial service is optimised for profit, not broadest accessibility. For example Eventbrite won't spend money developing special features for very specific niche user cohorts because of diminishing returns.
Government websites can't work that way, they have to be accessible and usable by all citizens. Think of people with different learning abilities or language proficiency, the likely environments the users might be in, and their general technical abilities.
Here in the UK there are strict rules about use of clear language, well thought out user flows, how to ask for certain types of information etc that has all been backed by years of research. We have a whole government department that covers this and will audit your new service to make sure it is good enough.
Having done this as a web developer for our Government, it was a massive eye opener to have a copywriter pick through the language I used in a form flow, and point out how confusing it could be to some groups of people. Or indicate that the method by which I was asking for an address made no sense for certain remote locations, and it needed to.
A few specific things to point out on Eventbrite in particular. It seems to me that you are likely have a whole bunch of other requirements too. Off the top of my head you'd need more powerful management tools to control: simply setting up so many locations and dates, who can book when (patient cohorts, priority groups), the logistics of vaccines and vaccinators, tracking vaccine batches used for each person.
> Yes it's a lot of overhead, but this isn't a run of the mill green-field SaaS app a few 22 year olds can crank out in a few weeks.
I get your point, but also yes it is. The issue is superficial, it's like when I try to Zoom with my mom, it'll take 10 times longer as I need to explain and bring her along every single step of the way. This is the same for these type of contracts. A lot of the slowdowns come from people just not letting development take its course as it should.
Just look at the article, the states ended up choosing to use a bunch of SaaS startup not even designed for this use case in its place, like eventbrite.
And look at the issues:
> “It won’t work on Internet Explorer; it only works in Chrome. The ‘Next’ button is all the way down and to the right, so if you’re on a cell phone, you literally can’t see it,” says Rowe.
That's not a project management issue, that's a full on development issue, it doesn't even work on mobile in 2021 !!
I worked at some government contractor a few years ago and one of the tasks I was given was to oversee the implementation of a ticketing system for a client. The basic requirements were for something slightly better than using an excel spreadsheet with basic search functionality. After a preliminary sales call with one well known vendor, they told us the next steps to implementing this system was to bring a consultant on-site to assess all the ancillary requirements, at a cost of nearly $100k. I had a little laugh about it with some colleges and my manager and I kind of wept a little inside, because I doubt this is a rare occurrence and it only takes 1 incompetent manager to create a massive amount of useless revenue for some vendor.
I've seen massive government contracts where "Big Consul" has some guy who does nothing else than take all documentation from the previous "Big Consul" and rewrites it according to their own internal format, and they bill €150 an hour for it, for months... And then when their time is up and the new tender starts the next firm does the same thing to rewrite it all in their format...
Even the part you mentioned: 'wrangling data for legacy systems' does not cost that much, it's still a small piece of the pie.
The 'bulk of it' goes to sales, BD, marketing, profits, layers of excess management, specialist consultants, accountants and lawyers.
This contract is an example of 'modern world graft'.
Healtchare.gov cost $1-2 Billion and it was also a mess until Google Engineers came in to save it.
Software is not like Construction where the costs can at least be well estimated and you don't need geniuses.
It's frankly very depressing and this kind of graft and stupidity is all over the system.
There are actually not that many people who are both: 1) technically/project competent enough to figure it out and 2) have enough gravitas on the business side to make proper bids. Partly that's the fault of government.
To be fair, it's also bad buyers who change requirements all over the place and throw projects in dispensary often for what are ultimately political reasons.
And when it goes way over, it's usually easy to identify the problems, it's just often politically infeasible to address them.
With construction - the numbers are on the table.
And FYI - aside from massive project, municipalities and construction is happening all the time. There usually are not massive overruns for such projects.
> 'wrangling data for legacy systems' does not cost that much, it's still a small piece of the pie
Are you sure? Because I think it might possibly involve:
- interfacing with an old COBOL system
- interfacing with an old DB2/ORACLE/(legacy database) with a "very creative" Schema and even more creative indexes (or maybe none - who knows). More bonus points if it's not even ASCII encoded
- Production system runs on a VM serving an old classic ASP or PHP app
- Data can be exported through an XML from Hell but that takes 2h to export.
You forgot the step where you even need to identify that these things already exist, and whats in them.
Are there governance requirements around the data in them? I'm not familiar with US law, but we're talking about PII in this example so what legal and privacy hoops need jumping to copy the data?
Thats before we get to "Can an person with this specific learning disability, or a person who doesn't have a fixed address navigate through this form?"
For many corporate client system developments this is my experience too. Producing the actual LOCs is not the primary cost; it's requirement gathering, figuring out how to plug in the new component into an existing system etc. As an example of the first, you might be digitizing a cross-department workflow. Your job now basically becomes to interview stakeholders from each dept and have them commit to a single online workflow. An example of the second is you might want postgre for your backend, but the client might want a single stop db on whatever they're using today.
Then there are challenges around integrating with existing APIs, workflows etc.
Let's not forget feature creep. Sometimes the client might not be able to visualize the final UX in its entirety (often simply because multiple people are involved),and therefore, they might only begin realizing its impact as and when parts of the new system becomes available.
Essentially, you are not paid to build an isolated system, but to understand well and play nicely with the larger context - human and technological - within which your system must live.
From the article it seems that they don't provide tech support neither to doctors, nor patients. And wrangling legacy systems in the field still may be worked out for much less money.
The real problem is that requirements are written in such a way that very few (in this particular case just ONE) companies can satisfy, so essentially there's no competition - exactly a kind of situation which lets to pump up prices.
And if you asking yourself are those requirements really benefit users, or specifically created for money to go to, you know, "right hands" - you're probably asking the right question.
Why are they even building custom software at all if the target demographic is 70+ ? And why are they making senior citizens opt-in for an appointment ? its idiotic. They should have nationalized the browser/OS vendors to provide a solution, for free if its a national emergency.
Not to mention the terms in these kinds of contracts. The only way to deal with them is to charge enough to be protected. I have sold product (hardware) to places like the Navy Surface Warfare Center and White Sands Missile Test Range. If you are not careful you can come out losing in a big way.
For example, for each day/week/month you deliver past the estimated delivery date they discount 5% from your invoice. Sound like great motivation to deliver on time, right? Well, no, it's a guaranteed 100% (or whatever you can get away with) markup beyond what you would have charged because if anything goes wrong you'll go broke.
That said, this issue of super-expensive government websites done wrong feels all too common. You have to wonder how much cash we burn repeating the same mistakes.
> this isn't a run of the mill green-field SaaS app a few 22 year olds can crank out in a few weeks
It’s probably exactly that. I always strongly wonder if you wouldn’t get a better result if you gave a pair of 22 year olds 1M and a year to develop and figure out all the same things.
Doesn't actually matter how old or young they are, just that they don't actually need more experience than you could get from two top-performing 22-year-olds that could easily make more than a million in progress over a year.
And it would have even been worth it to spend the first year doing nothing but intensively searching for these two so you could have operators so far above average and so well suited to the task, and so well agreed upon over a period of a whole year, that nothing else could even come close. It would probably be best with a pair who are equally motivated whether they would be getting the half million apiece or not, because a lot of that could be spent by now.
When everyone creating the software has the rare extreme performance ability that very few companies ever get to have even one employee that good, the more suitable the performance the fewer operators it should be expected to require.
This just has to be put into perspective compared to what you can get from a typical bureaucratic team for $44 million.
Average bureaucrats have never been good enough for average things.
And then supporting it. For a decade. 44m might be bloated, but, it goes quick and it is work no one really wants to do due to how hairy and legacy it can get.
These contracts often have the hosting and other support fees over some long period built in. I didn’t dig into this one specifically, but it’s quite common.
It sounds like they needed a senior business systems analyst to map out the functional requirements specifications document.
Usually, though not always, this helps to give a road map for the organization to follow.
Bugs will arise of course, but usually, it becomes localized, and can be addressed individually.
But for large systems, with lots of moving parts and data integrations with other systems, then you normally need a good, near-air-tight specifications document.
I work for a megacorp outsourcer, and when we run big projects, we embed Business Analysts in the business, so they are working alongside the key stakeholders/decision makers for the duration of the project.
A recent project was valued at around $10M USD, but for that the customer got a fully-featured mobile app that their entire blue-collar workforce will use every single day, replacing gigantic paper work packs.
The backend was hybrid-cloud, interfacing with multiple on-prem systems, including a legacy ERP system which had started life in the early 80's.
So, it was a big and complex project - but it was also a successful one, because we know how to run projects like this. There were various factors that led to success. The BAs were probably most integral. We also held regular week-long workshops with the customer to work on the backlog, with the architect/tech lead (me) and dev team leads all present too. There was a group of pilot users, that always had access to the latest features. And of course, we used automated tests.
Any big corp, like Deloitte, should be able to deliver a relatively simple website, even if it has multiple integrations with legacy systems. And they should be able to advise and steer the customer if they are woolly on what they actually need - there is only so much blame you can put at the customer's door when systems like this are a disaster.
I’d say getting the contract signed is already 1/3 of the total.
You need to be big enough to apply (requires investment), apply to many government contracts, you need to understand the legal terms, price them, understand the regulations, price them in, then price the software development itself and price any other provider (hardware happens very quickly), and if you guess wrong, like on 1/3rd of the projects, you’re in debt... and you have 100% chance of getting the contract if you price it wrong.
Getting the contract done is another 1/3 of the contract, and the lawyers to deal with disputes and prove that you’ve done the contract, is another 1/3.
When did we have the last nationwide vaccination campaign, whats the "legacy"? Pretty sure that was when IBM still made tabulators.
I think you will find that if only there was someone in charge to put their foot down, you can do without a whole lot of these things. But that's part of the problem of course: the government contracting out is just a bunch of clueless people making up a wish list with a partner on the other side whose only inclination is to say yes to everything.
You’re actually saying it costs millions to hand off data to a legacy system? A system that has probably had to consume something like XML or JSON in the last 20 years?
There is no excuse for this kind of cost for things as simple as tracking g appointments and completions regardless of data transformations and storage. There are no magical new protocols or data formats it’s using, it’s just a lot of people charging too much for them to have week long meetings to talk about their area of expertise. It’s an embarrassment.
Have you seen the vaccination setups? It's just car queues! I'm sure nothing there "flows" without a whole lot of manual data entry.
So now what, you are reporting this adverse event to VAMS who reports it to VAERS? There is no flow, it's all just duplicate effort from architecture astronauts.
Sounds like a lot of $6-700/hr management consultants that don't know much about tech but are happy to channel their inner Steve Jobs to try and architect something.
The 22 year olds might not be able to do it (I beg to differ), but can management consultants/accountants who barely took typing in school who have Excel as the height of their digital literacy be expected to have all the answers?
By the time this gets to technical folks, 70-80% of the budget has been burned.
Edit: Beware Management Consultants and Accountants encroaching into "IT". Their worlds are drying up because tech folks can learn business easier than business folks can learn tech.
There is a difference between "ageism", and "being honest about how hard some problems are to solve".
There are a lot of unbelievably brilliant 22-year-olds.
None of them have been building enterprise-scale architectures that turn messy, vague, and incomplete requirements that model even more messy, vague, and incomplete business processes for 20 years.
There are certainly a lot of 22 year olds that have been led to believe that they’re unbelievably brilliant.
I’m sure some of them are. I’m sure a lot of 22 year olds were brilliant in the 80’s and 90’s too.
Unless your thesis is that there’s been a sudden upsurge in the proportion of superintelligent earthlings in the last 25 years I’m unsure what your point is.
> None of them have been building enterprise-scale architectures that turn messy, vague, and incomplete requirements that model even more messy, vague, and incomplete business processes for 20 years.
Exactly! If you’ve been doing that for 20 years I do not want to work with you, since you are apparently perfectly content with that status quo.
I’ve been doing it for two years and it’s already too much. My highest priority is fixing their chronically useless requirements.
I’m glad you’ve clarified as when you said that it sounded like you’re astonished at the level of apathy and/or incompetence you’re surrounded with and I was worried for a second that you’ve just too little experience to understand that your predecessors have very likely been trying for much of that time to push back against the status quo and have better ideas implemented, likely swimming upstream against resistance you’re wholly unaware of.
But it’s clearly not that after all, which is a relief - I’m glad it’s just a case of everyone else that’s come before you being useless.
Is it just me, or are you being needlessly sarcastic here?
The resistance is ridiculous, but it’s still the single most valuable thing we can be doing to improve our project delivery.
Given the current division of people that care/not care (or are disinclined to act on it?). It is entirely likely that none of my predecessors did.
That said, if they had been doing it (and made any progress), I really wonder what the previous situation was. Maybe there just weren’t any requirements at all?
From experience I would suggest that it's very likely they had a very clear idea of where the problems were and tried to solve them, but found that they were not a priority upstream.
It's still an absurd situation, but I doubt very much it's the result of apathy - or at the very least the result of apathy from your direct predecessors.
Doing something for 20 years does not necessarily make someone better at it than someone who’s done it for 5 years. Arguably doing something for that long could even make you worse.
I don't mean to support any ageism and would be happy to withdraw my age reference.
What that may leave is decision makers who don't always have a high enough level of digital or technical literacy.
Folks who are not competent in technology decisions and implementations being in positions of decision making and spending is the point I was trying to make.
>Beware Management Consultants and Accountants encroaching into "IT". Their worlds are drying up because tech folks can learn business easier than business folks can learn tech.
Could say the exact same thing about tech recruiters
> and use Excel as the height of their digital literacy
In Germany we literally use fax and enter data by hand. A project that successfully moved things to an emailing Excel sheets based workflow would be absolutely revolutionary.
My former business partner back in the Web 1.0 days (hey D) had remarkable experience in scaling large systems. Studied under ast. Rolled his own ETL language to power primary research for a Nobel-prize winning social scientist. Could sound like Werner Herzog on demand. He’s the kind of man anyone shuts up and listens to. While helping him clean up a failed $25mm Deloitte project circa 1996, we got drunk in a Manhattan bar. Sometime around martini #3 he said:
“The next 10 years of software will be very boring. The entire field of CS will be employed turning paper process into digital process, at great cost. Almost all of these projects will fail because Americans are admirably earnest but tragically over-confident. You underestimate paper.”
“Good money for us though. But have a hobby to occupy your mind or you will be miserable. Zum Wohl.”
And that’s how I ended up order an ill-considered 4th martini. He was correct, although the interregnum was perhaps 2-3 years shorter than he predicted. Or 15 years longer depending on how one judges these things.
It doesn’t sound like that at all. “channel their inner Steve Jobs” sounds like everyone is staring at the clouds and practising some blue sky thinking, while the OP you replied to is talking about managing legacy systems, old data and bringing along an existing work force into using a new system. These are all the diametric opposite of “Steve Jobs architecting”.
Apple is about creating usable technology for the masses, not the few.
Apple also simplified access to legacy systems, like buying music and making it digital. Or maybe using your watch or phone to pay.
IPhone is geared for ease of use for anyone to adopt, including folks who arent super tech saavy..
Apple's innovation is charging a premium to create beginners in tech adoption who might not be experts at tech, who want yo feel empowered by everything just working.
As someone that’s been using Apple products for a few decades I don’t think I can agree that they make “for the masses, not the few”.
Their market share figures would show that if that’s their aim then they are failing. IMO Apple makes premium products for a specific kind of customer and have little regard for issues like backwards compatibility. Which is absolutely fine. But probably not a model you’d want the government to follow.
Was the original Macintosh easier for beginners to use than other computers?
Was the Apple Quicktime Pro one of the first digital cameras that anyone could relatively pick up and start using?
Was the iPod the first digital music player that just worked to buy and download music from end to end?
Was iPhone.. despite arriving as a smartphone a decade after Palm, etc, was the first usable smartphone for the masses?
Was iPad the first tablet that also just worked? Seems like anyone who can't use a laptop can use their finger on an iPad.
How about that AppleTV? Can anyone use it? It's easier than my AndroidTV.
What about that Apple watch, how many people who were new to wearables had it as their first? Seems popular with the masses.
Experts are usually the few, not the masses.
There's no doubt apple charges a premium. Their devices on average last 4-6 years, longer than the Android I'm typing this on.
Rather than being first, they do try to get it right for the masses. I'm not a happy Apple user, or fan with the keyboard fiasco. Apple's history though remains what it is.. easier to adopt by beginners.
It's users, as a percentage of mobile phone users (80% of population). So if a family have one iPhone, they can all count as users.
iPhone only bring affordable to richer people who mostly want the latest means lots of second hand items. I'll warrant Android users at the lower end keep their phones longer.
> Edit: Beware Management Consultants and Accountants encroaching into "IT". Their worlds are drying up because tech folks can learn business easier than business folks can learn tech.
Sounds plausible but I sadly only observe the opposite of management consulting “drying up”
This is not a 'software engineering' thing. If you look at it from a software development POV, then the issue is more of not having 'product managers' whose job it is to - understand the requirements, write the specs, basically champion the POV of the end user (after actually identifying the correct end user). Examples
a) The article talked about the software not working on Internet Explorer (IE). Older people still use IE. Software Engs with fewer years of experience tend to optimize for FF, Chrome and latest version of IE.
b) The article talked about 'wrong' placement of buttons (probably the software is not responsive or not optimized for phones or older phones)
c) Input fields seem to be rigid (older people will make mistakes)
d) Once you're registered, you can't switch from patient to staff. This should have been designed like a 2-sided marketplace with the ability of one person to sometimes play the 2 roles
If you don't have the right spec/requirements, the output of the engineers will still be bad
Internet Explorer has less than a 2% market share in the US, so under normal circumstances (given the sacrifices you’d have to make everywhere else) not bothering to support is is often a sensible decision. When it’s an access to healthcare issue though you can’t really exclude 2% of users.
That said, building something that works well on mobile (re your point b) but also works on internet explorer is a pretty tough ask. No reason you couldn’t build a basic bitches version of the site that works on old devices, then route traffic these based on user agent.
Idk, points a through c are basically already solved problems. I’d be disappointed to see problems like that if I was spending $20,000 let alone millions. Issue d though does feel like the sort of thing that you didn’t know was on the horizon up front, would be a pretty major rebuild to add in later on.
> No reason you couldn’t build a basic bitches version of the site that works on old devices, then route traffic these based on user agent.
Why isn’t this just the site?
I love Spartan, ugly, functional sites. That’s what the government should build, always. They should have style guidelines that are basically “no style”.
You’re not competing with anyone, there’s no need to look good. Function, function, function.
One reason that comes to mind is that a lot of people browse on mobile devices. These days a site really ought to be responsive to mobile viewports and a lot of “basic bitch” government sites are not.
Plain old HTML stops being responsive as soon as you try to do anything more than text. A plain HTML table would be horrible on mobile. If you want to reflow anything that isn't text you will need flexbox. There is literally no reason to not use CSS to make a site that works well on mobile and desktop.
I’m not convinced that’s true. Case in point: tabular data. I don’t think presenting something in a table is an attempt to make it look good, I think it’s the most logical and recognisable way of presenting certain kinds of information. But tables don’t scale well on a mobile viewport without extra work.
Part of function is layout. It isn't any more difficult to grab Bootstrap or some other out of the box framework that'll give a good consistent look than it is to go "no style".
There can be a medium. US Gov sites generally look awful. The UK Gov Digital team have done a way better just of standardizing things in ways that look nice.
>>Internet Explorer has less than a 2% market share in the US, so under normal circumstances (given the sacrifices you’d have to make everywhere else) not bothering to support is is often a sensible decision. When it’s an access to healthcare issue though you can’t really exclude 2% of users.<<<
That thinking is exactly the reason why this system turned out to be problematic. Even if it wasn't for healthcare purposes, bottom line is - you have to know who your 'actual users' are. Elderly people (60s and above) are still heavy IE users and so are quite a few government offices. If these 2% of overall browser users are the majority of your users or your early users, then not supporting them becomes a problem.
Detect IE, redirect to a static site with a 1-800 number, have a call centre staffed with people running Chromebooks schedule an appointment over the phone.
Probably cheaper overall, and certainly a better user experience for the tech-challenged seniors.
Something to note about this strategy is that older versions of IE (10 and older) only support TLS 1.0 by default. Below 8 you're stuck with TLS 1.0 and can't even enable anything higher. So if "https://www.cdc.gov" is using modern web security IE users won't even get to request data from the server, so you can't detect their browser.
To add more info. TLS 1.0 is prohibited from usage by many regulations and it will be immediately flagged by any security audit/tools. The government contract most certainly includes clauses about security and following recommended practices.
In short, anything below IE 11 is de-facto out of the picture.
> But the GOV.UK pages are written in simple HTML. They are designed to be lightweight and will work even on rubbish browsers. They have to. This is for everyone.
2% of traffic doesn't mean that 2% of users only have access to IE6. It may limit which computing device they can use but not supporting IE6 isn't blocking millions from your site, it is blocking them from using your site on all of their devices.
Probably not true. It means blocking them from using the site because they only have 1 or 2 devices and those are running IE.
The article talks about the fact that a lot of the seniors get help with their online stuff from the libraries (which are currently closed). What is the probability that folks like these have multiple devices at home and/or they can use them?
Years ago, a lot of my bosses at work (in Tech) still used IE. Lots of our clients used government issued computers which were locked down to IE, sometimes several versions behind.
At the end of the day, it boils down to - know who the actual users are.
never mind all the accessibility rules you have to follow (keyboard navigable, alt text for screenreaders for images, minimum contrast for sight impaired, constrained color scheme for colorblind, etc). . . that greenfield SaaS app made by 5 22 year olds isn't going to cut it here.
> Internet Explorer has less than a 2% market share in the US
This is true but if you are a Government agency in a Country of 300M+ people, that 2% is still several hundred thousands users, who are calling your tech support etc. etc.
If this was a private app then it would be different, IMHO Government websites have accessibility concerns that the rest of us can ignore.
Exactly. Civil Engineering does this better, I think. In a civil engineering project such as a bridge, the requirements may be written down by the customer, but the engineering design of the bridge is entirely the responsibility of a single architect. You can pretty much bet that the city council who bought the bridge doesn't know a thing about physics or engineering, so if the bridge falls down it has to be the architect's fault (assuming that it was built according to the plan). This gives the architect the power to say "no" to the customer.
I agree with you on all those listed points, but I don't know if it's my experience as a software engineer, but all those things you point out in general are something I find developers are cogniciant of, but often the processes in place doesn't allow them to do what's best, instead they are forced to always seek approval and follow stringent specs and requirements even if they don't make sense.
If you let qualified engineers drive those instead, in my experience, the end result is always better.
alot of these issues can be solved by pushing code to UAT or QA environments and having a bug tracker that allows everyone to submit their bugs. It seems like either none of this happened, or it was rolled out too quickly.
I don't think you're really paying for the development per se.
Most of the effort is actually managing the customer. That is, their contracting requirements, the whole requirements process, procurement hoops, change process, optics management, cost of "sales", reporting requirements, various additional compliance requirements...
This is a large part of the truth. Crank out a booking website? Give me a couple weeks. Deal with your byzantine organization, your incoherent standards, your security department coming out of the woodwork with list of requirements, your torturous system for provisioning government services like VMs in secure data centres... and then pile on that integration with a variety of legacy systems across another slew of organizations that bring all their own baggage to the process.
I would blame government, but I'm simultaneously experiencing all these issues with a Fortune 100 company. They're almost indistinguishable in the degree to which their cumulative organizational headwind is a hurricane I'm supposed to fly into. It's simply hard past a certain scale for purely people and procedure reasons.
And let's not forget that 1/3rd of the way through, when you're demonstrating an impressive amount of progress with a working prototype, some decision maker will say "you know, we could really make this a two-for-one if we tied it into this other program...", and start the 1,000 hours of meetings to get to development all over again.
Organisations are like people. Their culture is like someone's personality. Dealing with easygoing people is much smoother than paranoid delusional people with OCD. In the same way, dealing with government agencies is difficult because their corporate culture -- their personality -- is not what most people would categorise as normal.
These deals aren't normal deals. They're the equivalent of specialist treatment for someone with mental problems.
Take for example an organisation like SpaceX: They simply do things. If some manager goes to Elon with a rational but inherently risky proposal, he'll weigh the risk and then more than likely give the goahead. Other companies have a lower risk appetite, but they will take occasional risks. Sometimes huge ones.
Large federal government organisations are the diametric opposite of this kind of agile, low-overhead, no-bullshit private company. Their appetite for risk is precisely zero. That's difficult for people to wrap their head around. It's like a superconductor. It's not just a "really good conductor". It's not a "little better than copper". No, it's something fundamentally different. This kind of zero tolerance squeezes out entire lines of thought, just like a superconductor expels a magnetic field.
Notice how in this article the blame is on Deloitte and the "problem" is that there was a failure. This isn't a fault, this is the system working precisely as designed. Nobody will get fired for picking Deloitte, their purpose all along was to take the blame for the low-low price of a mere $44M so that a government employee making $100K won't have to have a couple of uncomfortable meetings.
The problem isn't that there was a failure, that happens all the time with software projects. The problem is that risk in government agencies is managed by people with essentially infinite source of free money that they can draw down on in order to protect themselves.
If a magic genie gave you a million dollars every week to spend on your own safety with no strings attached, wouldn't you? Would you say "no"? Really?
Reading "Let me try to explain using analogies.", I was worried someone would come up with another car anology.
Seeing orgs as people with characters, oh my, my eyes are opened now. Sounds weird but it makes sense the few times that I have worked on contracted projects.
For me, an added complexity in gauging the other side of the contract is that their personality changes depending on the actual people that are involved. When some higher-ups join the project it in later stages, the personality may turns even more mental than it already is.
A lot of “government contracting” is having people whose job it is to find the people that can authorize a sale and then hand-hold them through all the paperwork needed for them to actually make the sale.
This. Gov contracting is a rare, specialized skill. That's why the same big companies keep getting big contracts over and over. If you're a company without these skills you have no chance at landing one of the giant contracts. The CYA and auditing requirements are too insane to even write the proposal without a full-time staff of contracting specialists and a long track record of prior contracting.
(As a new contractor you might be able to get a small-money contract from e.g. the SBIR but those max out at roughly $100K.)
This is the overview, there are other websites that go more into the details if you google it
But basically it is survival of the most boring and the most detailistic. Then of course you lose the tender because you weren't "in the know", or you missed the requirements of the Toilet Procurement acts of 1974 which specified the thickness and traction resistance of toilet paper used in government purchases.
Oh and if you're "lucky" your Health contract management software will suddenly have to be able to order pizza as well, you know, it's "just an extra thing". But you won't get paid while that doesn't happen (ok this might not apply to the USA specifically, but you get the idea)
I met a manager of this once. She told me Oracle hired anyone with a college degree (hers was English) for her job because “managing developers isn’t that hard, you just have to keep track of milestones etc”
Because governments outsource everything possible and end up with no persistent talent that really understands whats going on so you end up spending all the money on interfacing with contractors.
My recollection of prior HN discussions is that a large part of it was that it involved interfacing to systems in a large number of agencies or departments. Most of those systems were old systems, independently developed systems, that had not been designed to have APIs for other agencies to use (or had not been designed to have APIs at all).
I think it might also have had to interface to state systems in the states that were not running their own ACA exchanges, and to the systems of numerous insurance companies.
As software goes, it's pretty likely that if you hire 146 engineers to build a website that could be built and supported with a team of 8.. you are almost certain to get a buggy mess that takes 146 engineers to maintain and support. After all, the architecture will need to accommodate 18 8 person teams, provide scope for ~20 Staff engineers along with a full layer of middle management.
I wouldn't be surprised if these proposals take into account headcount as a positive for both quality and job creation purposes.
I used to have a few friends who worked at deloitte as analysts I'd often catch up with them for lunch or after work drinks and I can guarantee you this was most likely made by a bunch of coked out 22 year olds working until 3am every night for a couple of months
It reminded me of a university style group project, constantly astonished that they’d turn over a few 10's of thousands of lines of python code that (usually) some government department was paying millions for. Not to smear my friends who worked there who must have to work incredibly hard given the conditions and the stress they were under, I always suspected their code must have been absolutely riddled with bugs, and I shuddered to think what it must have been like for the next poor grads who had to work on it after them.
And it was always some project where I was amazed there wasn't already some mature software out there that accomplished what they were doing anyway.
Many years ago early in my career I worked at an an engineering firm as a third-party contractor doing programming for a large municipal blackwater system.
Despite the fact that I was working on critical code implementing core requirements of the system, I was only paid $20/hr. I believe the firm was charged $40-60.
Long before I started working in the product and before any working software was deployed, the majority of the budget was spent. I believe they had at least three civil engineers, and a hands-off software architect who I only saw once, developing a document with hundreds of pages of studies and requirements.
I remember one severe issue we had was that I was not allowed to test on the real database or one of a similar size. So a main query was tested the day it was deployed (on some extremely expensive Oracle server which was very outdated). And unfortunately my query did not perform adequately on the larger dataset. But the senior programmer decided not to tell me or to try to fix it. He just truncated my query with LIMIT and said nothing. This resulted in the query breaking and showing an error, and totally incomplete and invalid data. It is amazing it actually continued at all from that point but unfortunately it did. I only found out about it several weeks later when the project manager decided to take me on a visit. Strangely, no one ever mentioned the issue, nor addressed my immediate suggestion that the software could not operate without the problem being fixed. I assume the other programmer just said "well that guy is inexperienced" and they had other projects to work on and no budget left so they just left it for quite awhile. Anyway I could not believe that so I left shortly after.
I once hired a company to do some structural repairs. The company usually did contract work for the government. Some weeks went by. I was billed a progress payment of $5000, but the company hadn't actually accomplished anything - just reviews, several site visits, meetings, evaluations, memos, emails and constant reassignments of who was working on it.
I fired them and refused to pay their bill (they hadn't even produced a plan for how they were going to proceed). Hired another outfit, who did the entire job front to back for $5000, and got it done in a couple weeks.
> I just don't understand these software deals, the price is so high.
Don't contractors do everything they can to milk government contracts as much as possible? I'm pretty sure I've even seen people provide advice on how to do this effectively right here on HN. So I can definitely understand how it happens...
The difference is they aren’t paying the engineers 300k they are paying an endless amount of administrator executives with “industry experience” aka 20yrs emailing spreadsheets between other managers at IBM.
I realized this once when I started attending (Canadian) gov ‘innovation’ events and ‘startup’ funding initiatives.
There was hardly anyone I’d consider an engineer that is benefiting from these systems. It’s a giant well organized grift for washed up “industry” execs and others hangers on with friends in the right places.
And I don’t mean to be ageist saying that. That would be over simplifying, but there is a inherent preference to those with safe names in their resume, regardless of relevancy. But there’s plenty of spaces in between for youthful people who understand how these meat factories work. Especially ones who understand their value, usually the unnamed ones working on the edges.
But by the time it comes to actually making the meat most of the money has already been allocated to the aforementioned people and they rush to find outsource the “real” work to some overpaid consulting company who are also experts at fleecing these gov contracts with endless meetings and perfecting the right checkmarks get checked.
I remember going to a Zuckerberg talk around 2010 at YC school at Stanford and he mentioned how he was hiring engineers even for the typical ‘executive’ jobs and I remember feeling like that’s the difference between startup tech companies and these failed hundred million dollar imitations.
Having helped to clean up a couple of those messes IBM left behind in various parts of the Canadian public sector, the only silver lining I see is that governments are starting to take in-house dev talent and the digital service model seriously because nothing (in the best case scenario) gets done if you rely on IBM. Hopefully this trend continues and governments grow some teeth in contract negotiations because of it.
Oh my sweet summer child, thou has not seen the internal working of government contracts.
In order to qualify to even bid on a contract there is a pretty high entry barrier. The amount of time it will take you to cross that barrier would be more than amount of time it will take you to start a real business. Bidding is another expensive process which costs money. If you bid on 10 contracts in a year and win one the cost of bidding on rest 9 contracts must be covered to the won contract.
Then comes the compliance costs of various government regulations. In a startup world you can take up accessibility as a P2 item but in government contracts it is a P0. So there are all these complexities involved which bloat the contract. Government has passed probably thousand regulations on whom you can hire and how you work, where the data is stored and what kind of background verification you have done on your employees.
Of course if you and I were to develop a similar website we could do it for $4M and spare some cash to buy couple of Ferraris.
PS. There is also bribes. Of course these are never called so but you have to spend good amount of time golfing with right people, throwing parties, offering front row seats to NBA finals and those sort of things to get your files moving.
Seems like it’s a few hundred million. IMHO Canada has no better example of idiotic spending than eHealth in Ontario. Literally 1 billion spent, and nothing to show for it. (Though they now have something, after effectively restarting.)
I've no love for Deloitte, but the one benefit they do have here is the ability to mobilize quickly on something like this. It's simply impossible to "hire 146 engineers" within any reasonable time frame, let alone get them all organized in a way that you can manage them effectively (and don't forget the project managers/scrum masters/etc that would need to be hired too). Deloitte, OTOH, has an entire existing business model based on taking vague business requirements and having huge teams of project managers/developers/consultants/advisors/etc ready to go at nearly a moments notice.
$44 million is an egregious number and I don't know how it's that high, but I'm betting at least part of it has to do with the fact that this was a website with an accelerated timeline, which probably necessitated a premium.
I was hired for a particular engagement with Microsoft years ago by a similar firm. Microsoft needed x, the firm had nobody so they put out an urgent call and passed me off like I was one of their long-time employees.
I think it’s safe to say nobody has a bench of 146 people ready to go at a moment’s notice.
Yes, these companies sub-contract, but that doesn't change my comment. Sub-contracting is something that Deloitte et al know how to do, and have existing relationships with staffing agencies, have an existing management structure to manage those subcontractors, have existing contracts so you don't need to waste time negotiating, etc.
And with all that said, companies like Deloitte do have hundreds of people ready to go. They may not have a deep bench for certain niche projects, but I used to work at a Big4 and for something generic like "build us a website for people to sign up", we had entire offices of people around the globe in our offshore delivery centers just waiting around for work like that. Oftentimes we would still subcontract because it works out to be cheaper if 10-20% of your resources on any given project are subcontractors, but they weren't always necessary.
Yeah, but if it got done in time but works so poorly that no one is using it, does that model actually work for anything other than being able to say "we got it done"?
This might be true for your average project, but the pandemic is not average; it’s very high-profile. Put out the word that the government needs help and you would have Googlers taking a leave of absence, like they did to fix the Obamacare website.
There are lots of great people who would rather be doing something meaningful than whatever they’re currently doing and governments need to do better at tapping into this.
It’s a different problem, but for a more recent example, look at how fast vaccinateca.com got going.
I mean it's certainly no secret that the US government suffered from incredible incompetence when it came to managing the pandemic.
With that said, the start of the pandemic was ~1 year ago. Even if it started right then, 12 months for a country-wide, government-run IT project is a rush job.
This isnt that complex, its an appointment system. with the resources the government had for this they should have been able to produce something workable in 12 months. I find it hard to believe there wasnt something in place they could retool to serve this purpose
Without enumerating the criteria for "right", you're probably not going to get a sensible answer.
A lot of the debate about pandemic management boils down to criticisms of, "did it wrong," without saying what would tip the threshold in the other direction.
This is problematic because it inspires a lot of talking past one another, resentment, and miscommunication. Ultimately it turns into a churn of frustration, defensiveness, and offense.
But even if you manage to get a response to agree on what, "right," means, the depth of their example is likely shallow. (e.g. "Such and such had only 12 infections because they such and such.")
This, too, is problematic, because it presupposes a ton of equivalent variables between the two countries. Population demographics, geographic structure, legal structure, culture, economic stratification, etc.
Conflation between a, "did it right," and a, "did it wrong," country is practically impossible, at least in the context of pandemic response. And anyone who tries to suggest otherwise is either ignorant, lazy, or obtuse.
If you get a satisfactory answer to your query, I'll move to the moon.
That is not the point. America fancies itself as an exceptional country (and it certainly is in certain respects) so it is only fair to expect exceptional results from the American leadership.
Can't we throw away the information implied by the contract that resulted in something worthless?
(I'm not taking the dismissive 'this is easy' side of the argument here, but the project failed, the lessons learned need to start there, not with the terms of the contract)
It might sound crazy, but a previous team I worked on would build solutions in this exact space (public sector) in 10 weeks using one PM and 3-5 engineers. And we would do it for free.
Aside from all the other answers, it would cost you millions to hire and onboard 146 qualified engineers. A place like Deloitte can drop them on your doorstep with a week's notice. They also have all the product design, strategy, and organization layers required to stand up the equivalent of mid-size enterprise from scratch really quickly and then tear it all back down a year later. I've worked in this business for smaller agencies and we could absolutely work miracles for stodgy organizations. My biggest account probably took in $20M all told and I'd say we earned every penny and launched a really successful product really quickly. Failures can happen too and they're usually a lot more complicated than just incompetent developers. It's just as likely the client is unable to articulate need accurately and corners get cut.
I work in defense and I always say the govt pays $100 for $1 of actual work. It makes me pretty angry at times as a taxpayer.
The worst part is that we know government software contracts are done completely wrong but the government doesn't want to change. Too much money to be made.
Or you could hire 73 engineers each paid 300k for a year, and have 22 million left over for hosting/operations/overhead costs... Absolutely ridiculous.
You get those 73 engineers in a room, then what? What do they write? You get 15 engineers, 3 DBAs, 5 sys admins + their managers. While that's spinning up, you get a bunch of business analyists to write the requirements. A first version gets written, it doesn't do what people want and the data it works from is really crappy, so you have to write a bunch of custom edge logic to deal with the crappy data. Repeat several times, including massive changes in scope.
Like is there bloat on these projects? 100%, and a lot of it, but saying "just get 73 solid engineers in a room" doesn't really get you very far when the requirements are really really unknown.
Yes, and in the process of that discovery it turns out the "process" is 100 different processes for 100 different people. One person performs data entry by faxing a handwritten list of excel data. One person just tells the current DBA what to put into the DB. One person uses a homegrown webapp that some intern built to automate some of their process.
"This is asinine!" you say. "Just make sure you dont break our existing workflow" they reply.
My first IT job was with a hosting company that noticed how much the goverment contracts were bloated. They then spent ages trying to become an offical supplier so they could undercut companies charging so much more. Literally, one of the issues they had was that so many people were curious as to how the company could make a profit since the prices were so much lower than all the other contractors like Serco.
We also ended up being in contact with Serco about a tender they had to redo one of the goverment websites. We ended up not getting any work from that because Serco was under pressure to stop outsourcing all their contracts.
Goverment contracts just send lots of money to companies who already have lots of money.
And the government can own the code, publish, and as the site finishes up, that team can proceed to apply all they learned and built to other pressing tasks.
A decade of that, and a whole lot of government would be awesome.
Of course, these arguments have been made many times. Money in politics prevents it.
I have presented them. I have watched large donations and a couple nice dinners make the whole idea go away.
I believe Deloitte just PMs the project and farms it out to a sub contractor. This is standard operating procedure.
I understand the Deloitte prefers heavily documented and waterfall development with overseas developers doing the work. Basically top heavy and expensive management and cheap dev resources.
>At 44 million, you can hire 146 engineers each paid 300k for a full year.
You can, but the government has to jump through a lot of hoops. Even government contractors have to jump through a lot of hoops. Sometimes there are regulations affecting the hiring process even for government contractors, e.g. drug tests, citizenship requirements, background checks, location requirements, etc. Every relevant law named after a sympathetic child adds $5B to development costs. And so forth.
I mean, given the results, it seems pretty clear they didn't know what to ask for, how to specify requirements, how to verify they got what they asked for, etc. That sort of thing doesn't get easier if you're hiring your own engineers.
Full disclosure: I have had the distinct "privilege" on having worked with all aspects of large consulting firms, from working at Cap Gemini, to being a sub for a smaller company on a large gov't contract with Lockheed Martin, to actually competing (and winning) against the large companies with my own, small consulting company startup.
In short, the above comment is spot on. Companies like Deloitte, Cap Gemini, PwC, etc. all make their margins purely on their reputation. Just like back in the 80s when the phrase "nobody ever got fired for buying IBM" became popular, I think from the mid-90s all the way through to even 2010s there has been a similar sentiment with large, multinational consulting companies.
These consulting companies know they have a strong reputation for large scale, enterprise software projects, and so they will milk margins by charging high rates, upselling all sorts of additional features, and fulfilling projects with the lowest cost resources, whether it'd be outsourcing overseas, utilizing H1-B workers, or bringing in recent college grads. (Accenture is probably one of the most notorious for this -- not sure if they still do this now, but back in the early 2000s, they were known for bringing in college grads from all sorts of usually non-STEM majors, and they would put them through a 2-week bootcamp (er "Core Analyst Training") out in St. Charles, where more focus was on the partying and hooking up than anything else, but then shortly afterword, they'd be put on projects where they'd be expected to do technical design and even coding, while being billed out at $180+/hour)
Now, in all fairness, for every highly publicized, disastrous rollout that one of these companies gets notoriety for, there are actually still dozens of much less public, relatively successful implementations that gets deployed without any issue or fanfare.
But despite this, the costs for even the successful projects are still ridiculously high. As the main reason for their huge margins are primarily in their reputations, then as their reputations continue to erode from things like this news piece, clients will start to wonder if the large costs can continue to be justified.
And I'm beginning to see this sentiment directly -- my small dozen-person consulting company has not only been able to compete directly against these larger companies, but we have started winning contracts against them as well. For the latest contract we won, we bid at about 20% of what one of the larger companies ended up coming in at -- they actually thought they were a shoe-in because they were the incumbent, having built out several other projects already for the client. But we ended up being selected not just because of our pricing, but because of our overall proposal, favorable terms and expertise on the domain.
What's even more surprising is that even though we offered "bargain basement" pricing relative to theirs, it will still end up being the most profitable project we have had to-date -- it just makes it crazy to think what kind of profits/margins that they can make.
I endorse everything you've said! Also, big consultancies have high costs (hello Booz! great lunch btw) like trade shows, political donations, lobbyists, ex-Agency/Military high muckety mucks on the payroll, etc. At least 50% of the project billings are set aside for this. Projects still need a 20% profit margin too. That might mean they're using budget staff; sometimes this means global software centres. If you think DBAs and coders in Mumbai or Warsaw might have a hard time understanding the organisational and political geography of all the States you'd be right.
I have no experience in this field, but do you think it's more likely they are making crazy profits or that they are just really incompetent? probably a little bit (or a lot) of both I'd imagine.
It can be a combination. Often it honestly depends on both sides of the project.
I've seen projects where bad requirements led to cost overruns and/or delays due to required rework.
I've seen projects where due to bad/strict requirements the customer's product basically became the 'learning platform' for a team to use 'the hot new web ui framework toolchain' of the year. I made sure to completely forget what I 'learned' about react/redux after leaving that gig.
I've also seen projects where the contract house threw bodies on that didn't even know the language used. I've seen horror story houses that are code-genies that overcharge to give you exactly what you didn't want.
But in this case My guess it would be a combination of requirements fustercluckery alongside what sounds like an integration nightmare; from my time working in an environment where we had to do a lot of 'etl loads' from different partners and/or acquisitions, you see a lot of snowflake cases.
From time to time I am trying to crawl government procurement portals for projects, and dropping the idea after a couple of hours again and again: only proposal, initial negotiation and documentation will probably require several people full time, this is even before any project movements..
Mind that, this it's the system where you're bidding for months for a project, and even if you have won and was good at delivery, you will be doing all the rounds for the next one again. So governments, sort of meaning to drive the price down via tenders, in reality are paying for all the losing bids too, and paying a lot.
It's a bit like some of the costs that have been quoted for some of the covid track and trace apps.
Whilst I do realise some of these quoted costs involve more than just the development of the app itself, some of the numbers are utterly ludicrous IMO as a software developer. e.g. Germany's app apparently cost approx €20 million.
Agreed. You can also argue that inflated contract cost in a statement of work leads to artificial labor bloat on the project. This benefits the consulting firm while disadvantaging the client. The unnecessary labor can create collaboration friction and lead to technical decisions like adopting microservices despite not being necessary to fulfill the technical requirements of the project. This kind of complexity doesn't guarantee a higher quality product is delivered to the client. Instead, it's used to justify follow-on work, further extracting dollars from the client.
It's possible there's context we don't have that exponentially increases the complexity of their tech requirements and justifies the price here but I'm skeptical. Looks more like misaligned economic incentives commonly at play in engagements between consulting firms and the gov.
The 44M is most likely over 5 years. Knowing Deloitte generally comes in on the high side of pricing I'd say it's around a 37 person team, cross functional including PMs, BAs, developers, testers, devops, Section 508 compliance, IA, user support.
Your point stands, but a nitpick - don't forget overhead. You should roughly double engineer salary to cover overhead, so it's 146 engs at 150k (still good), or 75 engs at 300.
It's Time and Materials/staff aug contracting - meaning Deloitte isn't selling an end product, they are selling staff on a per hour basis. As with other types of contracting, the hourly rate has a huge markup on it to cover indirect costs as well as profit. They make a lot less profit than you think though. Most of it is indirect costs.
I have no doubt the government got scammed, but often these estimates provision for things like ensuring phone support is available any time the website is up for accessibility requirements.
That's also why you see some government sites operate on a 9-5 basis
> That's also why you see some government sites operate on a 9-5 basis
I’ve always wondered why this was the case. But surely inconveniencing the majority instead of making it more convenient for the minority is a step in the wrong direction. Whatever. Off topic...
These deals are mostly to help out friends and line pockets. Building something that works doesn’t even matter. Government contracting is one of the biggest scams happening in broad daylight.
I have worked with Deloitte on two projects (on clients' side, I would never willingly work for Deloitte). Generally expect them to do absolute minimum necessary to meet the contract. The code was obfuscated to ensure support contract. The people employed to write it were not interested in the quality in the slightest but were interested a lot in specifics of the contract.
Serious question: why doesn't the government have its own internal software development department at this point? One that's familiar with all the regulatory and bureaoucratic hurdles and the legacy systems, but doesn't have the incentive to grift. For the amount of money they spend on these contracts surely they could afford to pay competitive salaries?
>But for a GS-15, step 10 in Washington, his or her salary should total roughly $185,509 in 2020. But due to the federal pay ceiling, that same GS-15, step 10 in Washington will make the limit of $170,800 this year.
And that's the absolute Max, after you go to the trouble of getting a security clearance, which you just don't need in the private sector.
Even government contracting involves so much red tape, more innovative engineers would probably just rather not do it.
That may be a low salary compared to FAAMNG, but it's quite reasonable for the rest of tech. It's a good bit more than I make with 6 years of experience in Austin, and I currently make almost twice as much as I did when I started.
They don't need industry-leading researchers, they need people who can build a maintainable business systems.
That's the absolute Max though. You need to justify that.
It's infinitely easier to make on 170k happen in the private sector, then as a federal employee. Unless the government wants to create like a special ops tech department which doesn't use the government pay grades, more money can be made in the private sector.
I'm only mid-career or so and I'm already at around 200. But I don't, at least on paper have the qualifications to architect out a whole system. And while we all want to act like we could whip up this entire thing with VueJs in a weekend, pretty sure there's some God forsaken legacy system it needs to hook into.
Since most engineers don't want to work with legacy systems for less than market pay, the engineers who end up working on this stuff tend to not be all that great.
Tell that to the people on this thread trying to justify how 45M is reasonable for a project like this because "software development is just a small part of the process". If a state can use freaking Eventbrite for this, clearly they are wrong.
Also, the core benefits (health insurance, retirement, etc) are better than most companies. Sure, you don't get the perks, but the core stuff is there.
For example, I'd rate access to Blue Cross Blue Shield Federal Employee Program health insurance for you + spouse for life and kids through 26 as worth 2-3k per month, and invaluable if you or a dependent has a serious health condition.
I hear this sort of objection for all sorts of civil-service employment.
TBH, I'm surprised we've never seen a proposal of the form "Federal employee salaries are not subject to income tax."
With a single line of legislation, that makes all federal job offers immediately 10-35% more competitive, without actually increasing salaries directly.
Once you get that as precedent, I could see it being used aggressively as a social tool: "We can't pay a public school teacher more than 60k, but we can pay them 60k tax-free, which is a little more competitive with a 75k private-sector position", for example.
As far as federal employees go, making their salaries tax-free would cost the government lost tax revenue. It would also make a lot of voters angry because they still pay taxes, but "those bureaucrats in Washington DC exempted themselves from taxes." I can see the speeches now.
Approximately 50% of American politicians are anti-government as an ideology, and use the argument of "cutting overpaid government salaries" as a plank in their economic policy, so having well-paid gov't staff is just "waste" in their minds.
As far as teachers go, they are not employed by the federal government. In most states they are county-level employees and the counties obviously do not have authority to dictate federal income tax levels.
It is primarily state employees (police & teachers) that are exempt from social security if they have a different state funded pension plan. Take a look at table 2 and chart 1 of this report from the social security administration[1] for some examples of rates in different states.
>In 2018, one-quarter of state and local government employees—approximately 6.5 million workers—were not covered by Social Security on their current job
I find this offensive because one of the main functions of SS is to subsidize the retirement of low earners at the expense of higher earners. As a private citizen, I don't get to opt out of this social obligation just because my 401k gets a better return.
Not only that, but as a tax payer, I will be on the hook for bailing out the public employee pension funds when they go belly up.
As someone with a degree in software "engineering" and more than a decade of experience in the industry I'd gladly take a stable government job creating or maintaining important applications that help the government provide high quality and necessary services to people. I would take pride in working on such a system as a vaccine administration management platform. Instead those jobs are doled out to contracting firms whose sole purpose is to fleece the government.
Can you imagine how much better it would feel to work on important and needed systems than working on the 100th food delivery app or yet another social media facism incubator?
The public sector has a whole layer of complexity that doesn't exist at all (edit: as much) in the private sector, and I can promise you it frequently does NOT feel good at all.
It is difficult to explain but people tend to use the word "bureaucracy" as a catch-all for several dozen discrete problems that crop up in different combinations depending on what level of govt you're operating.
Typical examples might be :
-a developer not having the authority to work on a system
-a developer being ordered to work on a system, but not being given permissions to the necessary tools (even if they're available), or they may prohibit certain common-sense tools, or they may force you to use certain tools.
-a developer being ordered to work on a system where the design is severely irrational, maybe impossible, and but he or she has no authority within the hierarchy to push back on requirements
-a developer being ordered to work on a system that some powerful person wants to see fail
Imagine the "client from hell" that many of us have dealt with before, who doesn't know what they want. Now imagine that person is like 3 levels higher than you, calling the shots, and you're not even allowed to speak to them, much less push back against their crazy expectations.
There are government contractors who are doing this kind of work! There's a group of younger companies that grew up around the Healthcare.gov rescue and work in conjunction with USDS, trying to build cultures of better software development practices in government. Check out the companies in the Digital Services Coalition (https://digitalservicescoalition.org/) and you'll see a lot of companies doing the kind of work you talk about.
I work for Ad Hoc (one of these companies) on software projects at the VA, and I'm happy to chat with anyone who's interested to hear more about this kind of work. I left a cushy Google job to work on important and needed systems, and it does feel so much better!
But why does it have to go through a contractor system at all? Why can't they keep developers on staff, who among other things can retain institutional knowledge?
One weird thing we've discovered working on VA.gov for the last five years is that we on the contractor side actually have retained a lot more institutional knowledge than the VA has. It's a problem! We think that knowledge should be on the government side, but the structure isn't there yet: USDS and 18F have rotational term limits that keep people moving through, and at the VA (not sure about other agencies) they're just in the last couple years building out an organization to do that long-term product ownership and institutional knowledge retention, even if implementation teams come through. It's moving in the right direction but it's slow, large-organization change, with a lot of extra slowness that's unique to government.
This would mean having elected officials, top-level managers, who knew what software development was, and prioritized those capabilities over extended periods of time.
The top 2-5 layers of management tend to be the types who want solutions, and they don't care how it works, and they don't really want to be bothered with the details.
To the extent they expend thought at all on systems, they tend to be focused primarily on questions like, "why is all this stuff so confusing?" "who do I blame when this thing goes wrong?"
Where I work, they go through cycles; a higher-up will say "Hey let's build a staff of in-house developers." And they'll do that for 2 or 3 years, until someone reads an article in CIO magazine about how outsourcing is superior. Then they'll start unfairly purging and firing developers, writing code is now "bad", configuration is "Good." This goes on for several years, until the cycle starts over. So as a developer, after you survive your first purge, you begin to see that invisibility is the only way to survive.
If you are interested in doing software development for the government, please browse USAjobs.gov or the careers section of any government department/agency you are interested in. It's a pain in the ass to apply and the government will take months to respond to your applications, but if you're highly qualified you will get a call.
As others have mentioned already, 18F and USDS are in this space. They do some work, but their scope and manpower is limited, and they try to multiply their impact through contracting. Part of that is helping federal agencies write better contracts to be able to source the kind of contractors they want --- ones who think in terms of product development, user research ("build with, not for"), and are using modern software development practices. Bringing in contractors helps them multiply their impact, especially with how difficult hiring people into government is. (and a lot of people in tech simply didn't want to work directly under the Trump administration, which --- as liberal as the tech field tends to lean, seems to be a factor on hiring at 18F and USDS).
I work at one of the contractors in the space (Ad Hoc [1]) and get to work with people from USDS every day. Like others have commented here, the government salary ranges are a problem for them to hire enough. Our last COO had been an administrator at OPM, and would say things like "on the government side, I couldn't ever hire the kinds of software developers that we're able to here on the contractor side."
Nothing against your company, but when smaller companies get good long term contracts, they get bought up by larger companies and the good people leave and start new smaller companies.
I'm reminded of a guy that used to go on Leo Laporte's podcast and had a program or joined a program where Silicon Valley tech people join government entities to make their tech and websites better. I'm sure they took massive paycuts to do this but they felt it was their duty, like military service. This guy and others like him are true heroes and patriots to me.
I too worked with Deloitte. The goal was to get the project signed-off on as quickly as possible because once that is done they get to bill time for maintenance/bugs. QA did not exists.
throwaway for obvious reasons. I've worked with Deloitte, PwC, KPMG, and other big consultancies for a diverse range of reasons (regulation audits, security reviews, staff augmentations, etc.) and the value you get for the money you're paying is pretty insane. I'd say the value you're getting is probably 20% of the price you're paying, and I'm being optimistic. You can get good value if you know the people you're hiring, if you scope your project well, and if you have clear expectations. But let me tell you, nobody knows how to do this, unless they've been on the other side.
Now, you don't always have a choice, the expertise is sometimes there, or you need one of the big four to do a prior audit before a real audit from another big four. But be prepared to have a team of OK people who will spend a lot of time producing slides and organize unproductive meetings with lots of other people (including yours) to give out a false sense of "we're making progress here". You'll have to do the PM'ing and be extremely strict with what you want from them, and you'll have to be ready to collaborate heavily. What I mean by this is: don't wait for them to ask questions, you'll have to do most of the work of onboarding them, almost like they're your coworker except that they don't have connections with the folks they need to work with, they don't have access to internal stuff, they don't know how to get there.
Sounds like one should split the system into small parts, order each one as a separate contract and basically micromanage the contractor into delivering the actual thing.
The people doing the development were likely not developers. A particularly common path is studying a random subject at university, doing a law conversion course, failing to get a pupillage or a position with a commercial solicitors, and going to Deloitte as a trainee consultant.
There, they put you through a six week course in which you become a developer, and you’re then hired out for £800 a day as a technical expert.
Source: literally half the people I went to university with.
Fond memories of sitting at the kitchen table and trying to coach my flat mate through unfucking the air ground traffic control system that they were writing for BAA in VB5, in 2005. No idea if it ever went into production.
I worked on huge projects in telco where big consultancies where a common thing. We had a joke about Accenture and their tactics. Upon being questioned about the quality of the software they delivered they would reply:
"There was no requirement that the whole thing should work. We can put in a change request and bill separately".
Also - the "no one has ever been fired for hiring IBM" syndrome among the higher management.
That brings back memories of php obfuscator. What a strange world that was. I think there was even a deobfuscator that tried to rename the variables sensibly, or something.
Well, you can make simple functionalities so baroque that you will not be able to work with them without some kind of notes. It is not easy to define in contract what is sane code.
But that just sounds like regular big company codebases. I see no difference.
At Scottrade, I was horrified to find a 5k or 10k line Date C++ class. They'd copy paste functions to handle each leap year individually. The function names themselves contained the specific year.
They also yelled at me for downloading the source code to `touch`.
It was nice to get to see the crazy side of software. Everyone was deadpan serious about it too.
Nope! They solved it the opposite way. Their bug tracking system consisted of individual customers who called up to report bugs. I.e. Joe Blow would call up and say "Hey, I'm supposed to see 231 shares, but I only see 219 shares."
That would result in a bug report. The bug report was that Joe Blow saw that outcome. In other words, the bug report didn't contain anything about the code itself.
They had an entire division of support people whose job was to track these bugs, and to fix them.
In order to fix the bug, they would manually edit the database, or do whatever was necessary to make sure Joe Blow saw the right value again. But they never changed the code; they weren't programmers.
Once Joe Blow was happy, they closed the bug report as "fixed."
Therefore, no tests were ever required.
It was ... impressive? I think? I couldn't mentally process what I was seeing at the time. But "impressive" is probably the right word. After all, the system worked.
I always wondered that! I assume they had a "ground truth" financial order book somewhere (which presumably was held to much higher standards of correctness) and that the support staff manually verified their balance.
But ... that logic doesn't work if you chase down the implications. And sadly I was both too shocked and too young to press my coworker for details. (He was a cool older fellow who seemed as amused with the craziness.)
Eventually I became a pentester at Matasano. During my one-year stint, I was parachuted into around 70 codebases. I got to see first-hand that Scottrade wasn't an outlier; they were the average. Most companies have similar WTFs, and the codebases are just as onerous.
The world is held together with duct-tape. That's why pentesting is so crucial.
In Austria (at least in the province I am living in) the provincial government does have its own software development departmant. I am currently working with them (for free :)) on a software project of theirs for a class.
I have only worked directly with an external consultancy company once, and the problem (the way I see it) is that the incentives are mis-aligned.
A good internal developer will notice that requirements are missing, or could be improved, and has the incentive to bring it up with the project manager and get it fixed.
That incentive does not necessarily exist for a consultancy developer, because as you say that means their employer loses money.
My conclusion: Use consultans for very well defined and testable problems that don’t require too much business-specific domain knowledge.
You're right, we should just expect free work from all developers. Because if you want to be a good developer, you have to meet this imaginary bar made up by other developers who want to show off about how "much extra work we do."
The point is the ask for the 737 Max wasn't a "plane that doesn't work." It was for a plane that does work. That was the deliverable. It wasn't met. That is not doing the bare minimum.
And this situation is different how? The CDC needed a website that works. Deloitte did not deliver a website that works. If it had, it would not have been abandoned, flushing $44M of work down the drain.
You could also apply this weaselly BS to Boeing. Their "ask", if there was one, was to make a plane that customers would buy and that would pass FAA review. Not "a plane that works".
No one's contract just says "make an X that works", even though that's what everyone wants. Because an X that works is hard to define. Fundamentally the system depends on honor and trust. Which is why we despise losers that just try to get paid and fuck the customer.
No good engineer I've worked with only did the bare minimum. Usually it was 2x or 3x beyond that e.g. thinking about the customer, understanding the right technologies, designing for scale, etc.
The bare minimum is the deliverable. If it's "a working website that does X, Y, Z" and they deliver that, what is the problem? That's what was asked for.
> thinking about the customer, understanding the right technologies, designing for scale, etc.
If they were asked to design something for a customer then they're fulfilling what is asked - e.g., the bare minimum.
Imagine you are signing a contract with a car shop to add a spoiler to your car.
The car shop spends months of your time obsessing about the dimensions of the spoiler. Then the car is out of service for as much time and you start wondering what they have been doing.
Then the car arrives and there is a bunch of paint missing around the spoiler, the spoiler is completely unpainted an it falls off when you accelerate to 100mph.
So you ask, "WTF?" and they tell you that none of these things were specified in the contract.
That's more or less how it worked.
I have been contracted for a number of projects and I always assume some level of standard that my client would want me to meet.
For example, around 2003 I have been contracted by a publishing house to restore couple of their servers. Their employees made a mess they were not able to get out of, completely mangled Linux distributions, took out drives out of RAID5 and did not know what to do with them, etc. Drives had files with only copies of texts of books they had so it was extremely valuable to them.
So obviously I did what ANY sane person would do:
- I have discussed with responsible employees what exactly happened,
- We went out on a little trip to buy backup drives
- We made backups of every single drive involved in the mess (I keep saying we because I involved the guys in the recovery so they know how it works)
- We put together the drives and they worked
- We fixed OS-es which they mangled
- We tested that everything works
- We have discussed why they need some procedures and especially backup procedures
- I have showed them how to construct couple of these procedures so that they know how to do that.
I didn't have to do all that. I was already being paid handsomely for the recovery and would not suffer (other than lost pay) if I failed recovery. But I also recognize how important this data was for the company and so I took necessary precautions proportional to how important this.
Deloitte is using salesforce for the underlying technology of the system. So almost all of this work is configuration and maybe some customization. We worked with another state that almost selected Deloitte but they bombed the no cost bake off and ultimately chose another vendor which completed 80% of the work during the bake off. This approach lowers risk dramatically and you’re able to set an aggressive and a more accurate launch date.
I hope we see more govts adopting bake-offs for buying IT.
They probably got sold on it being "off the shelf" and just a matter of customization and not coding. But the minute they run into edge cases (of which there are likely hundreds given the nature of the product) they just end up stuck.
"COTS software" (commercial off-the-shelf) is the biggest meme in government contracting.
I recall reading a 300+ page PDF RFP for a DMV information management system. The state wanted to convert their legacy VB5(!) system to a modern solution and preferred a COTS solution. I am fairly certain there are no COTS software solutions for a statewide DMV that also meets the legislative requirements of the state.
One of the vendors I had the "pleasure" of working for re-implemented Salesforces' approval system in APEX due to an obscenely minor requirement that should have been pushed back on.
It's completely believable that Deloitte might have built a handful of boondoggles like that and dressed it up as a "Salesforce" project.
Having seen Federal Govt contracting it’s easy to see how this works. And it’s a 2 way street of dysfunction:
- Many fed agencies have little tech savvy or ability to evaluate solutions
- Feds can have complex, mandated processes for software procurement, development and deployment that must be followed. This drives up the cost and limits the companies that choose to bid.
- There’s not much of a “get sh*t done” attitude. There’s little consequence for the individuals that managed a failure on both sides. Usually “oh well, another day at the office!” is the norm for many federal agencies/contractors.
- buzzword chasing tech ignorant administrators that consulting firms readily take advantage of - “yes! But does it have machine learning!?”
- there’s many fiefs at these agencies that must be navigated: “Oh! Wow - you spent 6 months building and it’s time to deploy? The security team really hates CYZ tech and we’ll have to escalate this to the director”
- so many g-d stakeholder to please and woo: from managers to administrators to political appointees and congresspeople. The relationship cost can be staggering.
These stereotypes aren’t always the case - some govt groups can actually execute really well. But many of these points dominate sadly.
>Wow - you spent 6 months building and it’s time to deploy? The security team really hates CYZ tech and we’ll have to escalate this to the director
This right here! The "cyber" folks always throw a wrench in the works at the last moment. They rule by FUD and also have literally ZERO idea how stuff works. There's an old saying about teaching, but these days, and especially in government contracting, it applies to "cybersecurity."
"Those who can, do. Those who can't go into security."
I'm sure if you actually looked at their full track record, the vast vast majority of projects probably result in "mediocre but workable" systems, you just don't hear about them because that's a boring headline. Deloitte is a $40 billion company, it's not like every single one of their projects is a complete failure.
I've worked with many database technologies and many data professionals. I don't recall any instances offhand of technical critiques of Oracle. Pricing and business practices are a different story. Oracle the database is fantastic technology.
In my opinion, pricing is a part of the product. If one company can produce a banana for $1, and another company requires $1,000 to produce a banana, that second company is an outright failure. The banana still tastes great.
When Oracle was born, there weren't many alternatives for a high-performance and production-ready RDBMS. For a long time, Oracle was technically superior to most/all other options. That is less true now.
On the other side, if you get $10,000 of value from a banana, both vendors are viable options. If there is any reason at all preventing you from adopting the $1 banana, you're still better off buying the $1,000 banana than you are scorning it for its price.
Usually government agencies write the contracts in a way that prevents other parties from bidding to streamline the procurement process.
Now what I don't understand, is why wasn't the contract written so the state could refuse broken software, or to get a partial refund if it's doesn't meet the specifications.
Someone got wined and dined pretty well. And government needs better lawyers when dealing with private contractors.
In my limited experience and anecdata, governments have been so trigger happy in getting rid of and/or marginalizing technical staff that there are few qualified individuals in the procurement office who can properly draft RFPs and evaluate proposals to keep bidders accountable. What you're left with is mostly (M)BAs and admin types who can hammer out high-level Word docs of specs but not much else. In that environment, it's not surprising that Deloitte, McKessen, IBM and co (or as I like to call them, the Procurement Vampires) can lowball and BS themselves into these projects. If you don't know anything, better the devil you know, right ?
"because configuration of the VAMS application is occurring using Deloitte’s propriety GovConnect platform. Therefore, no other contractor has rights or access to leverage the system to carry out O&M activities"
I think that usually comes down to the contract being so specifically tailored for a company that they're the only one who could possibly bid and meet the specs for it.
Which is horseshit (though we know that). I know of another, far smaller, leaner consulting firm that has handled for at least half a dozen states a contact tracing ecosystem tying into DOH, and utilizing the mobile APIs.
This kind of looting is common place and is built into the federal contracting situation. After this 48 million or so they will get more to ix the bugs and maintain it. The maintenance is the most lucrative aspect of the contract.
Unfortunately this corrupt behavior is deeply rooted and condoned and expected and there doesn't seem to be much motivation to come up with a solution.
Wonder why the government doesn't just staff up a tech wing themselves instead of outsourcing. There is so much to do and its much more efficient to just create an tech department that serves all branches of government.
But then that tech department would become government itself, and would that be better?
Maybe, maybe not.
Though rare, there _are_ private success stories, such as healthcare.gov 2.0 [1] and Palantir, though the latter gets in hot water for some tangential reasons. But maybe figure out how these happened, and scale that.
I’ve done a lot of work for multiple national governments on multiple projects. There are two facts that can be true at the same time:
- The government often grotesquely overpays for mediocre product delivered by vendors without holding them accountable in a meaningful way
- The government process drives up costs to an insane level independent of implementor good faith efforts and strongly selects for companies good at the process rather than execution
These are two different problems, and both of them manifest with any large contract. I would make the observation that it is easier to hide mediocre product and execution when you can hide behind a grotesquely inefficient and mediocre government process.
What transpired here should never happen. But I know why and how it happened.
IBM was always good at understanding these "government processes", while Apple always struggled with them... and kept up with what they understand very good: consumer buying/selection processes... :-)
Deloitte is well known among devs in my country for the poor working conditions of their employees (including unpaid overtime and low pay) and the overpriced contracts they sign with public bodies. They do things like charging €2M to build a broken CRUD app written by devs fresh out of uni. They then follow up with a "maintenance contract" that consists of not doing much to fix it at all, and replacing the people who are not fresh out of uni anymore with cheaper devs.
Incompetence is a source of extreme inefficiency in modern society. People making decisions don't understand the things they're deciding. This is broken. And there's nobody sane in a position where they can say "STOP, this is dumb" and demote people to the level of their competence or fire them.
A harmless example is movie / tv show plots not making sense - there's nobody willing to call out bullshit like obvious plot holes. This is how GoT went from a masterpiece of scheming characters driven by their motivation, making decisions based on information they had and dealing with the consequences to "she kinda forgot".
A dangerous example is the government being full of people who are too incompetent, stupid or useless to get a real job. Sometimes the number of them in the system is so large that competent people can't get anything done to fix things.
We need to do something to fix this. Positions of decision making power should require an IQ and/or knowledge test.
I agree with your point but i would also want to point out this has been a problem since the dawn of man. Governments and organizations have been plagued by unending bureucracy and corruption that grows worse the longer it has been in existence. Humans have a tendency to protect their belongings or ego more than altruistically help others so it makes sense.
Democracy has, as a general idea, been a way to solve this problem by creating a counterbalance that should prevent important decisionmakers from being overly selfish and at least show they are being effective and altruistic. But that system isnt really applicable for smale scale power dynamics. Unless efficiency, or in some cases having just common sense, is not monitored by anyone aka. there are no consequences for making poor decisions sooner or later no one will pay attention and they will be doing whatever they _think_ is best (or easiest) but without reality checks.
But how to evaluate performance when dealing with abstract things? At least in the case of GoT the ratings did deteriorate so one could point out a problem in the system (albeit way too late, IMO s6 was when it should have been fixed). In other cases no one can see the damage they are doing (especially if they have never been really doing anything) so how to even tell it needs to be fixed? I think best cure to this problem is a great culture where being efficient is praised and rewarded. But changing already terrible culture, well, that's tough...
(Interesting film on this matter is Ikiru by Kurosawa)
The levels of incompetence in government is embarrassing. The government definitely does not attract the best and brightest. However, they control ~30% of the US GDP. I need to make a website that list all the government fails. Looks like http://usagovernmentfails.com/ is available.
OK, so the fundamental problem with health IT is a greater problem in the commercial software industry as a whole. The buyer tends not to be the person who uses the software, and the more bureaucratic/ technocratic the process you use to get to the end user the more likely you are to not meet their needs. Put crudely and inaccurately, the procurement team end up going with the consultants who do a good game of golf.
Add government and a big consulting firm like Deloitte in health IT, and you'll be ready for a world of pain. Here [0] is a good paper on the topic.
Basically, no, it's not just a meme. American managerial culture (or even Anglosphere at large, as alleged there) really does suck. And no amount of crafty mechanism design gets around the fact that least exploitable system seems to be one where the civil service isn't maimed and the work is done in-house.
Basically government should fund some free software for various general purposes (or just do a decent UBI), and then any "consulting" should basically be public sector and free software sector exchanging best practices.
The higher end academic consulting (ARPA) is legit[1] and should still exist, but it shouldn't be defense specific, and like drug bounties basically should exist to smooth over the "research...development...product" gap --- development is severely sort-changed current since outside of DARPA and ARPA-E so much research that doesn't contribute to someone's rent-seeking agenda just lies wasted.
It’s also amazing to me how much a custom skin of Django Admin costs.
Has there been any research into what needs to happen to align government administrators incentives with the population? So much waste - why isn’t the government forcing Deloitte to fix?
I have no familiarity with government contracts, but as far as I know with Big Tech contracts they’re definitely written to favor the Big Tech company in these types of scenarios. The government should take a page from that playbook.
Cutting taxes to half might force these guys to become more competitive. I don't see any incentives for the government to give up (I'm sure this benefits their friends at these firms) until forced to make hard decisions.
This is not atypical for US government projects. In 2012 I was brought in to “rescue” the UI for a huge multi-contractor system that was supposed to replace an aging legacy system written 40+ years ago.
I worked with the architect tirelessly for almost 3 years, trying to implement various changes but at its core the new system was highly flawed and suffered from various team changes and reboots. The UI/UX “expert” was not a developer and had very little technical background, and was therefore unfamiliar with basic HTML and CSS concepts. For some reason they let end-users dictate style and behavior aspects of the application. For example, the legacy system consisted of green-screen terminals and all the associated keystrokes (think ancient POS systems you still see in some retail stores). The vocal minority of these end-users demanded that we replicate this interface exactly instead of building it from the ground up as a modern best-practices UI using the latest web idioms and paradigms.
It gets worse. At some point someone important said Javascript is evil, and we were to avoid using it as much as possible, despite the application using several embedded and third-party Javascript libraries.
I ended up leaving that project for a slightly less insane one, but the pay was good. Anyway, I heard about a year later that the entire project (a 10-year effort that cost tens of millions of dollars) was abandoned. They continued using their greenscreens but I heard they hired a company to build an interface that reads these screens and presents a modern HTML facade over there screens that operates them kinda like a proxy.
I tend to side with that vocal minority on UI design.
I remember watching my friend who was a manager at a Domino's back in the day place an order for a pizza with their old POS system that was driven by key strokes, and it was ridiculously fast and easy. A pizza was a list of characters that described it.
Fast forward a decade, and I was tapping away at a touch-screen POS system for a smaller pizza chain, and it was woefully slow in comparison for even the most basic pizzas, and more error prone because Anchovies and Artichokes were right beside each other.
If you ever have a user-base where time=money, they will want hotkeys for everything.
> “The health-care software industry is enormous, and it exists largely because it’s privatized, it’s not standardized,” says Stone. “There are a lot of free-market inefficiencies. And the country doesn’t have a public health infrastructure, so there isn’t any real drive to fix it.”
> “You think about the industries that have been transformed by technology—someone said, How do we get a pizza to your house faster? That’s a competitive advantage,” he says. “That has not happened in American health care.”
The pizza industry is not a exactly standardized industry with public infrastructure either... the failure of VAMS (and healthcare.gov before it, and the unemployment systems, etc) shows that single government solution is not a fix for broken procurement and project management.
In my field (ETRM) I’ve worked with Deloitte on a couple of occasions. I have seen this sort of nonsense on more than one occasion.
A specific example that comes to mind was a project a few years back where Deloitte stuck 4 junior consultants along with 5 senior consultants and spent a couple million dollars for 12 months and were unable to produce even one business scenario in the system of choice. They did however produce reams of documents showing how it should work. The software vendor was called back onsite and I happened to be in the right place at the right time. A team of 3 of us ended up doing full implementation in 5 months. That included about 20 scenarios from front to back office along with foreign business.
I have worked with Deloitte type consultant in the past. It was exactly what I was expecting. A couple 20-something dressed up in suits, really good at talking and bullshitting high level visions.
Very little technical knowledge overall. It was a disaster.
Companies like deloitte sees the CDC as a big cow that needs milking. They will never finish the job.
It is like going to the hospital and tell the doctor I have a great insurance. The Doctors will do every possible procedure. It is better to check.
CDC needs to employ developers and do the job internally.
I'm currently also at a federal research institution thats millions of dollars over budget and years behind on a software project, and there is NO PRESSURE on the management because federal grant money printer go brrrr.
If time is money, this is peoples lives. Who holds these people accountable?
Government contractor cynicism is one of the saddest games plaguing the modern world. It literally guarantees the inability of governments to have decent, working technology.
IDK what the structural solution to this is, but it is horrible that Deloitte will walk away from this unscathed. In fact, there doesn't seem to be any financial incentive for them to deliver usable software.
Imagine screwing over a client that does this much business with you.
Hey CDC, I’ll build your website for half that price. By myself. And it will work. Just uh, hit me up haha
It’s insane how far those unfamiliar with software will take the mythical man month. Nonono throwing money and people at your problem is absolutely not guaranteed to solve it better.
My offer is of course a joke, well unless they want to talk specifics and I agree it’s reasonable to take on myself. Or just plain reasonable.
Deloitte's habits of stealing tens of millions of dollars to deliver broken technology to the government are so deeply ingrained they couldn't even stop themselves from taking this critical assignment. People are going to die because of this, there's no way around that.
Not to mention employ the politician's constituents.
I don't know if it's ever been conclusively proven, but it's been alleged for decades that the major defense contractors deliberately structure their big projects into subcontracts that can employ people in as many Congressional districts as possible. There are allegedly people in 300+ districts working on the F-35 program, for example.
Oh absolutely. Boeing "subcontracts" out tons of what they do to as many states as possible. Each state == 2 senators that are worried about "jobs". Turns out in the long run it's cheaper to ship pieces around the country than "lobby" just 2 senators from Washington.
Not surprising to me. It was probably contracted out to multiple subcontractors with heavy top down design and review process. Each module is reviewed but the reviews can not locate the bugs.
Sometimes they hire junior programmers who would have the latest stuff in their resumes but the kids are into copying and pasting stuff from internet not knowing exactly what the code does and they don't have enough experience producing clean and bug free code themselves. Other times the top/down design produces code that lacks elegance and resembles what truck drivers would produce with too many people working on it and no one responsible for the whole thing.
Can anyone actually load the website (https://vams.cdc.gov)?
I get a "too many redirects" error, which is quite a bit worse than "the buttons are poorly placed".
Germany also has its own controversy about corona software. The government wants to standardize on SORMAS, but many local governments don't want to switch.
I expected a dump, but to be honest, SORMAS looks pretty good. It's already in use by Nigeria and Ghana, and it's on Github. It's Java EE with Postgres on Ubuntu, so safe and sane tech choices. They even have a play version: https://sormas.helmholtz-hzi.de/sormas-ui/login that also looks ok. I'm thoroughly impressed.
This case it was a government client, and one could argue there is no singular point of authority/ responsibility that may have caught on to the troubles early on. However I have also it happen in private companies where 350-500$/hr 'consultants't do not provide anything more than code lifted from code samples or community tech forums.
I just experienced something similar with Accenture. They were hired by the state of Bavaria in Germany to build an appointment management system for Covid vaccines. They didn't get it done in time and then it sucked so badly that the doctors didn't want to use it.
They now use my tiny little business's [1] solution instead. I've been on the market since 2014 and they found me through my web site. They called on a Friday "we need the system on Monday". Signed the contract in the evening, set everything up over the weekend, and now they're loving it. Sometimes, I think these big organizations are just so overloaded with bureaucracy and politics that a little guy like me can compete on pure product quality.
I have 2 close friends that work or were working there. One was an application key user in a different company, he was hired as a deployment manager for that app for more than double the pay; I am happy for him, but he knows he is not a manager.
The other one was hired on a position, asked to do something completely different he was not qualified for, the work hours were around 70-80 per week (no overtime paid), zero management implication so he left after a few months. They went in panic mode, offered him double the pay and less work hours, he refused to stay there so they become aggressive.
They use to pay above the market for whatever they can hire, but the chaos inside is making any competent people leave asap, so they pay a lot to retain whatever they can, not the experts. It is just a bubble with nothing than hot air inside.
Any insiders know the technology behind VAMS? I wonder if it is built on their ‘exalink’ platform?
I’m no longer with Deloitte, but I saw that they recently sold off their life sciences department to their only competitor- Model N [1]. The Exalink platform was born out of work being done for the life sciences department. I thought it was an interesting development that Deloitte sold them off since when I was still there it was being peddled as this great in-house cloud-agnostic system that could do whatever you wanted it to do (spoiler: it couldn’t). Anyways, maybe it is completely unrelated?
The problem with Deloitte is that it's massive and organized as a partnership.
A massive company requires several layers of management to be able to organize, and a partnership expects billable hours out of everyone. So you have this massive, sickly, distended torso of middle-management whose only purpose in life is to recieve decrees from on high and push the thumb down on the people doing the actual work. And the only way they keep their jobs is to figure out how to stick their hours on the client's bill.
So you quickly see large numbers of leads, directors, managing directors, managing partners, and partners show up into meetings with 1 or 2 SMEs to make a show of "managing the project", whose only purpose in life is to suck the oxygen out of the room.
And I mean literally suck the oxygen out of a room. The meeting rooms are tiny--cuz real estate isn't billable!--so when you get more people than chairs in a room like that, the CO2 levels literally start to put you to sleep.
I spent a year and a half at Deloitte, building Augmented Reality projects. Every single project I worked, I was only brought in during the last 10% of the project time. The time was always not enough to do a good job. The one project that I cared about--incidentally also the only one that got any traction with any actual clients--got canned during a restructuring from working within Deloitte's "government" division to it's "industry" division. Except we always worked blended across industries and the app was targeted at industry, not gov. To this day, I really think the entire point was to just waste money, and my app getting traction edged too dangerously close to one day having to show efficacy.
I'm now the head of VR (yeah, I never actually wanted to do AR, and didn't even get hired for it, but that's where Deloitte stuck me) at a small company that does foreign language instruction for gov. A year and a half in and we've got an exciting project that has tested well with some limited number of students and is soon deploying company-wide. Barring some natural disaster, I'm extremely happy to never change jobs again.
You can say that about any app though, everything kinda can be boiled down to a spreadsheet lol. This does probably have complex requirements, not saying it’s not egregious but this comment is facetious.
Software is often judged based on these UI/UX nuances, but the complexity of building a competent front-end system remains an undervalued part of the process.
The front-end team is usually (1) brought in too late in the game to provide effective feedback and (2) not given enough time to build.
When there's not front-end representation at early design reviews or at initial discussions on how APIs should work, then it's easy to forget things like form error handling.
Designs don't account for all possible states, services/APIs are in flux, until the very end.
Everything else is late, and then all of it has to get slapped together with duct tape and shipped in a few weeks. Performance and browser support be damned.
If we draw UML diagrams the software will be better, oh wait before we draw the diagrams we can make a project plan and present how long each stage will take and how many resources are needed to draw those diagrams. Ok that comes out to about $44M
It baffles me how bad non-SaaS software tends to be. Software written for non-tech folks. We have a 100 shiny JIRA clones but some niche software for nurses has awful and slow UX.
Everytime I’ve gone to a doctor, they’re using a different kind of software portal. Many claim its an expensive software the hospital bought but doesn’t do what they want so they write things on paper instead.
This is one of my fears as a dev. I have dev problems that I know how to fix but I’m blind to the universe of other problems that I could potentially fix and deliver huge value. I’d really love to learn more about other people’s niche problems that can be solved by software.
If I was to guess the CDC wrote poor specs. Probably never talked at length to a variety of different county health departments to understand their needs. Never had a persona written so they didn't understand the need for IE or that people might be using it on a mobile phone.
Deloitte just coded the spec, cashed their check and walked away. Deloitte probably outsourced development overseas.
I know some smaller government contractors in the D.C area who would have done it for a third as much and done some of the CDC's work for them when they saw that it wasn't done.
No. Big consultancies are hired to - among other things - capture the requirements (simply because many of their clients don't know how to do it properly). But they intentionally do it in a form that lets them over-charge and under-deliver.
Seen it too many times.
25 years ago, websites like this was seen as something of a novelty. They were made just as much as an experiment as something necessary. As a young web developer at that time, I often had to do all the programming, ux design and graphic design myself. There wasn`t any budget for more people. Full stack development wasn`t a thing yet. I still get amazed by how well staffed and funded web development projects have become. Web development has become more complicated too. More animations, accessability and higher security all adds up to making the whole project being more time consuming.
That can be translated into a new corrupt administration is replacing the old corrupt administration and will spend an additional 44 million on a new website built by their own politically connected friends.
I just started reading 'Skin in the Game' by Nassim Taleb. These kind of overpriced consulting contracts, where nobody in particular bears the downside risk of incompetence, fit into his framework well. Hiring Deloitte et al usually amounts to outsourcing responsibility, except the people who do the work also bear little or no long-term responsibility if things go bad. A 3-person startup, on the other hand, suffers from severe downside (at least in a business sense) if they mess something like this up.
A large portion of legacy systems integration can be solved by asking the question “which data must be updated in real-time and which can wait for batch processing?”
Screen scrape data from legacy terminal apps, export into SQL middleware, have the new app interact with the SQL middleware via modern APIs. All legacy data gets batch updated back into legacy systems, all new data gets stored and accessed in middleware. Eventually, the middleware becomes the primary data source and the entity can save on the electric bill.
I am very cynically about large sw development projects.
They are very political, people who do well are "well connected"
The client wants to mitigate the risk so falls into the trap of legal and technology word salad served up by the vendor.
The actual work is often done by junior developers who dont have the experience to spot potential failures or often too scared to point out system flaws.
One could write a book on the failures of these big projects, would make depressing reading though.
Deloitte is a horrible consulting company. They designed an awful financial system implementation at the company I worked at and we just kept giving them more money and they kept bringing in more entry-level consultants. They even billed us multiple times for work we did ourselves... I thought it was also shady that one of our department heads was married to the Deloitte partner who led that practice area.
The classic “Must have caught ten pound trout in Colorado river during August 1984” method.
Deloitte’s name seems to come up a lot when there is a multi-dozen million dollar web site that is falling over. I wonder if it was a former Deloitte person who wrote the Parler backend because it seems to be the same sort of massive footprint that falls over when the wind blows type setup.
Hubble was funded in the 1970s with a proposed launch in 1983, but the project was beset by technical delays, budget problems, and the 1986 Challenger disaster. It was finally launched by Space Shuttle Discovery in 1990, but its main mirror had been ground incorrectly, resulting in spherical aberration that compromised the telescope's capabilities. The optics were corrected to their intended quality by a servicing mission in 1993.
The government really needs to start insourcing its IT. I worked briefly as a contractor, caught a glimpse of how the sausage was made, and left within a month or two. I’ll never do it again. I can’t imagine insourcing producing worse outcomes, and the end result would probably be less costly, even if it was still low quality.
I see this in big companies as well. I work for big pharma and 20-40 web projects are not unheard of. The dysfunction is not one sided. There are way too many people involved from the Big company that make it impossible to move fast allow engineers to do what's right. Instead it quickly turns in the Phinoix Project
Ok government, give Deloitte the contract in a crisis. Pay them a year after they deliver. They are not short of money. Penalise them for not delivering.
Or alternatively spend a few billion making the government more business savy. It will probably save you money.
Then again maybe not. That will be another few billion going to Deloitte.
These big companies always have a lot of overhead. The middle layers of management are useless. Often the government will try to work with smaller companies that are under 50 people. However, if these small companies land good contracts the big companies will buy them up.
Beltway Bandits win again. Literally the worse kind of grift and project paralysis. I worked on government contracts in the 90s, and the process is so full of grifters and people over billing, companies selling software licenses far above market rate with supposed levels of support and reliability that are actually no better, or worse, that I wouldn’t recommend anyone work in that sector.
Oh and all of this talk about 95% of the work being understanding the problem or integrating with legacy government systems, gimme a break. Every time I’ve seen someone purport to integrate with existing government systems it’s always been a buggy disaster and hideous from the user perspective.
This is the same kind of rot that infects a lot of enterprise software. Addiction to hyper complexity, too many layers, too many points of failure.
Just how complicated does a vaccine management system need to be? If you’re adding more and more requirements, it’s not software that’s the problem, it’s the requirements that the vaccine distribution is being made more complicated than it is needs to be.
I think at this point, a random distribution would be more effective than the complicated rollout they’re trying.
this happened to smaller/mid size company as well.
a long time ago i work for a mid size company with a small division that sell specialized software build with Delphi.
its a desktop app. when i got hired by the company, they outsourced it to Capgemini. after 3 years, they still can't get the app convert to .Net. (that's the goal) by the time i got out the company. they changed to another more local company instead of big outsource firm like Capgemini. they still haven't got it all work out and the new company they hired throw away all the code done by Capgemini. the whole project was estimate to be 2 million by Capgemini.
These big contracting companies ganged up in the UK and persuaded the government to change the law so that small independent contractors are no longer competitive (for example they essentially cannot deduct any business costs and have to draw entire contract revenue as salary, that means no funding of other business avenues) and at the current rates such contractors have to pay over 50% in tax, whereas companies like Deloitte not only don't have such costs, they can also hire such contractors as employees without rights. It's a scandal that is going to blow up later this year when the law goes live in April. Similar measures were already introduced in public sector, which caused mass exodus of small firms.
When doing a home remodel and the contractor breaks something they either return the money or fix it. Blame the CDC for not vetting the work and enforcing contracts.
Imho this isn‘t all about the procurement process being broken.
There must be something additinal broken that caused deloitte to fail at delivering this project.
After reading the article, I think it boils down to
a) Poor/lack of understanding of who the actual users are e.g. these are systems that will be used by both the young and old people, especially older people in the early stages since they are the ones at the front of the vaccine line; worst case, the system should have been optimized for them.
b) bullet a then leads to poor requirements e.g. given that most libraries are shut down (lots of elderly people get help with online stuff at community centers/libraries), requirements should have included less rigidity (on errors) or a module that is fun and friendly that walks people through it, system should be designed with 'plain' mobile first in mind, and account for a person being both a patient and an admin, etc
It’s hard to know what actually went wrong without being in the project itself - there’s probably organizational issues within Deloitte and bad incentives around the entire procurement process, but hard to know from the outside just seeing that it’s a disaster.
I thought this line from the article was interesting:
> Online sign-ups are especially challenging for older people, perhaps the worst group to beta-test a new system.
I think I understand the author's intent when saying "worst group", but in this case I can't imagine a better group. They're literally the first people who will need to be using this system! If you beta-test your product with the people who will be able to use it despite all of its flaws, is that really testing?
Anyway yeah, just upset at this comment given that I have family members struggling with all this vaccine appointment software.
Worst in the sense that older people often are unfamiliar with computers at all - perhaps that group should have robust options that don’t come in the form of a web app if many have never even used a computer before.
It's easy to bash poor work by Deloitte (rightfully so), but this reflects decades of poor decisions by the Federal government. The number of Federal employees has remained constant for 30 years so that politicians can claim the Federal government isn't expanding; but the budget has ballooned. The balance all goes to contractors. They need Deloitte because they have lost the capability to do anything themselves.
To make a sweeping generalization which doesn't give enough credit to some amazing groups, the Federal government does not have people who are capable of managing complex IT projects. The government has outsourced so much work that it no longer has personnel who are capable of knowing what is going on. Federal workers are competent in managing contracts, but not actual work. So when you arrive at a new and complex project (like widely distributing a vaccine for an unforeseen global pandemic), they don't know what to do. How do you write that in a contract and enforce it?
That doesn't even begin to get in to the requirements around what it takes to launch a production IT system while meeting government cyber security requirements/processes. A lot of comments here are lamenting how easy this is. Let me set it straight: you cannot launch a random Django/Rails MVP in the government. They don’t operate that way, for reasons good and bad. The fact that Deloitte had something in production in under a year, no matter how buggy, is a minor miracle.
I find myself wondering why much technology is needed. If I were running a mass vaccination campaign, I would approach it like this:
First, I would create extremely fine grained but easy to check eligibility tiers. Going by date of birth would be the most basic solution. At any given time, vaccinations are open to people born on or before a given date. [0]
Then, I would set up real mass vaccination sites. None of this almost-all-vaccines-come-from-big-medical providers nonsense we have in most of California. The CA scheme is fundamentally inequitable -- I got an email from a medical system that told me that they would email me when it was my turn if I had seen a primary care provider in the last three years or had two specialist appointments in the last three years. This fundamentally discriminates against people without adequate insurance who haven't seen a doctor in a major medical system recently.
Mass vaccination sites would be open to anyone with a date of birth <= one threshold on a walk/drive-in basis with no appointment and with a different threshold for appointments. Optionally there would be another threshold for people who want to hang around and see if they can get an extra shot at the end of the day. I would adjust the thresholds as needed to keep occupancy at the level I want it. This requires minimal IT infrastructure.
I would let major clinics administer vaccines with whatever appointment system they want, with some rules. First, the clinics may only vaccinate people who have been eligible at the mass vaccination sites for some amount of time, say two weeks. So if you want your chance first, you go to a mass vaccination site -- clinics are just for convenience. Second, the clinics only get more vaccines when they are administering an adequate amount of the vaccines they have already received.
I would track people who have been vaccinated with a database with no integrity constraints whatsoever. Each site submits a trivial machine readable form with a list of people they have vaccinated. This list gets imported to a database. Dealing with all the inevitable issues is not permitted to block actually giving vaccines. [1]
Finally, everyone who gets their first dose gets a printed (or hand-written!) card with the date of their next vaccine and a reference number that can be used to look up the card in the database. This reference number is (date, site, line at site, sequence number) -- these are supposed to match up with the end-of-day logs, but they require no central coordination. [2]
If you have a card for a second shot, it is valid at any site once it's the right time.
Damnit, this whole scheme could be done entirely without computers, and that's how it should be. It doesn't even need two-way communication -- there could literally be a section of the newspaper saying "if you were born before m/d/y, come to Dodger Stadium or Levi Field or ... and get your vaccine, no appointment needed. If you were born before m2/d2/y2, you may call this number of visit this website to make an appointment." If the whole IT infrastructure goes down, then it will be annoying but everything will continue to work.
[0] There are many possible improvements, but they should be kept simple. For example, people born on or before a given date or people with a doctor's note explaining that they have some risk factor.
[1] Pay some contract development firm to develop a nice app that scans an ID card, does all the data entry, and prints out a receipt. The app has one primary requirement: it does not print a receipt until the server acknowledges receipt of the request and commits the transaction. But make sure that, even if the app fails completely, everyone at the clinic knows how to use a piece of paper and a pen to do the same job. Or a laptop running Excel or LibreOffice -- there is no shortage of laptops around. Or a Google Sheet, etc.
[2] Of course you can cheat, but most people won't. And the logs will mostly reveal the cheaters.
The small problem with your kind of approach is that it would make the army of administrators and contractors like “Deloitte.” quite redundant, and then they’d actually have to do non-Bullshit Jobs!
Nah, they can just do nothing at all or bid on other unrelated contracts.
Sometimes people get so caught up with new technology that they forgot about old technology, and technology predates computers. Believe it or not, it wasn’t that long ago that you could go to stores, buy things, eat at restaurants, and even fill up your fuel tank without directly interacting with any form of computer. Heck, it hasn’t been that long since you could fly on Southwest Airlines with little reusable plastic boarding passes that the agents would hang out in exchange for a paper ticket. These systems were imperfect, but they worked and were extremely reliable.
The worst part of all of this is that the CDC didn't already have this type of tool in place, years ago, before a pandemic even hit. This is the type of basic thing they should have already in place without any new spending.
It doesn't even need to sit around unused. They should be using it every year for flu shot distribution or coordinating other types of vaccines which are normally in abundant supply.
I made about a dozen websites in the late 90s and early aughts... most I ever made at it was 50k/y. OTOH, they worked and continued to work long past my involvement. Maybe it's a fair price for a shoddy website?
With these projects, there are Veblen effects. No-one wants the $50k/year consultant who quietly cranks out good work...they want the $300k/year consultants whose work may or may not be good but they can spin, make things easy with your boss, etc.
...stuff like this drives me mad. You see it everywhere. I worked in financial services, and (on my weaker days) it was enraging to see someone pay three or four times the price to get a product that was not only bad, it was literally worthless...life is weird.
Modern websites are designed to blow up as soon as there isn't an active development team anymore. The docker image needs to be rebuilt from source, the cloud APIs get deprecated, etc.
Yes, that's a good way to put it. I've been campaigning against this trend for a while in any project I'm involved in [https://jeffhuang.com/designed_to_last/]. The toolchain is simply bloated, and pieces brittle. Many of the projects out there would not last past an OS upgrade.
Maybe it's me, but I was quite happy with my VAMS experience. CDC notified me by email that I was eligible. My data was pre-populated. Signed up for an appointment quickly and got messages reminding me of appointment.
Considering that this came out of nowhere, I was impressed how quickly and easily I got a vaccine. Big thanks to the Army who ran the vaccination site.
“Govconnect powered by Salesforce”. How many licenses did the Federal government buy from Salesforce either through lipstick on a pig resellers like Deloitte or directly. You scratch my back, I will scratch yours.
Why is Deloitte getting all the blame here? Why is the government not responsible for this fiasco? They know very well what Deloitte is and what their track record is.
Because it’s less than a month since people stormed the US capital, literally erecting a guillotine and literally calling for politicians they disliked to be hanged. How is this hard for you to understand?
If you want to speak figuratively, then maybe don’t do it using exactly the same speech that other people are demonstrably using and acting upon literally.
EDIT: “gallows”. I meant “gallows”, not “guillotine”. That’s an embarrassing mistake which will now live in my comment history forever!
It's okay, the gallows was obviously fake as well. Loving the political downvotes btw, does this gallows, made with 2x4's, look like it would hold a body?
It being probably ineffective is not proof that it's fake. In fact, given who we're talking about I'd say that more or less proves that it was intended for use.
The government isn't a person. Its lot of people. And presumably the government people involved in this case assumed Deloitte (a well known, large consulting company) was trustworthy and capable.
No doubt the Deloitte sales reps had much more experience swindling clients than the government managers had experience covering themselves against dodgy software agencies.
Yep, that's the problem with congress and parliamentary systems. They divide guilt over hundreds of people, so that citizens cannot plausibly vote anyone out.
How naive and stupid are these government people? They've been swindled like this multiple times before, it was on the national news with the Obamacare website.
They're supposed to be the best we have. They won a vote after all.
Can’t make this stuff up.
https://beta.sam.gov/opp/2f5fc512fdde4e22860832337aac420f/vi...