How Intuit Manages 10 Million Lines of Code 304
CowboyRobot writes "Intuit launched QuickBooks in 1992, and it has grown into the best-selling retail software for small-business accounting worldwide. QuickBooks is available on multiple platforms with different feature sets (Pro, Premier, Enterprise), in specialized editions (accounting, contracting, etc.), is available on CD or via subscription, and is offered in localized versions for the U.S., Canada, and the U.K. How they manage so many builds is a case-study for large scale programming. 'The Windows version is about 80,000 source files, 10+ million lines of C++ code plus a little C# for the .NET parts. Plus help files, tax tables, files defining local accounting rules, tax and other government reporting forms, upgrade offers — a lot of files. Every customer gets the full version. Specific feature sets are turned on and off with the license key.' And the lessons are not just technical. 'One surprising lesson is that small teams work, even for very large codebases — especially, Burt says, in sustaining an entrepreneurial, creative culture.'"
You can survive (Score:5, Informative)
Hope they handle their code better than customers (Score:4, Informative)
The last time that I tried to contact Intuit about Quicken on Linux was a mess:
http://dotancohen.com/eng/quicken_on_linux.html [dotancohen.com]
I certainly hope that they handle their code better than they handle their customers.
Re:Bah. (Score:4, Informative)
Re:I thought I disabled ads. (Score:5, Informative)
Sage Peachtree is the main competitor in the self hosted small business accounting realm. To be honest if my dad wasn't so opposed to a hosted solution I would have had him go that way as even with 5 users the cost difference once you add up the server and licenses wasn't that great over five years.
As far as QB goes, it seems to finally be ok. Up until 2007 it still couldn't run as a limited rights user and required short printer names both of which caused me serious pain as I was the IT department for a midsized accounting firm and getting QB running in Citrix was NOT fun. We had premier enterprise support and their answer to the LRU issue was to grant Everyone full rights to HK_Classes_Root (NOT a good idea). I eventually figured out what keys the user needed access to and published the solution online to help others but their spaghetti code was so bad even then that nobody could actually tell what it was doing to give me the right answer.
Re:Bah. (Score:5, Informative)
Re:I thought I disabled ads. (Score:3, Informative)
Re:I thought I disabled ads. (Score:4, Informative)
I disagree. As long as your books are kept correctly, the accountant only needs three things:
1) Profit and Loss 2) Balance Sheet 3) Depreciation Schedule
Gnucash does all of those. Print them out. Hand it to your account. And you're done.
As a small business owner using GnuCash, it's not quite that simple. Accountants like using tools like QuickBooks that they are very familiar with, and they don't want to have to re-enter all the data. So printing out the information is useless for them. You really need to export it to a format that both support.
Sadly, GnuCash does not support exporting Quicken/QuickBooks formats. It will important them with some extra file filters, but no export capability. My solution is to export to CVS which QuickBooks can import as well. Haven't tried it yet, but my accountant & I will be working through it when the time comes.