The Technology Journey to Disaster

  • Comments posted to this topic are about the item The Technology Journey to Disaster

    Best wishes,
    Phil Factor

  • Just wondering how much the bank has spent so far on making this "savings"? Somehow the project cost figures are nowhere to be found.
    😎

  • Like most catastrophic failures they’ll likely be a long line of little, preventable failures along the way that when evaluated discretely would have been easily missed or dismissed but collectively caused untold amounts of grief. That said, it’s only truly a failure if no one learns from it.

    It does make me wonder about the team’s approach to testing.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • Orlando Colamatteo - Saturday, May 5, 2018 6:02 AM

    Like most catastrophic failures they’ll likely be a long line of little, preventable failures along the way that when evaluated discretely would have been easily missed or dismissed but collectively caused untold amounts of grief. That said, it’s only truly a failure if no one learns from it.It does make me wonder about the team’s approach to testing.

    No, I disagree with this. Its truly a failure even if everyone in the world learns from it 🙂

  • For me it’s about perspective. I get that you’re joking but it doesn’t work any other way for me. Failure is part of the journey so maintaining a safe-to-fail environment is the only healthy way forward. Regarding perceived failures, even in jest people still sense the inherent ridicule.

    At some point the failure outlined simply becomes part of TSB’s journey towards improvement. In my experience that will happen after a sufficient amount of learning and improvement has taken place and people accept the “failure” as a small part of a larger successful context. I believe humans have a desire to learn and improve so believe that time will always arrive. That’s my starting point.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • I'm thinking that if you were a customer of the bank(s) involved, you might have a slightly different perspective. 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Actually, I work in that industry and there is very little safety around failing and look what it got them. It’s quite relevant. If there is no safety around failing and learning, with an emphasis on failing small early, then you get houses of cards that fail spectacularly.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • I’ve never been involved in a project that went that far south but I have seen some real $hit $hows. Usually, when it happens because senior level managers have larger portions of their compensation based on completion bonuses. It doesn’t have to work well it just has to work well enough to put the little check in the little box that says “complete”. This is especially true of outside contractors who know they’ll never have to maintain the steaming pile that they created on a long term basis... Or worse... They intentionally leave flaws in so that they will be able to generate lots of hours on the subsequent support contracts. Another thing I’ve seen a lot of lately is contractors bringing in unqualified people from overseas. I’m not saying that to bag on people from any specific country. I’ve worked with some VERY talented individuals from India and Russia. Aside from language barriers, they are usually a pleasure to work with. It just seems that, from my own experience (I know, anecdotal evidence isn’t evidence), that the truly horrific SQL code, the stuff that actually makes your blood pressure go through the roof, are being supplied by devs from one particular part of the world. They also tend to have backgrounds in Oracle, rather than SQL Server (not sure if there’s a causal correlation there or not). For example, a few months back, I was asked to find out why a production database was grinding to a halt for 20 mins every 2 hours. Turns out there was a view, written by a contractor, that was intended to capture certain data changes and create an extract file that would be consumed by an application they had been contracted to develop. The view, the way it was written, had no filtering (not even inner joins) in the view itself, and every output column was an expression. So, every two hours, they would attempt to capture the last two hours of changes, and in the process, they would scan more than two terabytes of data, completely decimate the data cache and plan cache, and then, in an outer query, filter it down to less than a single meg of actual data... All because they had no idea that the filters on the outer query wouldn’t pass through and filter at the base table level. When I was asked for a possible solution, I told them that a quick and dirty fix could be done by simply switching to a parameterized stored procedure, that could apply the necessary filters at the table level... From there it would be a fairly simple matter to dump the SP results into either a holding table (preferably on in a separate database that would be kept in Simple recovery) and then join to that in the outer query... Less than a single day of dev work... Easy peezy...My simple idea was rejected because change would make it necessary to put that part of the application through QA again and QA wouldn’t be available until after the “bonus deadline”. I remember thinking, “This must be what it’s like working for the government”...

  • I agree that if you aren’t failing occasionally, you aren’t doing anything. I also agree that you have to have the freedom to fail. Companies that don’t tollerate failures end up driving away talented, innovative people and manage to retain the “do nothings”... Turns out that if you work for a “zero failure tolerance” company, you quickly learn that they are unable to fire anyone who hasn’t committed a fireable offense... So, doing nothing, means doing nothing wrong, means you have a job for life so long as you answer the occasional email. That said, certain failures are more catastrophic than others and certain fails should definitely come with consequences. I think it’s a fine line and the managers who are able to “separate the wheat from the chaff” in that regard, are worth their weight in gold (IMO).

  • I had a boss that said "If you never make a mistake, then I'm not pushing you hard enough".

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden - Sunday, May 6, 2018 12:22 AM

    I had a boss that said "If you never make a mistake, then I'm not pushing you hard enough".

    I wonder what would his take on mistakes if it would be about an architect of his house.
    Or a car maker of his car.
    Or a doctor making his diagnosis.
    Would he wish their bosses be pushing them properly?

    _____________
    Code for TallyGenerator

  • But actually - what do you expect from the industry driven by continos delivery?

    Waterfall goes down regardless of the testing results.
    When did you last time see a project manager who would rather miss a target delivery date than allow flawed production release?
    C'mon, we better release whatever we have ready, and fix iot later - does it sound familiar?

    _____________
    Code for TallyGenerator

  • I wonder what would his take on mistakes if it would be about an architect of his house.
    Or a car maker of his car.

    This is one of the most common mistakes I see people in our industry make. We’re not building houses or cars we’re building software. The analogy of the foundation to the beginnings of software development is the beginning of waterfall thinking, i.e. incremental only development. To get away from waterfall we have to get away from single-specialist assembly line or construction thinking and move towards thinking like sculptors and painters, i.e. incremental and iterative in small to very small iterations. We’re artists not lugnut tighteners.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • Orlando Colamatteo - Sunday, May 6, 2018 11:11 AM

    I wonder what would his take on mistakes if it would be about an architect of his house.
    Or a car maker of his car.

    This is one of the most common mistakes I see people in our industry make. We’re not building houses or cars we’re building software. The analogy of the foundation to the beginnings of software development is the beginning of waterfall thinking, i.e. incremental only development. To get away from waterfall we have to get away from single-specialist assembly line or construction thinking and move towards thinking like sculptors and painters, i.e. incremental and iterative in small to very small iterations. We’re artists not lugnut tighteners.

    There are no iterations in sculpture or painting.
    "Iteration" there means "starting over".
    New stone, clear canvas.

    _____________
    Code for TallyGenerator

  • Ok, Sergiy.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

Viewing 15 posts - 1 through 15 (of 32 total)

You must be logged in to reply to this topic. Login to reply