• The example with an apple clearly illustrates some major problems which dominate the industry.

    The teams have been given a task to draw an object named "an apple".

    At some stage they've run out of appropriate ideas, and turned to drawings representing totally different objects but having no relevance to the original object, except for similar naming.

    Effectively, the team which did such a substitution, failed the task.

    But in this environment people care more about new ideas, creativity, smart ways to overcome problems than about fulfilling the given orders.

    So, the trick was accepted.

    The subject substitution opened the flood gates, new ideas are pouring out, the teams are expanding horizons, everybody is having fun, except... the actual task which is long forgotten.

    This is pretty much how it's going with too many IT projects.

    When facing a difficulty "creative teams" do not dig deeper to find an appropriate solution.

    They go creative. They do whatever they know how to do, and then invent a way to substitute the original requirements with whatever they've managed to create.

    Being pressed to choose between accepting a solution which is not quite what was requested and having no solution at all, customers usually bend and agree to compromise, convincing themselves that was the best the current state of technology can offer.

    Which is totally not true.

    The biggest problem here is - the right solution has no chance to surface.

    It's always takes more time to work out a proper solution than mock it up with something stolen from internet. And "business" never appreciates spending more time on anything.

    Therefore proper engineers are being washed out from the industry and get replaced with "effective managers".

    And with all the available computing power the new systems can hardly match accuracy and effectiveness of older ones. Which explains why there are so many COBOL based systems still in operation around the world.

    _____________
    Code for TallyGenerator