The problem with the government trying to do something is that anyone who's really really qualified will find the paperwork, compliance, and bidding procedures way too complicated for the sums of money involved.
The Android app cost 106k btw. So looking at this guys hourly rate, it would take approximately 6 months of 40 hour weeks for him to cost that much to do the app.
So if he:
Learned out to submit the forms that got him into the bidding
Made changes to his company required to make it seem a valid bid target
Filed the correct forms to put in his bid
Factored in correctly the amount of oversight and travel that would be required to get even a simple app done according to the whims of the people hired to get it made
Used server technologies compliant with government desires, including ones he may never really willingly touch with a 10 foot pole
Then MAYBE, just MAYBE, he'd be able to go as low as say, 60k or so. And that's for a small indie dev. Now look at a bigger company doing this app (as the government likes support, unlike a single freelancer can necessarily provide), and you easily hit the 106k range.
Does it not work well? Sounds like it works like crap. But complicated crap still can be expensive to make.
Maybe they should have created a competition for finished apps instead. If the app is as simple as it sounds (not sure what it actually does), maybe some high school kids would have entered a better version and raked in 5000$ as the first price.
What test would they use to check whether an app is simple or not? At a certain point, you put out a bid for a complicated monstrocity, and the only entrant is some RentACoder who claims he can re-write Windows in Python in two weeks for $50.
Sure it would. If OSHA wants a new operating system, putting out an open call for a deliverable would be retarded. Absolutely nobody would be able to deliver such a thing on spec, and those that would be willing would be obvious scam artists.
At best, it would cost someone a few weeks of time evaluating these bullshit submissions and realizing that they're a waste of time. At worst, they would be accepted, another $100k would be paid out, and we'd be worse off than when we began.
You seem to be arguing this as if this is reality. What you are stating is the justification. Its the theater. The story. The reality is that there are two ways to get people to give you money.
1. Make something people want.
2. Bribe people in government to give you enough money to cover cost of said bribe, plus handsome profit, plus possibly actually making something, and then have the government force those people to pay through taxes.
I dare say that what you describe may even have been the original idea, but the facts of (2) are unarguable. Sometimes (for really big ticket items) the government official has to wait until they leave government to get the paycheck, but claim it they do.
I am stating what government contracting is like. I don't quite get the psudolibertarian point of your post, but I know personally that as I worked for a Georgia state agency doing federal contracting, nothing even CLOSE to a bribe was used anywhere. We couldn't even buy them lunch.
If you jump through a series of hoops and bid low enough, you WILL get government contracts. They're just expensive hoops.
In the government agency where I work, $200k would actually be considered very reasonable for a steaming pile of shit. We've paid many times that amount and sometimes the shit wasn't even lukewarm, let alone steaming. Believe it or not, we often spend $150 to $200k or more just to make the decision about whether or not we're going to invest in a particular pile of shit.
A lot of government agencies, as well as groups within large companies, want to keep their budgets (or increase them), so there isn't an incentive to be cost effective -- as you mentioned.
But, as another person commented, the overhead around government projects (documentation, reports, meetings, etc) will bloat things beyond a simple time/materials development contract.
The FBO has a site listing the contacts, but there are actually some pretty interesting projects that pop up to be bid upon. Only downside for someone new to the process (or a small shop) is that the big boys (SAIC, etc) have this part pretty streamlined as well as sometimes having in's with the agency requesting the proposal.
Yeah the same happens within any large organization - universities are one example I am familiar with. If you get a large grant from NIH or NSF or whoever, you don't have any incentive to minimize expenses because you don't benefit in any way from spending less than your budget.
So typically people will order the most expensive things that can fit within the budget or even buy stuff they don't need just to spend all the money.
This does strike me as often wasteful but I don't see an easy fix.
I'm curious if this really surprises anyone here that the entire process for the government purchasing three mobile applications (Android, iOS, and BB) was ~200k. This seems pretty ordinary/normal to me.
Yes. Doing business with the Government means you have to spend endless hours in meetings and produce endless piles of paperwork. In small projects such as this one, overhead is probably around 90% of total cost.
Incidentally, that's why auctioning small pieces of a larger project independently is probably not a good idea. Costs could in fact skyrocket: each part would have its own contract, negotiation process, meetings, forms, etc.
Precisely, I wouldn't try to get involved in a government contract for less then $100k, even if the final result was to produce a single document, because you're going to spend so much of your budget just navigating the waters.
In the governments defense, I think big corporations routinely overpay for web development and marketing expenses.
Aanecdotally, a girl I know who works for a pharmaceutical company said they spent $60,000 on a three page web site.
Then I sit in Starbucks and listen to some freelancer get reamed for charging $1,000 to build and manage some guy's website. One would think that the price discrepancies for the same product among different buyers would not be so extreme in a capitalist marketplace.
Actually, me and a team of two other developers recently applied for a government contract for the NIST that would have had us fixing a bug in OpenSceneGraph that was causing it to perform worse when more graphics cards were added.
Due to what they were asking for and the amount of time we thought it would take to accomplish it and provide the documentation they were asking for, we bid in at $60,000. We did not get the bid. I believe it was given to a university in Florida (damn grad students!) for a bid of $42,000.
In regards to the Android app in question, I think they just didn't have enough bidders. It's also possible they bogged them down in paperwork and status reports / updates (tends to happen with government contracts) which drove up the cost. I am a bit bothered that the bidding system does not favor companies based in the US that are not owned by foreign companies.
I have worked for one of these "green energy"/"smart grid" companies. My conclusion about that company (after about six months of working there) was that its core competency wasn't writing software. The software was a shoddy pile of half-working crap written in a proprietary programming language made by another company that didn't exist any more. No, their core competency was 1) navigating government bureaucracy and 2) filling out government forms. These two competencies ensured that there was never a need to actually produce good software because few competitors would have the time and contacts to even bid on the contract, much less secure it and write good software.
Fine. "6 hours maximum", says the author, for an app translated into English and Spanish that interfaces with a remote database and performs some user-initiated calculations, and also has a bunch of static pages. Before starting you must consult with at least a dozen people who know very little about Android and succinctly describe the capabilities of the smartphone and what sorts of applications are even possible. Finally you must provide documentation.
Ready? Go! Keep track of your hours...
I installed the app. It works fine. Responsive, fast, no problems. I have two minor quibbles with the design, but they are minor. Does what it says on the box. Not an exciting piece of software, but... Has even one person commenting on this thread installed it except me? No? Didn't think so. "It's a piece of crap" says a highly self-interested blogger, and Hacker News jumps on that like starving dogs on Alpo.
I was actually just going to mention this. With all of the in-bundle resource differences required for two iPhone resolutions, different .xibs for iPad, etc, we're talking about much more than 6 hours worth of work here.
The source code (for iOS, at least) is also pretty clean and decently commented for what it is.
$96k is still outrageous, but for work-for-hire it's off by a factor of 2-5 rather than a factor of 10.
Nevertheless, it's crap. The quality of the constructed software is irrelevant because the feature set is a no-op. It's a graphical front end for a NOAA web service that returns temperature and humidity. If the public isn't living and breathing the content of that NOAA web service, maybe it's because there's no graphical tool to access it, but maybe it's because they have 50,000 other ways to determine temperature and humidity at their current location. Like, say, existing in a conscious state at their current location.
> but for work-for-hire it's off by a factor of 2-5 rather than a factor of 10.
I know with my work, when we're doing construction contracts with the municipal governments we charge at least double and we're the most expensive in the area to begin with (we have guys who've been employed for 20+ years, rather than guys who've been employed for the last 9 months). So I'd say it's probably on-target for a government contract.
> Like, say, existing in a conscious state at their current location.
Or perhaps the free app that comes as standard on an iPhone is why people aren't using the NOAA web service.
Although I know I prefer the Weather Office info here in Canada as it's more accurate and local than The Weather Network, which is paid for. It just doesn't have as many gimmicks, but then they don't whore you for adverts by being inaccurate enough to keep you checking back.
I'll add here too - there's a _lot_ of other work besides the actual coding that goes into getting a piece of software sold to a customer like a government department or big corporation. Even if the "6 hour" estimate for development time is within half an order of magnitude of being correct, there's a great deal of work needed to be done both before and after that to make the sale work.
How do you know what code to write in those 6 hours? How did you even know there was an opportunity? What are the requirements? Is there a spec? How is the customer assured you are capable of delivering what they need? Does the customer even know what they need? Is what they _think_ they need even possible? How will you prove you've delivered what they asked for? Is there a need to user acceptance testing, and if so who's going to write the tests and who's going to do the testing? Are there any safety/copyright/legal implications about what the software displays? Who's ultimately responsible for those? Who need indemnifying or insurance to cover that? Is there any backend service required in addition to the mobile app? Who's building/maintaining/paying for that? Who's responsible for "fixing" the app if a 3rd party backend the app relies on changes or goes away? Does the customer require copyright ownership of the app source code? Are there 3rd party licenced libraries you're going to use that you don't have enough rights over to be able to give/sell the copyright to the customer? Who's going to spend the time figuring out and explaining to the customer exactly which bits of the source code they do and don't own? Are there any patent issues relating to the problem being solved? Are you _sure?_ Who's "on the hook" for patent infringement if something comes to light later? Who's doing the UI/UX/graphic design? How many iterations through the customers approval process will need to be done? What are the customers turnaround times on those approvals and who at the customer has the authority to ultimately sign off on things? What documentation is required? Who's writing that? What training is required? Who's doing that? What ongoing support is required? Who's doing that?
I think sometime developers fail to understand just how much _business_ stuff needs to happen before and after they write their code. It wouldn't surprise me at all to find that in the _best_ case, a project like this with "6 hours of development" also required 4 or 5 times as many hours to get the deal done. I could also very easily see the team stalled for a week or two waiting on approval/signoff, and if your 6 hours of development turns into two weeks where you (or a colleague) couldn't do other work 'cause you're chasing answers, decisions, or approval from the client - a factor of 10 between the "actual coding time" cost and the project cost starts to seem positively reasonable.
You seem to be arguing that a lot of work went into selling this piece of shit to the government, and so therefore, we the people, should pay for the cost of that selling too? I know that is how it works: I bribe a government official to buy my turd, and then they spend tax payer money to cover the cost of the turd, plus the cost of the bribe. But you seem to be saying that that is ok. o_O
Well, I guess the "How did you even know there was an opportunity?" bit could be considered "selling", but all of the rest of that is stuff that needs decision making and agreement on both sides before the bill gets paid. And somebody other than the developer is going to have to do and/or manage it all. Who's paying for that time?
Or do you honestly think 6 hours worth of coding @ $100/hr is all a job like that requires?
Have you ever worked with a government department?
> and Hacker News jumps on that like starving dogs on Alpo.
I couldn't help but note that the title contains Useless Android Application, although the article indicates that the total cost of $200,000 was spent on Android, iPhone and BB (not completed) versions.
I won't go as far as calling it linkbait, but if I ever wrote an article about an app I didn't like and it was available on Android, I now know a way to get more traffic if I were to submit to HN.
Yeah, that was a pretty cheap shot. The whole thing comes off as a manufactured controversy; It's worth something to OSHA just to know whether they are reaching the general public via this method or whether they're better off sticking with the existing approach of requiring employers to display posters.
I'm having a hard time feeling outraged over the extra 0.06 cents this is going to cost me and every other American. It's all 'fail early, fail often' here on HN until the government does so, then failure and experimentation are considered intolerable inefficiencies.
>It's all 'fail early, fail often' here on HN until the government does so, then failure and experimentation are considered intolerable inefficiencies.
I don't _want_ my government to fail early and fail often. I don't _want_ them to experiment. I want stability, I want them to be on this side of the bleeding edge, I want them to be a generation behind.
When a startup takes this approach, the risk v reward is shared between the few people who sat down and decided that risk is worth taking. When the government does it, that risk is shared amongst the entire country, many of whom never wanted and could never benefit from the reward. Are government smartphone apps a useful idea? Why sure they are. I'd be willing to put my tax money towards the development of technologies that can improve my life. But I'd like them to be worth the money. Not sometimes, but _every_ time, or at least damn close to every time.
What I'd really rather see is the government investing in an open API for their tools and information and letting the private developers wrap around them, presenting the information in a way that is useful to a wider variety of people. The developers stand to make money from the $0.99 sale of the app, and the government gets to have the information available to the people who need to see it.
Vehemently disagree. What you're proposing will put all government data behind paywalls - even if some of them will be relatively short ones.
Right now my transit authority runs a halfway-decent website along with a freely accessible API. The website is functional, but not perfect. There is a thriving market for people who can present the same data in much more usable ways, for profit. This seems ideal.
What you're suggesting is that the government never engage itself in building frontends - and stick strictly to building data backends instead, and leaving all the gooey UI to private industry. In other words, people will no longer have free access to census data, bus schedules, budgets, or anything. Well, unless you're a geek who knows how to figure out the documentation to the API, craft some API calls, and parse the results into some human-readable form.
I can't think of a worse techno-dictatorial dystopia. The only people who gain freedom are the geeks, everyone else loses free access to their own government's data unless they cough up the cash.
That's not exactly how I had pictured it, but I can see how my wording could be interpreted the way you saw it. I'm not proposing the APIs be the ONLY way to get the information. Government websites can be useful when done right. What I'm suggesting is that instead of getting into the smartphone app business at this point in the market, have the website be accessible to anyone (maybe with a mobile hook around the site) plus APIs for all the sources the site can give you. That way there's a free and established method of getting the information where you want it, while there can also be a closer-to-bleeding-edge version available in a more convenient format if you so choose.
I didn't really mean "that the government never engage itself in building frontends", I meant that the government, at this point, refrain from building smartphone apps. Until the app market is as standardized and established as the web, it will always be a waste of money to build apps for one platform, and a money sink to include them all.
The problem is that there is no reasonable way to draw the line. If the government should remain in the business of providing frontends to their data, where do you draw the line as to where they should and shouldn't go?
It's not as if publishing a smartphone app is exactly "bleeding edge" these days. Third party smartphone apps have existed for almost four years now.
My point is - I fail to see how this is an issue with the government trying to pursue "too much innovation". This could have just as easily happened with an overpriced website contract, but I doubt we'd be sitting around arguing whether or not governments should publish data on a website!
A valid point. My idea was that if you publish a website, it works on pretty much every browser. Developing a website is not something new. Making a mobile app only works on one platform, and is in a period of heavy transition. You say "4 years" like that's a long time compared to the web.
It's not the job of the government to innovate, it's the job of the government to function. I don't install Ubuntu 12.04 Alpha on my production servers, I install 10.10 LTS.
It seems this guy doesn't account for "bureaucratic overhead" that is involved in dealing with any large client: You already mentioned the need for lots and lots of meetings and doing the translations, there is also writing up a proposal and some reports, drawing up contracts and sub-contracts, doing usability testing and ensuring compliance with applicable federal regulations.
And there is probably a lot of other stuff involved that I don't know about. And lets not forget some overhead to pay for the office and some profit.
It probably ends up being a few hundred man hours once you account for everything.
So yeah - it could most likely be cheaper or better, but the pitchfork attitude is probably going too far.
I was thinking more of AI-as-a-Service for software companies that wish to contract with Governments. Traditionally, this could be known as a "lawyer". Does Palantir consider this too silly, for instance.
Did you look at the source code? At all? it took two minutes to find a bug in the application just messing around with it. The application is supposed to display warnings if your temperature or relative humidity is outside of acceptable ranges. However if you use the get current or get max buttons, it skips these warnings and calculates the Heat Index anyways, displaying a value it shouldn't be providing with no warning.
Heh, I feel bad for any products you spearhead.
Your definition of good quality is poor.
I am a professional Android developer. Something like this wouldn't take more than a day. It's a piece of cake.
What I suspect happened here is that the project was outsourced.
These silly people tried to save money by hiring a foreigner to talk to another foreigner developer and get the app developed. To work on and a deliver a product these foreigners know nothing about.
A little while ago I had a little financial situation and was forced to take some cheap freelance projects.
I was quickly picked up by a foreign recruiter and I took a couple of jobs really cheap. At the rate the Indian developers would charge.
I had to work on an app that was commissioned by CAT.
The app was a paving calculator that was to be used by their employees.
This was seriously some of the worse source code I have ever seen.
I took my own personal time to rewrite the project.
I also redid all the calculations and found various mistakes everywhere.
I asked them to send me all the docs and had to redo everything from the ground up because these people were plain incompetent.
For about a couple weeks work I charged $300 dollars. I didn't care about the money, I just didn't want any of our road workers using a shitty and potentially dangerous application.
Correct results are absolutely critical in any non-trivial application. Acceptance of incorrect results just shows how low the quality grade is.
I'm looking at the source, and it's pretty basic. Nothing a high school student couldn't write.
Get off your high horse. Being American doesn't automatically make your code better. As a "foreigner", I recently had to deal indirectly with American developers (to integrate our product with theirs at the request of the client). They charge 100K USD for something that only needs 2 man days, didn't code to the specifications (set by themselves), and took forever to fix any problem on their end.
Erm, what I mean is that foreigner as in not from the country the project is originating from.
To you, the American were foreigners which further enforces my point that working with foreigners in an issue.
I'm not saying that because I'm American my code is better. I'm saying that because I'm local and I care more I produce better quality.
BTW, in my story some of the most incompetent people were indeed American. The other developer did the best he could, and the recruiter too. The process was broken from the beginning. They wrote really bad documentation, and incorrect formulas. The source was bad, but it took much longer to get all the formulas properly documented and figured out.
I think your rant against foreign developers is completely out of place here.
There's no evidence to suggest that this application was off-shored, unless you've found something to the contrary. Quite clearly, the two companies you cite are located in Massachusetts and Virginia and both companies are staffed by developers in the US.
Agreed - but it wasn't 2 hours for android app coding, it was 100k for :
programming and software design (including coordination ....)
Even if you were to divvy that up evenly, it would make the implementation 10% of the cost.. about 10k.. which is pretty cheap on a "work for hire" basis of a software house for a software developer.
I work as a gov't contractor. I just installed it on my iPhone, it works fine. Good job.
Also... the contracting process is similar to what he describes anyway, in fact it is better. For example [SBIR](http://www.sbir.gov/) (I hope hn uses markdown) are small business requests for R&D on everything from software to engineering. A small amount of $$ is given up front, and then more if the project becomes field testable, more if it becomes usable.
Good find! I need go find the dailywtf submission form. I've only glanced at the code but my favorite part so far is using integers 0/1 as booleans and putting "myValid1 == 1" everywhere they want to check if it is true. Didn't they list in the billing that they internationalized this? it's full of hardcoded english strings and nothing is done with the resource files.
In the European Union, governments are legally required to open public works and supplying contracts to competition through an open tendering process. I'm surprised that this doesn't happen in the US.
There's a fair bit of criticism levelled against the EU tendering processes, though. Many feel that the process emphasizes price at the expense of quality, resulting in a "race to the bottom" as another poster mentioned.
I was surprised by this and decided to check it out, and it looks like they're not really.
the implementation of EU government law by national governments is far from uniform and sometimes weak – in 2002, for instance, only 16% of governmental calls to tender were published – government procurement has been called "the weakest link in the common market".
Indeed, the minimum amounts (known in EU jargon as de minimis tresholds) are higher than I had assumed.
As the Wikipedia article states, these de minimis tresholds "provide an incentive for authorities to divide contracts into separate lots", which is thought to be the reason for the small amount of public contracts that go through the tendering process.
I think individual member governments are free to set stricter limits, though. At least in Finland, some public contracts as small as 15,000 € are required to be openly tendered. (Last year there was a well-published scandal when a high-level Helsinki city administrator ordered some 70k€ worth of office furniture without official tendering.)
I've dealt with some Government agencies before in a few different capacities, and they actually WANT To spend their money. The actual cost doesn't really matter, as they are trying to get as close to their budgets as possible, as to not have them decreased the next year.
This is especially true in the last 30 or 60 days - to the point where you invoice and are paid before the job is done just because it "has" to be in the billing period.
Is this really much different than outsourced projects for huge corporations? Seems like large organizations get charged a premium for the same amount of work.
Government can hire technical people who can do the work in house, or who are qualified to evaluate the work. But because of the pressure to keep government small, qualified tech people go to the private sector and overcharge the government. Seems like one can't win here.
Its also worth pointing out that sometimes, just sometimes, it works out the other way. I was the lead on a team that took $150k in funding and produced an open-source implementation of some CDC specifications (https://github.com/talho/openphin), and became the first software in the country to be certified with it. We developed it in about 12 weeks, and the first milestone certifications were actually complete-able (meaning we had the features, though the paperwork took longer) within 2 weeks. We were up against companies used in other states like Northrup and SAIC that literally spent millions on the implementations (and don't even get me started on how much those same companies spent coming up with the standards in the first place, which is a whole 'nother problem) and beat them handily at their own game.
We did use private contractors as additional assets starting out and while they were more expensive than hiring additional developers, they had two great attributes: temporary, and good at what they did. Its worth it to pay for competence, every single time. And when its a one-time expense for a project, its much, much easier to deal with than something that incurs year-over-year expenditures.
The $200k price tag is unsurprising if you factor in the cost of non-coding work like requirements gathering, travels, expenses, benefits, etc. This seems like a simple app but when you have a design by committee, approvals, etc it can be quite manpower intensive.
The OSHA document is not rendering for me so I can't tell if there's a cost breakdown.
I highly doubt there was design by committee. More like:
1) Dev gets contract, builds app
2) Person who was arbitrarily moved to dept. of mobile-app development reviews app, figures it's good because it works on a phone, forwards the results to his/her boss.
3) Repeat step 2 at a higher level
There is a more stringent audit trail, perhaps. But I doubt there's a committee of people who sat aorund a whiteboard and designed this puppy. I hope there wasn't, at least.
I think the author is also forgetting that any programming work done for the government/state is always contractually bound by a multi-year code guarantee. This means that if any bugs are uncovered within that time period, the vendor must at no cost to the government fix them. That leads to drawn out negotiations over if something is a bug or enhancement. These code guarantees typically range between 2 - 5 years during which you can't charge a dime for anything related to fixing actual bugs.
This is definitely hacker-bait. Cue up all the folks complaining about wasteful government, then cue up the hotshot programmer folks who will tell us they can code this in 2 hours while drunk, then cue up the FOIA folks, then the folks who feel any critique at all of government is indicative of right-wing extremism, and so on.
I remember when the IRS spent 4 Billion on a new computer system and had nothing to show for it. The joke I used for a week was "Hell, they could have paid me $2 Billion and still not had anything to show for it -- and saved half their money."
The problem those of us with lots of internal government experience is that most "normal" folks have literally no idea how much waste there is. Yes, it's like a big university. Yes, it's like BigCorp. But no, it's so far beyond those concepts that if that's the only frame of reference you have, you've missed it.
I love my country and love paying taxes for it to do useful things. But there simply is no system in place for shutting things down. It just keeps growing. In the private sector the measurement is "does it do something that folks will pay us for?" because if it doesn't, folks eventually stop paying, and the company goes away (although it might take decades). In the public sector the metric is "does it make a politician look bad?"
There's a reason Congress delegates all these powers to all these agencies. It's the same reason we have so many "Tsars". Nobody is directly accountable. It's all set up so that if there is a problem, some poor schmuck gets hauled before an investigative committee to get the riot act read to them. That way the guys who are supposed to be really responsible -- the Congressmen -- get to play the part of the person looking to fix things. Politics. It's a beautiful thing.
So at the end of the day I'm not really sure this is newsworthy. I could tell similar stories involving tens of millions of dollars, and I bet we could come up with a list of hundreds of these things. Anybody remember the FBI case file system? This is just way small peanuts. Perhaps the "Android app" part of it is enough to be newsworthy, but in my mind that's a benefit: today there are a lot of people pleading to move away from COBOL systems in some government agency -- and losing. I feel really sorry for those guys.
Also, this $200k app is probably an example of good government spending. Arguably, it's UK style Fabian socialism, in which government spending is making it impossible for better private solutions to flourish. Libertarian fanboys will whinge no matter what the government does, unless it does nothing.
200k is a small amount (for any big org), and it's actually going to something public facing, unlike 90% of government work which is simply faceless men putting obtuse reports in each other's pigeon holes. Do we really want to attack one of the few times the government actually tries to make their work relevant to the public?
You could equally argue that the 1% is wasting billions on stupid sock puppet ads for online pet shops, photo sharing apps, and AOL. Or on stock options for chefs and masseuses. Or on million dollar teams that do nothing more than re-invent wheels, badly.
It's arguable that the government should be doing this at all. But I certainly believe that if government should be doing anything, they should be making their work available to the general public. I don't think they got screwed - 200k for an app is not a giant rip-off. They might have been able to do it cheaper, but it's not totally out of line with the sort of crap industry does.
And then cue up the "realist" who says "this is just how it is".
This IS newsworthy. This shit should be the only news until it fucking stops. As you say: "But there simply is no system in place for shutting things down. It just keeps growing." until it collapses. These things don't end well. I say lets fix it.
I've been on a govt project for the last four years and can't begin to tell you how much money is wasted on IT projects during the entire year. Hearing in the News that the administration is trying to save money by cutting on office supplies makes me laugh! The "Supercommittee" could have at least put a dent in the savings by literally just reviewing the IT projects that the Govt contracts out and the process they follow to manage those contracts.
In the agency I work in, there are 9 IT systems that go to production twice in a year. For the entire year the total development time provided (when environments are open for programmers to develop) is about 2 months. Yet the govt is paying the developers and complete IT teams for the entire year.
It really is ridiculous. Big boys like BAH, SAIC, CSC, CACI etc. etc. are milking the system and taking advantage of incompetent and gullible govt employees.
Whoever runs ERG is getting very rich by making crap that doesn't even work. It's like a negative programmer. Except we're all paying for it.
And this is the 'obvious' case, in which it's easy to tell it's crap. What about those times when I'm relying on the experts at these agencies to find solutions to difficult problems without a clear indicator of success? I'm not anti-government by any stretch, but man. The legalese sounded so good: "critical, real-time hot weather information"...
Sure, I know that's BS, but what about when I'm not qualified to judge it (i.e. military decisions in Afghanistan based on intel that I'm not privy to).
There's probably a good startup to be had in managing the government procurement bidding process for small developers, and thus lowering the barrier to bidding, and reducing the likelihood that contracts will go to folks like this.
I would like to point out that SAIC more or less stole VisTA source code from the VA under FOIA and then sold the same code to the Department of Defense for billions. We still can't get the source code they've modified. Why is it that if a government employee writes the software, it's FOIA'ble, but if the government pays someone else for it, it's not? The government is just stuck with some crappy binaries?
SAIC also screwed up the FBI's Virtual Case File, NSA's Trailblazer, New York's CityTime (with a extra helping of fraud thrown in). It would be interesting to hear of any software project they did do which was not a multi hundred million dollar software engineering disaster.
It's also worth noting that Congress is threatening to cut the budget for the project that tracks overspending on IT projects - the IT Dashboard. While the IT Dashboard tool was properly open sourced and the codebase is doing well out in the wild, the continued use of it for the Federal Government isn't totally free, but the very small budget required to keep something like this running can prevent spending hundreds of millions of dollars on excessive IT projects.
I've looked at the source code for the application (which is available), the claim that this can be done in 6 hours is absolutely right.
Another thing. It seems like the company outsourced the development as well to these guys pixelbitcreative. The entire application contains ~1400 lines of code. I wonder how the money got eaten as we went up the chart.
In my experience (over a decade consulting to government in Canada), not charging enough can sometime put you at a competitive disadvantage. The purchasing decisions are often made by someone who doesn't understand the technology and their prime concern is risk. They don't want to be "the guy who chose the vendor who screwed up". In government, as often as not, you may not get promoted for doing something great so much as by not doing anything bad.
A lot of cost can be added through management of non-technical aspects. The wording may have to go through rounds of approval, goals and features may shift, etc. The cost of writing endless detailed RFP's and the long sales cycles increase the cost.
That said, there are also a lot of "consultants" who really are just crap. It made me embarrassed to be in the same business and that is part of the reason I don't work for government clients anymore.
We hope the traditional procurement story will be improved with the help of Civic Commons, an organization which is very much aimed at leveling the playing field for government software. We want to make it easier for more developers and smart spry development shops to work on software projects for government. We want to give open source the same exposure as proprietary software and generally facilitate software co-creation and reuse across government to make sure things don't get paid for more times than they need to. You can learn more about us at http://civiccommons.org
Amidst all of the government-bashing comments, I note that no one has remarked on a few things:
* we don't have any actual evidence to support the author's claim that this sort of bloat is routine (remember, plural of anecdote isn't data)
* we don't know what kind of wasted money gets tossed around in major corporations (assumptions about how corporations must be lean do not constitute actual evidence)
* we don't even have a way to find out what sort of bloat and waste takes place in corporate america - the government at least lets us find out
so it maybe doesn't make a lot of sense, in an observable-evidence sort of way, to make with the government-bashing..
Check out this RFI from IRS for JAVA Open Source. It makes no sense why they would want a team to consolidate all the open source libraries they want rather than just going out and getting those libraries.
I agree with his point regarding source code.
Often I have interacted with web applications supplied by parts of the UK Civil service and they have obvious bugs that I often feel should be fairly easy fixes.
I often feel that I would happily fix them for free as a public service in a fairly short time period, but no doubt it takes months and lots of $ before they are addressed.
Years ago my employer was given a much larger grant from NASA to throw a few web pages on a Windows tablet computer and use Dragon Naturally Speaking to navigate between them. We received this grant because of political connections.
The problems with opening up big government contracts to multiple bidders is there is then a race to the bottom. However, outsourcing it one component at a time is definitely an interesting idea. Deliverables!
Isn't a race to the bottom on price the desired outcome?
The presence of a race to the bottom on functionality is independent of whether or not the contract is open. If they don't have anyone competent who is vetting the proposals or evaluating the progress and deliverables, then they will wind up with shit no matter how they arrange the contracting. But if it's open to normal software shops, then at least they probably won't wind up with $200,000 shit.
Yeah, but if each component is outsourced, there's the potential that the entire system becomes a huge, disorganized, unmaintainable mess with no consistency in coding standards or even technologies. When something breaks, who debugs the system? Who do you call to fix it?
Then again, just look at this app. How could it get any worse? lol
1. "The shocking part about this isn't even that it happened, but rather that it is incredibly routine. This is just one FOIA request to one tiny department for one tiny, single use application that will perhaps be used by, at most, five hundred people.. and it cost as much as a house. You can imagine what the waste must be like in other government run sectors..."
2. "The other issue is the source code. In my opinion, since we taxpayers paid for the development of this piece of shit, we should at least be able to modify and redistrubute the code. Apparently though, the Government doesn't have to supply any information which it considers to be a "trade secret," and OSHA has determined that this crappy source code is somehow a privileged secret. "
I wonder if the denial of showing source code was because they really DO think it is a trade secret. Or they are too embarrassed to show it?
You have to click-through to read the entire paragraph (sorry, wanted to abide by fair use). The sentiment is that if this kind of low-standards wasteful spending happened in one small department, then imagine what happens at the Dept of Defense.
Did you notice my choice to use the words "can produce" (as in "sometimes") not the word "produce" (as in "always")? I would never make the later statement: open projects always produce higher quality software than proprietary ones. That's not my belief.
As such, you are asking me in your last sentence if I have evidence to support a statement I would never make. Of course, the answer is no, because I would not bother to look for it.
But I would be interested to know why you would like to see such evidence if it exists? I could take a guess as to the reason(s) but I do not want to make assumptions.
I don't think you're claiming that open source software is always better.
I do think you're claiming that overall open source software is systematically better in some way than proprietary software, obviously not in every instance and subject to noise and variance. Feel free to correct me if you not making any such claim.
I'm asking for evidence because you stated catgorically that evidence exists but I have personally never come across it.
What is the evidence you referred to in your original comment?
I'm not making any such claim. But I'm curious why you want to see me as making that claim. Why would you be interested in evidence that open source projects produce generally/consistently better software than proprietary projects for the same sort of problems?
As for evidence that open source projects can (sometimes) produce "high quality" software, TCP/IP is the first example that comes to mind.
Once upon a time, there was a government software project, a government contractor and a grad student...
Assuming the usual kernels, we're all using that code, or derivatives of it, right now.
It should be obvious why I think you're making such a claim - you said: "What's different now is that there is historical evidence that open source projects can produce higher quality software than proprietary ones."
By using the word 'higher' you clearly indicate that you think that there is a quality advantage to open source software.
If you don't think there's an advantage to open source development, then I don't see what meaning you were trying to convey in your original comment.
It seems bizarre that you don't know why I'd be interested in evidence that open source projects have systematically better quality. It would be a major result with implications in project planning, system architecture, organizational philosophy etc. To date, I have never seen such evidence - only reasoned opinion which is valuable but inconclusive.
If you had evidence, I'm sure you'd have produced it by now.
It's obvious (as I stated in my first reply) that open source can sometimes produce high quality software. Another great example would be webkit.
I thought you knew of some evidence that might show why governments should choose open source, other than opinion and dogma.
I'm disappointed that it doesn't exist because it would be powerfully persuasive in furthering the cause of open source.
You have made assumptions about what I meant with my original comment. Your assumptions are incorrect. Why not just ask me: "What do you mean by that?"
Here's what I meant. I believe there were naysayers in the 1980's and early 1990's (and maybe they are still around today) who argued open source would never work. I believe history has proved them wrong.
As you pointed out, open source, like proprietary, can produce good results or bad results. It can produce "high quality" results. It can even produce "higher quality" results.
I believe the reasons why open source is as good a choice as proprietary are very simple and quite obvious:
If the user of the software can read the code, then
1. it is easier to evaluate the author's skill and programming sensibilities and
2. it is easier to fix errors and make improvements (without having to pester a proprietary software vendor).
You were also hoping that I would make an argument that the results obtained are somehow related to whether a project is open or closed. As I said, I won't make that argument. And as such I won't look for evidence to support it. That's because I do not believe it.
You have set yourself up for disappointment. I played no part in it.
If you want to know what I believe in terms of how "high quality" or "higher quality" software is achieved, just ask me and I will tell you.
But please do not make assumptions about what I think.
All the best.
1. Quality is a subjective determination.
2. I should warn you it is nothing revolutionary. I will only state the obvious.
No. I explained what I meant and you still don't seem to get it. Read what I said about the naysayers again.
You asked for the historical evidence I mentioned and I gave you the example of the TCP/IP stack we're all using.
I shouldn't have to say it but "open source" does not produce software, developers produce software. They might be working on a closed project or they might be working on an open one. The open/closed status of the project does not determine the quality of the software. The developers do.
You appear to be making the same mistake as the naysayers did when they said open source would never work. They believed the closed/open status of a project was somehow tied to quality. They were wrong. (Developers working on) open source projects can produce high quality software just as well as (developers working on) proprietary ones can. You cited the example of KDE's webkit to indicate you agreed.
If this is still somehow confusing to you, then I'm afraid I cannot help you.
This kind of nauseus bloat is a big factor why I'm trying to stay away from iOS and Android development. So many projects out there could be much more quickly, cheaply and freedomly (my word) done as a simple web app or even as pure static HTML website in some cases. So much foolishness, hype and hipstering going on.
I agree with this, although I'd go even further. If this app's sole purpose is to retrieve a couple of numbers (surface temperature and relative humidity) why do we need graphics? What purpose is achieved?
Given the extremely basic task at hand, as an end user my main concern is that it's fast (even over slow connections), reliable and simple. If it breaks I can fix it.
My preference would be to retrieve the numbers into a non-graphical console via a few keypunches. All I want is a couple of numbers and I'm done.
This could be done with a TCP client like netcat and a shell script that uses basic UNIX utilities. And I could teach an 11 year old how to do it.
If a "smart" phone OS does not allow something so simple by default, then to me it's not very useful. It's been dumbed down. "Smart" is the wrong word.
How does this further the proper mission of the government, which is to protect individual rights?
I can't fathom a way that this could have anything to do with the government doing the one essential job it actually has to do! It's not just that it's a badly made app. I think the entire fact that the government making apps like this is absurd.
Given what the government actually is (the only agency with the legitimate, legal monopoly on the use of force), it is no wonder that it fails so miserably at doing stuff like this.