I introduce to you, the "Mythical Man Month."
Tell me if the way "Barry's Magic Healthcare Website That's Just Like Kayak or Amazon" was assembled by the "best and the brightest" (and of course now, massaged into perfection by a "surge" of programmers and "alpha teams") sounds like it hit the mark on ANY of these key points regarding massive software projects.
The Mythical Man-Month: Assigning more programmers to a project running behind schedule, may make it even more late.
The Second-System Effect: The second system an engineer designs is the most bloated system she will EVER design.
Conceptual Integrity: To retain conceptual integrity and thereby user-friendliness, a system must have a single architect (or a small system architecture team), completely separate from the implementation team.
The Manual: The chief architect should produce detailed written specifications for the system in the form of the manual, which leaves no ambiguities about any part of the system and completely specifies the external spcifications of the system i.e. what the user sees.
Pilot Plant: When designing a new kind of system, a team should factor in the fact that they will have to throw away the first system that is built since this first system will teach them how to build the system. The system will then be completely redesigned using the newly acquired insights during building of the first system. This second system will be smarter and should be the one delivered to the customer.
Formal Documents: Every project manager must create a roadmap in the form of formal documents which specifies milestones precisely and things like who is going to do what and when and at what cost.
Communication: In order to avoid disaster, all the teams working on a project, such as the architecture and implementation teams, should stay in contact with each other in as many ways as possible and not guess or assume anything about the other. Ask whenever there's a doubt. NEVER assume anything.
Code Freeze and System Versioning: No customer ever fully knows what she wants from the system she wants you to build. As the system begins to come to life, and the customer interacts with it, he understands more and more what he really wants from the system and consequently asks for changes. These changes should of course be accomodated but only upto a certain date, after which the code is frozen. All requests for more changes will have to wait until the NEXT version of the system. If you keep making changes to the system endlessly, it may NEVER get finished.
Specialized Tools: Every team should have a designated tool maker who makes tools for the entire team, instead of all individuals developing and using their private tools that no one else understands.It's like every single thing smart programmers say you should NEVER do on a big project: OBAMA AND HIS MINIONS DID ANYWAY!
Of course, Nancy Pelosi says "just fix it."
And the "Glitch Queen" Herself lectured that many American's "don't know how to budget for health insurance." THIS, coming from someone whose president and party has ... wait for it... wait.... FAILED TO PASS A BUDGET FOR 5 YEARS RUNNING!
For an administration that has been flat out burying our nation in debt.
But that's okay. We don't need no stinkin' budgets.... right?
“The fact is that you don’t need a budget,” Rep. Steny Hoyer (D-Md.) said last year. “We can adopt appropriation bills and we can adopt authorization policies without a budget.”
Strike up the band and pour the brandy. Might as well enjoy the crisp starry night for as long as we can.