Slashdot Mirror


How Intuit Manages 10 Million Lines of Code

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.'"

3 of 304 comments (clear)

  1. Re:I thought I disabled ads. by rueger · · Score: 4, Interesting

    Gnucash is most assuredly not a replacement for Quickbooks, if for no other reason that ta some point you need to interface with a real accountant, and Handing over your files from Quickbooks or Simply Accounting makes that MUCH easier.

  2. Support is the other question... by bradley13 · · Score: 4, Interesting

    Maybe Intuit does feed their programmers well. Now if they would just hire some decent support people. We used to use a multi-currency version of QuickBooks, and the errors were simply astounding in their stupidity. As one, minor example: it was completely clear that some conversions were handled using floating point numbers, with the inevitable decimal rounding errors. At the end of the year, we had huge currency conversion errors - far beyond what even floating-point errors could explain - and essentially impossible to justify to the tax authorities.

    There were lots of other problems as well. Trying to report errors was like talking to a black hole. The one time we really needed some real-time support, we spent ages on hold, or going around in circles with different people, and wound up getting no useful help at all. In the end, the only solution was to go back to a single-currency system, and deal with currency outside of QuickBooks.

    Still, as bad as our experiences with QuickBooks have been, there's nothing better in the same price category.

    --
    Enjoy life! This is not a dress rehearsal.
  3. Re:-2000 Lines Of Code by ciderbrew · · Score: 4, Interesting

    because tax laws are mental and getting a database to do that would drive it insane. I had to spec out a tiny bit of function with an accountant and the amount of exceptions to the rule made it pointless to have a rule.