diffchat

#DIFFCHAT - Future of Code
Accelerating software engineering using artificial intelligence without compromising on code/testing quality.
Diffblue
OK, so we'll kick off with Q1: Why do we need faster development and always on product delivery? #AI #AIforCode https://www.crowdchat.net/s/55tom
https://www.crowdchat.net/s/55tom

Mala Gupta
We've always worked on ways to increase developer productivity and reduce development time. With faster changes in tech and business requirements, this trend is gaining momentum.
venkat4diffchat
A product is useful only when it's used by the real world users. The more we keep the features we develop away from them, the less relevant it could become over time. I would say relevance and economics are two main reasons to aim for faster development and delivery.
Roberto Cortez
our world changed a lot over the last decades. We are on a constant change every day. Before, things were more slow paced, so we didn't have to adjust so quickly, now if we don't adjust on time, there is a chance that what we do is not relevant anymore.
Darren Royle
in a nutshell - we need more software in general and we have less engineers to do it. Anything that speeds up the development and delivery process is critical for progress, and #AI has a lot offer in terms of augmenting a developers day to day. #diffchat.
venkat4diffchat
I would add, it is not just fast development, it should be sustainable fast development.
Daniel Kroening
The cost pressures from commercial targets (& to continuously improve services) pushes developers to speed up software testing. #UnitTesting
Peter Schrammel
@venkat4diffchat, in your opinion, what is it that makes development sustainable?
Darren Royle
@venkat4diffchat absolutely! I think sustainability is where the role of #UnitTesting is at it's prime.
Roberto Cortez
I agree, the trick here is to find a good balance between development, quality and delivery.
Mala Gupta
I agree. Not just faster development, but sustainable development.
Diffblue
increasing expectations by users and continual SaaS delivery are also contributing to this trend
venkat4diffchat
I wonder, in everyones' observation, how often developers create "whack-a-mole" software.
Diffblue
@venkat4diffchat Great question! I wonder if @royletron has a view on this.
Mala Gupta
Would anyone here like to share an instance when they think they were rushed into delivering their code?
venkat4diffchat
@eMalaGupta how much time we have Mala :)
Roberto Cortez
less than an hour. probably not enough to list them all :)
venkat4diffchat
@venkat4diffchat I remember times when I had to fight for quality when there was immense perceived pressure to deliver yesterday.
Darren Royle
@venkat4diffchat I have seen this happen a lot. Sometimes that can just be the nature of development, but a good regression suite ensures the newer moles are caught prior to them leeching to customers.
Mala Gupta
@diffbluehq True. Often actual time exceeds the estimated time, due to surprises on the way (which just never stop).
Diffblue
OK we're halfway through, time for Q4: What would you do with the extra time if you didn’t have to write test code? #AIforcode #livingthedream https://www.crowdchat.net/s/95tqg
https://www.crowdchat.net/s/95tqg

venkat4diffchat
Extra time? That's assuming majority of the developers are writing tests. I would actually like to know how much time vast majority of developers spend time writing tests?
Mala Gupta
Its like adding extra hours to a day! If I didn't have to write the tests - first - that would take some stress off me! I would relax those extra hours for 1-2 days and then use my 'uncluttered' mind to do anything :-)
Armand David
I wonder how much the "context switching" from coding to testing just hurts your productivity and brainspace. Actual coding is problem solving, active brain work. It's hard. If you lose mental energy to switching tasks constantly...
venkat4diffchat
I honestly think it is not about time saving from writing tests. It is really about impact on the economics of software development. It is about getting fast feedback and saving time lost from recurring defects.
venkat4diffchat
Time saving from writing test may be significant part of the industry, IMHO.
venkat4diffchat
I meant "significant only to a small part"
Darren Royle
On a more serious note. Features, integrations, better UX, the things that I actually want to write code for :). #diffchat
Roberto Cortez
@division6 I think testing should not be done as a separate thing. Thinking on how you are going to test or what needs to be tested will make you think on all those corner cases that need to be implemented.
Peter Schrammel
> Time saving from writing test may be significant part of the industry, IMHO.
@venkat4diffchat, that's what we hear from our customers regularly. Numbers range from 20 to 50% time spent on writing tests. So, there is significant potential.
Daniel Kroening
@venkat4diffchat For every developer who spends 8 hours per day on a 6-month project, they spend a conservative 1 hour per day writing unit tests: https://www.diffblue.com/roi-of-ai-whitepaper

(edited)

https://www.diffblue.com/roi-of-ai-whitepaper
Diffblue - AI for Code: The ROI of AI for Development
Diffblue - AI for Code: The ROI of AI for Development
The ROI of AI for Development. Doing the math to prove the value. Download this free white paper to understand more about the return of investment on your artificial intelligence development tool.
Roberto Cortez
@PeterSchrammel interesting numbers. Do these account for only the time to write the test or also the time you need to figure out what you need to write?
venkat4diffchat
@DiffKroening my observation from seeing development at large is that it is much less. Even if we were to consider 1 hour to be a representation, I consider that very low. Hence my assertion it is not about time saving from writing tests but cost saving on regression.
Peter Schrammel
@radcortez, overall. Figuring out what and how is the hard bit. #AIForCode can help exactly there.
Diffblue
OK, it's time to wrap up the 'live' section of this chat! Thanks everyone for attending and sharing your experience and insights with us! Special thanks to our great panellists @venkat4diffchat @eMalaGupta @radcortez @diffkroening @royletron @petershrammel
Daniel Kroening
Thanks everyone for your thought-provoking comments and questions!
Roberto Cortez
thanks for the invite. It was a pleasure to be here :)
Darren Royle
Thanks all, I am going to get back to writing #UnitTests... oh wait a minute, it's the future now and I don't have to because #AIForCode does it. Huzzaah!
Mala Gupta
Thanks! It was a pleasure to participate in this discussion today.
Armand David
How will the structure and set up of software engineering teams change to account for rapid/automated testing and modern development practices?

(edited)

Roberto Cortez
I don't think there is a right answer for this. You can start with a baseline and then adjust for your needs. Some industries require different things.
Mala Gupta
Its a generic question and the answer would depend on the existing structure of your team.
Darren Royle
I think we are already seeing that QA is a responsibility of every developer and I would imagine this merge would only continue.
Roberto Cortez
@Royletron exactly like the DevOps movment
Daniel Kroening
As a starting point, testing gets closer to the developers, as opposed to a set up where QA is far away and administratively disjoint from writing software. That in turn enables developers to be closer to shipping software, and ultimately, operating it.
Daniel Kroening
Ultimately, developers get control over a much larger part of the overall value chain
Darren Royle
@radcortez oh now that is a topic I can talk about AT LENGTH.
Peter Schrammel
Automation brings testing closer to developers. So, teams will become more integrated, I think. Throwing half-baked code over the wall to the test team will come to an end, hopefully.
Roberto Cortez
@Royletron we need a DevOpsQA movement :)
Darren Royle
@radcortez yes yes and yes. To all of that
Daniel Kroening
I am wondering, do you think it's a good thing if the developers have more control over the overall value chain, or should there be "independent control"?

(edited)