Slashdot Mirror


Could AI Transform Continuous Delivery Development? (thenextweb.com)

An anonymous reader quotes The Next Web: According to one study, high-performing IT units with faster software releases are twice as likely to achieve their goals in customer satisfaction, profitability, market share and productivity. Acknowledgement of this has fueled a headlong rush toward what software developers call "continuous delivery"... It's a process most technology departments aspire to but only a fraction have achieved. According to a recent survey by Evans Data, 65 percent of organizations are using continuous delivery on at least some projects, but only 28 percent are using it for all their software. Among non-SaaS companies, that proportion is just 18 percent...

So what comes next? The future of application development depends on using artificial intelligence within the continuous delivery model... We're at the precipice of a new world of AI-aided development that will kick software deployment speeds -- and therefore a company's ability to compete -- into high gear. "AI can improve the way we build current software," writes Diego Lo Giudice of Forrester Research in a recent report. "It will change the way we think about applications -- not programming step by step, but letting the system learn to do what it needs to do -- a new paradigm shift." The possibilities are limited only by our creativity and the investment organizations are willing to make.

The article was written by the head of R&D at Rainforest QA, which is already using AI to manage their crowdsourced quality assurance testing. But he ultimately predicts bigger roles for AI in continuous delivery development -- even choosing which modifications to use in A/B testing, and more systematic stress-testing.

