If I had a budget....Software Development on the cheap
At the company where I am currently employed, we are facing challenges just like everyone else in relation to a drastically shrinking revenue stream with no encouraging sign of a reversing trend anytime soon.
Given all that, it boggles me why some money is spent on software where there's a free/cheaper alternative.
For example, I've worked at companies that have acquired a license for Visual Studio Team Edition for each developer ~$5160.49. For a 20 person team that's 100K right there. IE; perhaps 2 people that would otherwise not need to be laid off. The Professional Edition is what most developers need and that cost around $649.00. So, if you aren't using the features in Team edition(as is the case everywhere I've worked), You are $4511.49 per person or 90,229.80 for your 20 person team. Not to mention that it takes almost all day to install the sucker which is time not developing, who knows what cost that is.
Compare that to something like Eclipse that merely depends on the java runtime and all you do is unzip to a directory and go. Oh and it's free.
Many projects I've been on make technology choices (or don't make them) with seemingly no attention paid to the cost, at least in terms of the software needed. They'll spend big bucks in planning meetings talking about how long it's going to take. I often wonder if the cost of planning ever exceeds the actual cost of development.
So for example in a .net shop, the database answer is always MS Sql Server + Stored Procedures. And the only practical license for an app is to get it by processor($5,840.55 ). Depending on how many processors per server and how many servers you expect to have running your app, you can easily get into big bucks, for that little piece of paper your lawyer can use to prove you are allowed to use it. And this is just the standard edition.
So let's say for the sake of argument that this hypthetical app will be expected to be of a decnet size and require 4 quad proc servers. Stage and Prod should all have roughly the same environment, let's assume that QA can get by with half that for testing purposes.
Stage and Prod total up to 32 procs, QA 16 for a total of 48 procs * 5840.55 for a grand total of $280,346.40 and that's just for the piece of paper. Who knows what the hardware cost is for this.
Perhaps MySql would be a better fit here. We often evaluate based on it's technical merits but I have never once sat in a meeting where the license cost impact for the decision was communicated. Sure some developers might prefer MSSql over something else, but I wonder if they would agree that the price is worth it. If the additional cost that year meant someone on your team, maybe you might have to get let go would your decision be the same I wonder?
Also, with the choice of using Sql Server often comes the requirement that no ORM be used, and Stored Procedures are required. At least in my experience. This leads to an abnormally large amount of time being spent on Schema development on the db side that could be otherwise be spent on the actual features of the software. Are Stored Procedures really worth it in that scenario? I'm not saying they aren't in some situations, but it never seems to be challenged.
I see plenty of plenty of opportunity for cost savings elsewhere in the process as well. For example, one of the biggest wastes of money I've seen at a company is in it's usage of sharepoint. I have never met a developer that would agree that the sharepoint site for their project actually has value. It seems to be what we throw up for the PM's and BA's so they'll leave us alone.
Lately, we've just been using a Wiki for our projects, and it's working out pretty well, documentation gets created, it's up to date, it's versioned. It's available.
Getting back to TFS, I see trmendous hidden costs in this system, with very little benefit. I think it actually makes things harder than they need to be. Granted in a perfect world we would all know which projects we were working on and who needed access to it, and there would be a tightly integrated requirements, and qa process around it. But, I doubt if it ever happens. Typically what I've seen is an effort is made to stadardize on TFS for th good of the organization. No stakeholders are 100% satisfied or productive, and it's soon abandoned.
In the real world, developers write code, and need version control. We all know VSS is a time bomb waiting to obliterate your intellectual property. TFS seems to be attractive in that it's not SourceSafe. But what about all the others.
Subversion? or Mercurial? the price is so low(free), that trying it for a minute should be a non-issue.
And don't get me started on the Rational tools that never have enough licenses for everyone that needs it, and it's super expensive, and in my opinion not worth it.
Post new comment