back to article Review legacy code: Waking dragons is risk worth taking, says Trainline ops head

For a business that processes 120 customer transactions per minute, the fear of IT outages is never far from the mind of Trainline's head of IS operations, Dave Stanley. Just 15 minutes of downtime can have a serious impact on revenue. Last year Trainline.com turned over £2bn in train ticket revenue, making it the fifth …

  1. Anonymous Coward
    Facepalm

    14 million lines of code?

    14 million lines of code - just to sell train tickets over the internet. Really? Mr Stanley shouldn't be proud of this - he should be apologising. Cut'n'paste outsourced development gone mad, I expect.

    1. Doctor Syntax Silver badge

      Re: 14 million lines of code?

      "14 million lines of code - just to sell train tickets over the internet."

      Given the complexity of rail fares it's maybe not surprising. They're fronting multiple rail company marketing departments, all beavering away being marketeers.

    2. jzl

      Re: 14 million lines of code?

      These days, what counts as a line of code anyway?

      How many lines is an XML config file? What about CSS? Or a server markup page? Is a SQL query one line, or does it depend on how you format it? And do you count table definitions?

      Etc.

      Ridiculously stupid measure of development complexity. Should be banned from places like The Register, who really should know better.

      1. Anonymous Coward
        Anonymous Coward

        Re: 14 million lines of code?

        A line of code is a sequence of bytes that can be interpreted by software running on the machine, and ending with the accepted line terminator sequence for the platform being used. And however 'large' or 'long' the lines are, having 14 million of them for a train ticket selling application is beyond daft.

        1. Anonymous Coward
          Anonymous Coward

          Re: 14 million lines of code?

          I'm guessing you have no experience of this at all.....thought so.

          1. Anonymous Coward
            Anonymous Coward

            Re: 14 million lines of code?

            I'm guessing you also have no experience of this at all.....thought so.

            1. Anonymous Coward
              Anonymous Coward

              Re: 14 million lines of code?

              I'm guessing you both also have no experience of this at all.....thought so.

  2. Doctor_Wibble
    Facepalm

    Feature triggers uninstall

    This is some serious feature! So depending on OS it either included a cunningly disguised 'rm -rf' somewhere or someone ticked the wrong box in one of those setup wizard things, selecting 'forcibly remove' instead of 'do not touch this you bstrd I am not making any changes to this bit why are you even running and why is there no Cancel'.

    So is the Dev that is now in Ops placed there as a guide or as a hostage?

    1. Destroy All Monsters Silver badge

      Re: Feature triggers uninstall

      This is a handy feature, don't diss it!

      > Bug detected in production system

      > Instant uninstall

      > "Pub o'clock, it seems"

      Also, this article needs a powerpoint presentation with more info.

  3. Mark 65

    Another day...

    ...another DevOps puff piece.

    My grandad always used to say that if something needs that much advertising it can't be that good.

    1. This post has been deleted by its author

    2. allthecoolshortnamesweretaken

      Re: Another day...

      My de facto brother-law says that all the time. He is an accountant, but has worked in advertising some 30-odd years...

  4. Doctor Syntax Silver badge

    Might 50 software deployments a week be part of the problem, not part of the solution?

  5. John Smith 19 Gold badge
    Boffin

    So having found a bad design pattern they then proactively looked for other copies of it.

    Something IBM Federal Systems learned writing the software for the Shuttle.

    Part of the reason they were the the basis of the CMM.

    Am I impressed?

    Not really.

    1. FrankAlphaXII

      Re: So having found a bad design pattern they then proactively looked for other copies of it.

      I thought CMM was a purely Military thing? I didn't know that they'd borrowed from NASA.

      Can't say that I'm too impressed either as an outsider to the world of development, I thought you were always supposed to make sure new code didn't break existing stuff, and test it before deployment in the first place. I mean you're always going to have something unexpected happen, but having new code break the part that's actually selling something like in the example sounds like a piss poor QA/testing regime.

  6. David Roberts

    Business model?

    I am regularly amazed that people use Trainline which charges all sorts of fees, instead of the National Rail system which doesn't.

    Is there more than advertising to this?

    Of course, I don't often book journeys which span several different train companies. However I can book online with the local rail franchise after National Rail hand me off to their system. I can also pick up the tickets from a ticket machine.

    So, no, not seeing the USP.

    1. mdava

      Re: Business model?

      Which is a good moment to remind everyone of the wonderful http://traintimes.org.uk, which as well as providing clean, simple information can also do journey-splitting to find cheaper fares.

      It helps that you can simply type an url like http://traintimes.org.uk/london/eastcroydon/1000/tuesday/ and it will show you the scheduled services.

    2. roytrubshaw
      Paris Hilton

      Re: Business model?

      "So, no, not seeing the USP."

      It even worse than you think.

      I'm pretty certain that all of the TOCs and other ticket selling entities all use the same codebase.

      Because of this it's almost always possible to buy *all* of your tickets from a single source, so it's worthwhile "shopping around" for a site that doesn't - for example - charge you postage if you want an actual ticket as opposed to a paper printout or e-ticket.

      In any case, it's almost always possible to improve on a single through-ticket price by breaking your journey at the appropriate boundaries though you do have to be careful that the train on which you are travelling does actually stop at the boundary station(s) you have chosen!

      I wonder why there are no automated tools to inform the buyer what the actual cheapest options are?

      1. Anonymous Coward
        Anonymous Coward

        Re: Business model?

        I believe this does that:

        http://www.moneysavingexpert.com/split-cheap-train-tickets/?utm_source=CRM_V21Oct2014&utm_medium=email&utm_campaign=solus_TicketySplit

      2. Alister

        Re: Business model?

        I'm pretty certain that all of the TOCs and other ticket selling entities all use the same codebase.

        Er no, they don't, I'm absolutely certain about this.

    3. Anonymous Coward
      Anonymous Coward

      Re: Is there more than advertising to this?

      - What *are* those millions lines of code? Do you even know?

      - They're... what they use to make Trainline work!

      - But *why* do they use them to make Trainline work?

      - Because Trainline got millions of lines of code.

  7. Anonymous Coward
    Anonymous Coward

    "talk to the devs about how the service is hosted and works in production"

    If your developers have not already a clue about it, you hired the wrong developers and never trained them properly. With or without devops.

    Any company who threats developers as code monkeys that should just implement the lines of codes assigned to them without any chance of looking at (and understanding) the big picture deserve any fault they get.

    And any developer who believes his or her job is just to implement some code with a minimal effort as long as it works in his or her little world without any care for the big picture too, deserve any fault too.

  8. disgruntled yank

    dragon-free zones

    "There are dragons out there – if you are working on a legacy code base, or even existing code base."

    Should one aim for non-existent code bases then?

    1. Bill M

      Re: dragon-free zones

      I think you have hit on something there. Non existent code will have zero lines of code and thus zero bugs - Maybe you should call it ZeroDevOps and write a PowerPoint presentation extolling its virtues.

      1. allthecoolshortnamesweretaken

        Re: dragon-free zones

        "Maybe you should call it ZeroDevOps and write a PowerPoint presentation extolling its virtues."

        The crazy thing is that this would probably work. All you need besides the PPP is a guy who looks good in suit and can convincingly talk weapons-grade BS for a couple of hours with a straight face. Oh, and be careful with the pricing. The package you sell must be insanely expensive. It won't be convincing if it's too cheap (which, in this context, means reasonable priced). Also, if it was really, really expensive, no-one who actually bought it would ever admit he was conned. If they ever notice. Aim for the C-suite-types.

        1. John Smith 19 Gold badge
          Happy

          Re: dragon-free zones

          "The crazy thing is that this would probably work. All you need besides the PPP is a guy who looks good in suit and can convincingly talk weapons-grade BS for a couple of hours with a straight face. "

          Hmm. Yes I can think of a few of those.

          "Oh, and be careful with the pricing. The package you sell must be insanely expensive."

          I think they prefer the word "reassuringly."

  9. Doctor Syntax Silver badge

    Dragon-lint

    Automates searching your code-base for dragons.

  10. OzBob

    "talk to the devs about how the service is hosted and works in production"

    or as we called it in the 80s, "analysis".

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon