4 ms·
I'm a former tech consulting manager at one of the B4 and my experience is that the types of multi-million dollar software projects that they get involved in ar
by txcwpalpha 6y ago
I'm a former tech consulting manager at one of the B4 and my experience is that the types of multi-million dollar software projects that they get involved in are lose-lose situations from the start. They are always high-profile, huge projects that a ton of executives, salespeople, etc all have their hands in, and everyone is fully aware that the delivered product is going to be a steaming bureacratic pile of shit with a never-ending list of feature requests and bugs, no matter who they hire. Then they hire Deloitte/IBM/Accenture because Deloitte/IBM/Accenture are so big that they are the only companies that will knowingly take on a losing project as long as they get paid handsomely for it.
And if the project is gonna be a loser anyway, why would you waste your best people on it instead of the C-stringers from your offshored development center? At my B4, the major multi-million dollar government projects like that were basically the company graveyard where you were staffed when literally no other project would take you.
For the actually successful and typically much smaller software projects, we actually had a subsidiary company with a much better reputation that would handle the design and development instead of our offshore dev centers.
- cpeterso 6y agoWhat is the solution? How can these huge systems be developed economically and correctly? These government agencies don't have the technical experience to hire and manage their own software developers and, from what people say, the big consulting firms don't either and/or they don't care. But a smaller firm that might be able to deliver a working solution would be seen as "too risky" to be awarded a big government contract when compared to a large, well-known consulting firm.
- loopz 6y agoStart small and build on Actual success. Keep it inhouse.
- oneplane 6y agoThe solution is that we stop pretending that large projects are a good idea, that technology for the connected world is set-and-forget and having a ton of layers of people is a good idea. Because none of those things help.
- golemiprague 6y agoIf they got 100 million or sometimes a billion to pay consultants they also got one or two million to pay for some senior developers to work there for a year or two and to be the interface dealing with the consulting company. If I had to do such a project I would hire first a small team of 3 developers or so and task them to try to develop the system by themselves, as huge as it might be. The point will be not to come up with a product but rather with in house understanding of what is needed to develop such a system, what are the difficulties, the various requirements, the risks, everything. After a year or two of doing that you will usually find that you probably don't need half of what you thought you need, other 25% are already built and working and the rest you can outsource but with much better understanding of what you need and how to specify it so some accenture will not be able to screw you over.
- earthboundkid 6y agoWhy does the government not have more than a handful of people at 18F? Do they think computers are a fad that will go away? Government should be staffed to accomplish its mission, and the mission requires software. 18F should have tens of thousands of permanent employees.
- omnivore 6y agoThe problem is Deloitte is in the pockets of Congress and won't ever allow this to happen. In fact, they've made it worse.
- nitwit005 6y agoOften the fix is not to build a huge project. For some of these failures they're trying to migrate from a paper system to something as automated as possible in a single step. Incremental improvements are almost always possible. People have set up websites to submit paperwork where the forms just send an email or trigger a print job when submitted. It's an improvement over mail and faxes.
- deleted 6y ago[deleted]
- wiseleo 6y agoModel the system as objects without writing code. Get the methods and properties accepted without writing code. Write a suite of tests for the model. Implement code. That’s how complex systems don’t have to feel like monoliths.