48 of 78 comments (clear)

  1. First post. AI is the new silver bullet. by passionplay · · Score: 1

    Welcome to the new age of yesterday.

    1. Re:First post. AI is the new silver bullet. by Anonymous Coward · · Score: 2, Insightful

      Yeah, this is an incredibly low quality article. It doesn't specify what it means by what AI should do, doesn't specify which type of AI, doesn't specify why AI should be used, etc. Junk article.

      It's basically a bullshit bingo post where someone repeats a buzzword without any knowledge of the material behind it.

  2. buzzwords by xbytor · · Score: 4, Funny

    >a new paradigm shift.

    I stopped reading after this.

    1. Re: buzzwords by cyber-vandal · · Score: 2

      Not enough leveraging core competencies through blue sky thinking and synergistic best of breed cloud machine learning for you?

    2. Re:buzzwords by alvinrod · · Score: 4, Insightful

      Yeah, maybe there's something useful in TFA, but I'm not really inclined to go looking based on what was in the summary. At no point, did the person being quoted actually say anything of substance. It's just buzzword soup with a dash of new technologies thrown in. Five years ago they would have said practically the same words, but just talked about utilizing the cloud instead of AI.

      I'm also a little skeptical of any study published by a company looking to sell you what the study has just claimed to be great. That doesn't mean its a complete sham, but how hard did they look for other explanations why some companies are more successful than others?

    3. Re:buzzwords by phantomfive · · Score: 1

      At first I was skeptical, but I read some online reviews of it, and it looks pretty good. All you need is some AI and everything is better.

      --
      "First they came for the slanderers and i said nothing."
  3. I smell Bullshit Bingo... by Anonymous Coward · · Score: 1

    that's all, folks...

  4. Same Old Thing by sycodon · · Score: 4, Insightful

    Holy Fuck.

    Continuous integration
    Prototyping
    Incremental development
    Rapid application development
    Agile development
    Waterfall development
    Spiral development

    Now, introducing, "Continuous Delivery"...or something.

    Here is the actual model, a model that will exist for the next 1,000 years.

    1. Someone (or something) gathers requirement.
    2. They get it wrong.
    3. They develop the wrong thing that doesn't even work they way they thought it should
    4. The project leader is canned
    5. The software is implemented by an outside vendor, with all the flaws.
    6. The software operates finally after 5 years of modifications to both the software and the workflows (to match the flaws in the software).
    7. As soon as it's all running properly and everyone is trained, a new project is launched to redo it, "the right way".
    8. Goto 1

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    1. Re:Same Old Thing by ColdWetDog · · Score: 1

      No no. We got rid of line numbers a long time ago.

      --
      Faster! Faster! Faster would be better!
    2. Re:Same Old Thing by AmazingRuss · · Score: 1

      If everyone is stupid, no one is.

    3. Re:Same Old Thing by Graydyn+Young · · Score: 1

      +1 Depressing

    4. Re:Same Old Thing by TheStickBoy · · Score: 1

      Here is the actual model, a model that will exist for the next 1,000 years.

      1. Someone (or something) gathers requirement.
      2. They get it wrong.
      3. They develop the wrong thing that doesn't even work they way they thought it should
      4. The project leader is canned
      5. The software is implemented by an outside vendor, with all the flaws.
      6. The software operates finally after 5 years of modifications to both the software and the workflows (to match the flaws in the software).
      7. As soon as it's all running properly and everyone is trained, a new project is launched to redo it, "the right way". 8. Goto 1

      You just accurately described a 6 year project within our organization....and it made me cry
      Does this model have a name? an urban dictionary name?
      if not it needs one.

  5. Meeting goals by 93+Escort+Wagon · · Score: 1

    I notice the targets are all set from the company's point of view... including customer satisfaction. However it's quite easy to meet any goal, as long as you set it low enough.

    Companies like Comcast or Qwest objectively have abysmal customer satisfaction ratings; but they likely meet their internal goal for that metric. I notice, in their public communications, they always use phrasing along the lines of "giving you an even better customer service experience" - again, the trick is to set the target low and keep it relative.

    --
    #DeleteChrome
  6. Re: golly gee by ColdWetDog · · Score: 1

    I'd take 'high'.

    --
    Faster! Faster! Faster would be better!
  7. continuous delivery == constant change by petes_PoV · · Score: 4, Insightful
    This might be good for developers, but it's a nightmare for the poor, bloody, customers.

    Any professional outfit will test a new release (in-house or commercial product) thoroughly before letting it get anywhere close to an environment where their business is at stake.

    This process can take anywhere from a day or two to several months, depending on the complexity of the operation, the scope of the changes, HOW MANY (developers note: not if any) bugs are found and whether any alterations to working practices have to be introduced.

    So to have developers lob a new "release" over the wall at frequent intervals is not useful, it isn't clever, nor does it save (the users) any money or speed up their acceptance. It just costs more in integration testing, floods the change control process with "issues" and means that when you report (again, developers: not if) problems, it is virtually impossible to describe exactly which release you are referring to and even more impossible for whoever fixes the bugs to produce the same version to fix and then incorporate those fixes into whatever happens to be the latest version - that hour. Even more so when dozens of major corporate customers are ALL reporting bugs with each new version they test.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:continuous delivery == constant change by SethJohnson · · Score: 2

      Any professional outfit will test a new release (in-house or commercial product) thoroughly before letting it get anywhere close to an environment where their business is at stake. This process can take anywhere from a day or two to several months, depending on the complexity of the operation, the scope of the changes, HOW MANY (developers note: not if any) bugs are found and whether any alterations to working practices have to be introduced.

      I wanted to chime in with a tangible anecdote to support your observations here.

      I work for an enterprise software company. One of our customers is a large credit card company. After our company was five years old, that credit card company still staffed more implementers / developers / testers dedicated to deploying our product throughout their organization than we staffed developers in our entire engineering team.

      Talk about a ripple effect....

    2. Re:continuous delivery == constant change by Herkum01 · · Score: 1

      I can sympathize with that few, of it appearing to have too many developers focused upon deployment/testing then actual development.

      However, I come at it from the other side, the developers just push new development out and production support is responsible for addressing the mess, it is horrible, there is too much disconnect between developers and their resulting output creating consistent outages.

      The most successful teams follow the mantra "Eat your own dog food", developers who support the crap they push out tend to be more involved and more like to understand and address problems. If they are shitty, well you fire them, the good ones start nailing down and preventing problems.

    3. Re:continuous delivery == constant change by JohnFen · · Score: 2

      This might be good for developers

      It's not even good for developers.

  8. "a new paradigm shift." by AmazingRuss · · Score: 1

    Another one?

  9. Let's hope not. by sethstorm · · Score: 1

    AI is enough of a problem, why make it worse?

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  10. According to one study by bobm · · Score: 1

    One study, well then I'm sold.

    But do you know who likes Continuous Delivery?

            Not the users.

    The users hate stuff changing for the sake of change, but trying to convince management seems an impossible task.
           

    1. Re:According to one study by angel'o'sphere · · Score: 1

      Why should users not like it?
      If you shop on amazon you don't know if a specific feature you notice today came there via continuous delivery or a more traditional process.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:According to one study by Junta · · Score: 1

      The crux of the problem is that we (in these discussions and the analysts) describe *all* manner of 'software development' as the same thing. Whether it's a desktop application, an embedded microcontroller in industrial equipment, a web application for people to get work done, or a webapp to let people see the latest funny cat video.

      Then we start talking past each other, some of us terrified what 'continious delivery' means in the context of software in the microcontroller of a health care device, others thinking about amazon's shopping front and not seeing the big deal.

      Also, there's the scope of changes. I know I hear familiy members complaining about various android apps shifting around and basically having to continually relearn stuff. Making small changes that may not even be noticed is one things, continually migrating navigation to a particular feature because you keep having 'better ideas' about what makes sense is maddening.

      Of course the business behind it for externalized software development is software as a subscription is continual revenue, even if you don't have any compelling ideas to deliver value to the client that would otherwise make them cough up the money.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re:According to one study by angel'o'sphere · · Score: 1

      Well,
      'continuous delievery' is a term with a defined meaning. And releasing phone apps with unwanted UI/functionality in rapid succession is not part of that definition.
      Continuous delievery basically only is the next logical step after continuous integration.
      You deploy the new functionallity automatically (or with a click of a button) when certain test criteria are met. Usually on a subset of your nodes so only a subset of your customers sees it. If you have crashes on those nodes or customer complaints you roll back.
      The level of 'how good is it tested', 'is it QA aprovedx' etc. can vary endless.

      I don't see a reason why that would not work for embeded likewise. Especially when the final deployment is done via a click of a button. You automate everything and leave a manual gateway at the final step.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:According to one study by JohnFen · · Score: 1

      You deploy the new functionallity automatically (or with a click of a button) when certain test criteria are met. Usually on a subset of your nodes so only a subset of your customers sees it. If you have crashes on those nodes or customer complaints you roll back.

      Why do you consider this to be a good thing? It's certainly not for those poor customers who were chosen to be involuntary beta testers, and it's also not for the rest of the customers who have to deal with software that is constantly changing underneath them.

    5. Re:According to one study by Junta · · Score: 2

      'continuous delievery' is a term with a defined meaning. And releasing phone apps with unwanted UI/functionality in rapid succession is not part of that definition.

      It is a natural consequence of a continuous delivery, emphasis on always evolving and changing and that the developer is king and no one can question developer opinion. Devolper decides it should move, it moves. No pesky human testers to stand up and say 'you confused the piss out of us' to make them rethink it. No automatic test is going to capture 'confuse the piss out of the poor non-developer users'.

      If you have crashes on those nodes or customer complaints you roll back.

      Note that a customer with a choice is likely to just go somewhere else rather than use your software. They'd actually have to care about your success to bother complaining if there is any hint of competition in the market.

      The problem is that automated testing is no substitute for a QA team. This is fine for continuous integration, where the output is not considered production ready. A QA team consisting of people just like your real users who are paid to put up with your crap and complain rather than just go on to a competing product. Not people who know the code inside and out and are ready to help rationalize your design choices, but people who will challenge you, and rightfully tell you they don't give a shit that you think it's hard to do it the way that makes sense.

      Continuous delivery is impossible to say that QA team still matters, as they have no ability to intervene when you go down the wrong path.

      I don't see a reason why that would not work for embeded likewise.

      Because 'crashes' and/or 'customer complaints' can mean people die in some of those cases, so saying 'rollback if it didn't work' is too late.

      .

      --
      XML is like violence. If it doesn't solve the problem, use more.
    6. Re:According to one study by angel'o'sphere · · Score: 1

      Why do you consider this to be a good thing?

      Because it is?

      It's certainly not for those poor customers who were chosen to be involuntary beta testers
      They are not forced to use the new functionality.
      And sooner or later they get it anyway, what has that to do with "continuous delivery"?

      and it's also not for the rest of the customers who have to deal with software that is constantly changing underneath them.
      Software is constantly changing. Deal with it.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:According to one study by angel'o'sphere · · Score: 1

      The problem is that automated testing is no substitute for a QA team.
      The QA team is supposed to provide the automatic testing.

      Why don't you check out "shops" that actually do "continuous delivery" instead of boring us with your nonsense rants?

      This is a long video, you will find shorter ones coming to the point of continuous delivery more quickly.
      https://www.youtube.com/watch?...

      Zalando is the only company I know that has realized it and is marketing, positioning itself, as an IT company, not as "a shop".

      If a product manger/PO has an idea, it can be less than a day that the software is deployed in the cloud and "make money".

      They actually are not doing Scrum anymore as traditional Scrum is not agile enough.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    8. Re:According to one study by Junta · · Score: 1

      Again, not all software development is the same. A QA team in many situations is a team that cannot develop automated testing because they know how to use the software, not develop software. Because they represent the target customer base, not 'more development'. They provide a *distinct* perspective from what those skilled in software development can do for themselves. While automated testing can be done to assure that the various functions execute according to the design intent of the developer, usability may be utter crap and a QA team is the group to call the developers on it.

      I have yet to see a shop that does continuous anything with a distinct team responsible for the automated testing. The QA team *is* the development team everywhere I have seen. The unit tests comprising the continuous integration are more often than not a joke.

      Just because there are a gobton of 'ideas' that are 'yet another trivial frontend for a database' with fleeting interactions with users that can be stood up in a few minutes to an hour, this does not mean all applications can be reasonably have quality managed in the context of continuous delivery. Continuous Integration is fine and a solid approach that is fairly generally applicable across the board to shield a manual QA effort from asinine stuff, but a manual QA effort is still frequently warranted for complex applications with long term user experience concerns.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    9. Re:According to one study by JohnFen · · Score: 1

      They are not forced to use the new functionality.

      Assuming that it is new functionality, and not a change to old functionality. Or, assuming that it isn't replacing something outright.

      And sooner or later they get it anyway, what has that to do with "continuous delivery"?

      I was responding to your comment about part of "continuous delivery" being that you use a subset of the user base to do your testing. That means they are running code that hasn't been sufficiently tested. That they would get (hopefully fully tested) code eventually has nothing to do with it.

      Software is constantly changing. Deal with it.

      This amount of callous disregard is a great example of why users are increasingly viewing software developers with a jaundiced eye. Think about this. I said "developers changing software constantly is a problem for users". Your answer is "tough shit".

      As a developer myself, I think that what we're supposed to be doing is solving problems users have, not making more.

    10. Re:According to one study by angel'o'sphere · · Score: 1

      So the QA then would click the button to trigger the last step: automatic delievery/deployment.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:According to one study by angel'o'sphere · · Score: 1

      There is a misunderstanding. The code usually is sufficiently tested.
      However there are two reasons to not fully roll it out: there could be a glitch, especially in conjunction with other parts of the system, or simply connecting to the life data.
      Secondly some systems are so big (e.g. Amazon, Zalando) that it makes sense to gradually deploy the new software and gradually shut down old nodes.

      As a developer myself, I think that what we're supposed to be doing is solving problems users have, not making more.
      And continuous delivery has nothing to do with those 'problems', I'm also pissed that the new iOS has new unwanted unneeded features. But I installed it manually, my fault.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:According to one study by Junta · · Score: 1

      So in all my prior conversations with folks advocating the approaches, the 'continuous delivery/integration' referred to reacting automatically to a commit. Triggering automation doesn't seem a particularly new concept to me. For example, software I deal with executes unit test on commits alongside human code reviews. Upon code review and unit test success, then a merge which triggers test builds for QA. Upon the human QA cycle and some external beta testers marking success, then a human triggers updates of appropriate things by pushing a signed commit. The emphasis is on actual humans with a reason to care but not a reason to be sympathetic to the developer to have a way to object. This is the element that certain developers have said is a waste of time and developers could manage their own situation without those voices 'mucking up' the process.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  11. AI written paper by manu0601 · · Score: 1

    I suspect that article was actually written by an AI. That would explain why it makes so little sense to human mind.

  12. IT what? by 4wdloop · · Score: 1

    IT in my company does network, Windows, Office and Virus etc. type of work. Is this what they talk about? Anyway, it's been long outsourced to IT (as in "Indian"
      technology)...

    --
    4wdloop
  13. For some businesses maybe but... by Comrade+Ogilvy · · Score: 1

    I recently interviewed at a couple of the new fangled big data marketing startups that correlate piles of stuff to help target ads better, and they were continuously deploying up the wazoo. In fact, they had something like zero people doing traditional QA. It was not totally insane at all. But they did have a blaze attitude about deployments -- if stuff don't work in production they just roll back, and not worry about customer input data being dropped on the floor. Heck, they did not worry much about data losses even when things were working "correctly". To some people big data means no data really matters much, I guess.

    That is a fine way to make money when these things are new and expectations are low, and there are easy ways to pick off a tiny slice of that googlenormous flow of ad money to achieve that IPO bliss. I could see AI helping out here.

    But continuous delivery can easily suck for code that actually has to work so that people do not get fired or go bankrupt or even die. Continuous AI buzzwordology is not ready for this world.

    1. Re:For some businesses maybe but... by JohnFen · · Score: 2

      But they did have a blaze attitude about deployments -- if stuff don't work in production they just roll back, and not worry about customer input data being dropped on the floor.

      It's amazing how common this attitude has become. It's aggressively anti-customer, and a big part of the reason for the acceleration of the decline of software quality over the past several years.

    2. Re:For some businesses maybe but... by Junta · · Score: 1

      I'd say a large chunk of the problem is people churning out trivial 15 minute frontends to existing functionality being very loud and thinking too much of their perspective, drowning out the voices of people that work on more complex software.

      Also, decision makers see more the impact of .css and it's very easy to make a sophisticated looking UI, which was formerly a viable indicator for someone at least had some sort of skill. The good thing is people who are more purely design minded can provide better quality, however the mindset of 'good looking gui' == 'respectable backend code' needs correction.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re:For some businesses maybe but... by JohnFen · · Score: 1

      I couldn't agree more.

    4. Re:For some businesses maybe but... by Comrade+Ogilvy · · Score: 1

      To some degree, I try to keep an open mind to engineering that seems to be the right tool for the problem on hand. But I do believe that this sloppy kind of engineering that is not much more than taking dirty data and making it somewhat less dirty will prove very easy to replace. Some day there will be an Amazon service where one business data analyst with an AI assistant can try out a hundred different correlation models in an afternoon, and deploy it out to a 1024 AWS cluster on a 1AM crontrigger while the information worker is having a fourth drink at the strip joint.

  14. No by Njovich · · Score: 1

    You want your deployment system to be predictable, and as my old AI professor used to say, intelligent means hard to predict. You don't want AI for systems that just have to do the exact same thing reliably over and over again.

  15. Summary sounds retarded by angel'o'sphere · · Score: 1

    A continuous delievery pipeline has as much AI as a nematode has natural inteligence ... probably even less.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  16. In other words... by Junta · · Score: 1

    Analyst who understands neither software development nor AI proceeds to try to sound insightful about both.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  17. AI meets Hunger Games by Tablizer · · Score: 1

    It's a genetic algorithm where YOU are the population being flushed out each cycle.

  18. All I know is by JohnFen · · Score: 1

    All I know is that, as a user, rapid-release or continuous delivery has been nothing but an enormous pain in the ass to me and I wish it would die the horrible death it deserves already.

  19. Every morning: git update; make install by jmcwork · · Score: 1

    As long as customers are comfortable with doing this, I do not see a problem. Now, that will require that developers keep making continuous, worthwhile improvements to the code. Not some fluff change from a marketing recommendation that users want a lighter shade of red for their 'Stop' button.

  20. Re:Every morning: git update; make install by JohnFen · · Score: 1

    As long as customers are comfortable with doing this, I do not see a problem

    I'm a developer, not a "normal" user, and I would not be comfortable with this at all. However, it would be better than what is usually being done, because at least with that system I could easily decide when to upgrade and when not to.

  21. Re:No by Junta · · Score: 1

    This is what people keep missing about 'AI' as it stands today. AI is a good approach for problems that are impractical to address with manual programming. Areas where programmers know the general algorithms that would be useful, but to describe how to apply them in a general chaotic dataset to order it would be incredibly complex. So we know various algorithms will find edges and glossiness and color and those are characteristics that appear in photos, but to describe how to apply all those techniques to identify a 'hot dog' in a picture is something beyond any practical application of manpower.

    When dealing with structured data situations, human specified programming remains the order of the day. Machine Learning techniques help give structure to unstructured data so that programmers can make their moves. Continuous Integration (and deployment, though that's frequently a bad idea) are inherently in the realm of structured data, where current hyped AI techniques don't really have a role to play.

    --
    XML is like violence. If it doesn't solve the problem, use more.