views:

91

answers:

1

I was involved in a discussion at work about which software systems various people had built were the biggest; biggest in this case being a combination of system complexity and implementation difficulty.

Since experienced programmers tend to get a gut feel for a project's size, even if they wouldn't put it in writing, I thought I'd pose the question to SO.

The systems under discussion were:

  • A telecoms billing system. 4 main features:
    • Real time call control where call credit was reserved from a database every 60s,
    • Customisable call plans, least cost routing, custom per user rates,
    • Capacity of 1000 simultaneous calls per billing server,
    • 365x24x7 and 99.999% reliability.
  • A core wagering system for the racing industry. 4 main features:
    • Client/Server application supporting approx. 1000 cash outlets and 200 seat call centre,
    • NOT a fixed odds system, payouts calculated based on deducting a comission and sharing pools amongst winners,
    • Approximately 20 different bet types, max combination bet being First 4 placegetters,
    • 350x20x7 and 99.9% reliability.
  • A Customer Relationship Management System. 4 main features:
    • AJAX user interface,
    • Email integration delivering to different queues based on recipient address,
    • Invoicing,
    • Web serivce API with authorisation for 3rd party integration.

There are an abundance of details missing but the thrust of the question is to rank the systems in order of descending "bigness" (see above for definition). Any scale will be arbitrary but to give it some relevance the scale below is suggested:

  • 100 Space Shuttle Life Support System,
  • ?? Application X
  • 1 Hello World Console.

I'd be interested to see the rankings for the 3 systems above plus any other big systems people have worked in slotted in to give perspective.

+3  A: 

Here's my take

1) Telecom system sounds large, but it looks like a pure server app, no UI, no real users, therefore some clever math, a database and a few services = 60 points, 50 points for overall complexity +10 for 24x7x365. Would get more points for integrating with a MF, or being written in reduced set kanji.

2) Horse betting, now we're talking, people on the phones, call centre, lots of UI, lots of interaction, lots of filthy lucre. I'd give that a 70, you do get 4 hours/day for maintenance, but if it was down for 30 seconds I'd doubt if you'd live long enough to get to that support window.

3) Yawn, Ajax is kind of cool, but the main complexity of CRM has got to be long running transactions, backed by billing systems and name and address. I'd give it a 35.

Let the flames begin ...

MrTelly