📺 Develpreneur YouTube Episode

Video + transcript

Automating Quality in Software Development | Greg Lind on AI, Testing, and Continuous Improvement

2025-11-13 Youtube

Detailed Notes

In part two of our Building Better Developers interview with Greg Lind, founder of Buildly and OpenBuild, we dive deep into automating quality in software development through AI, automation, and continuous testing.

Greg shares how his team integrates QA into every stage of the development process—from developer-led unit tests to AI-driven analysis of pull requests. Learn how automation ensures accountability, speeds delivery, and keeps software quality consistent across the pipeline.

🎯 In this episode, we discuss: • How to automate testing for better QA coverage • Using AI to improve code reviews and transparency • Why quality must start with the developer • Continuous improvement through data and feedback • The future of Agile in an AI-powered world

“QA often gets left until the end. But it has to start from the developer.” — Greg Lind

📘 Read more insights on our blog: https://develpreneur.com/automating-quality-in-software-development-greg-lind-p2/

🔗 Learn about Greg: https://www.linkedin.com/in/greglind/ 🌐 Listen to more episodes: https://www.develpreneur.com

#BuildingBetterDevelopers #GregLind #SoftwareDevelopment #Automation #AI #Testing #QualityAssurance #ContinuousImprovement #BuildingBetterFoundations

Transcript Text
[music]
[music]
[music]
[music]
Well, hello and welcome back. We are in
part two of our interview. We are
continuing this season of building
better developers. It's just this is the
developer podcast, but it is building
better foundations. And funny enough, we
thought the foundations were going to be
about AI, but we really haven't touched
on it. And as far as you know, we might
not touch on it this episode, but we are
touching along upon a another uh area as
we're really talking about the
foundation of the team itself and how it
interacts uh with the CEO of Buildley B
I L B U I L D Y.com to check out that
plus going to be links in the show
notes. Um we're going to carry this
forward. First, I need to introduce
myself. My name is Rob Broadhead. I'm
one of the founders of developer. Also
the founder of RB Consulting where we
are boutique consulting firm. We help
you leverage technology create road
mapaps to be more successful. Good thing
and bad thing. Uh good thing is uh I'm
getting into the fall is always
interesting as I get into the season of
there is uh not like on a given week not
a ton of work but by the time I get even
started in the week work fills stuff up
very quickly. So I have now over booked
myself essentially every week because
I'm I have all these plans of things
that I need to get done want to get done
working on my business instead of in my
business. Um and then those are rabbit
holes everywhere because sometimes in
the business steps in the way sometimes
working on my business I find new rabbit
holes of like oh I need to go deal with
this explore that uh this is every bit
of so it is the good and the bad of
so many things that are out there so
many opportunities so many things that
I'm chasing but the bad side is it's
just I'm overwhelmed with there's too
many things to chase so I'm going to
simplify it down to passing the
introduction over to
Hey everyone, my name is Mike Malashsh.
I'm one of the co-founders of Developer.
I'm also the founder of Envision QA
where we help businesses with their
software problems, be it custom
software, cookie cutter software, or
just any type of software that you need
to help run your business. If you need
it customized or you're having problems
with delivery, give us a call. We can
help you build custom software or build
tools to test yourself. Uh check us out
at envisionqa.com.
Uh good thing, bad thing. Uh good thing
is we're getting we're past Halloween.
We're heading towards Thanksgiving, so
I'm getting uh kind of the vibe for some
turkey uh and some pumpkin pie and those
pumpkin spice lattes at your coffee
shops. Uh bad thing, I'm
really into my seasonal allergies now.
I'm waiting for all the leaves. Well,
they're pretty. I'm waiting for them to
fall off the trees so I can get back to
normal.
And the normal that we're going to get
back to is we're going to continue our
conversation with Gregory and pick up
right where we left off.
>> Yeah, I see that an awful lot,
especially like the cherry-picking.
That's kind of like where they go
through the backlog and cherry pick. Um,
>> yeah.
>> So, I kind of want to pivot just
slightly with your processes. So, you've
touched very heavily on um, you know,
the agile approach with the project
managers, development teams, and that.
I'm interested in how you go about
approaching the QA side of things.
You've touched on it, but um I'm a
little more QA biased because I like
test driven development, but kind of
walk me through how you handle QA
through this process. How do you
simplify this and how do you show the
communication going on uh you know
between the development, the project
managers, and where things are?
>> Yeah, I think Michael, you and I will
have a very interesting conversation at
some point about test-driven
development. Um but I I I agree that I
think QA often gets left until the end.
Same with security, right? So and and
unfortunately QA sort of becomes
security in a lot of organizations as
well. Um but it is part of that overall
security process is making sure you have
well tested software. Uh but it has to
start from the developer. I think the I
remember the first time the first job I
ever had where there was an actual QA
team. I moved from a web design
organization
uh essentially and that was doing you
know brochure websites into a real
software organization and I was shocked
at the fact that they had two QA there's
there was six developers and two QA um
team members at the same time and I I
remember thinking how can they how do
they have enough to do if they're just
testing the software that I've built
there's not going to be you know I I
document my own code I there's not going
to be any issues. And the amount of
times they came back to me that that
first week with you need to fix this.
Let's let me show you what's happening
here. I was completely shocked. Um but
that to say that I I what I learned at
that point and then I started to learn
down the road is I need to think like a
QA person from the very beginning,
right? I need to write my own unit tests
so that I'm actually testing my software
internally. I need to do that in a smart
way. I don't need to go overboard with
my unit tests cuz then I'm maintaining
unit tests, not maintaining code. Um,
and then I also need to make sure that
the a QA developer understands what
those requirements are. You know, the
the old agile flip side of the card
where you would write the test on the
back. um that I don't think I can I I
can't remember a single place I've been
where anybody actually did that um in
the planning poker phase of agile until
a until a QA person came in and said I
don't see a test on this. What am I what
am I testing for? Um, and I think that's
the the aspect for us that is we're I'm
still struggling with is at what point
does an automate like let's say the
robot framework. Um, so a lot of the
testers that I've been working with in
the past have been using things like
robot and selenium to automate front-end
testing as well as backend testing. So
that combination of unit tests to then
um regression tests to then front end
and backend tests um in or in a let's
say a a green blue deployment process um
that that part of the process you need
to have the QA involved from the very
beginning because they need to know what
they're building what they're and that's
product management QA developers design
all need to be involved as early as
possible in that process so that you can
write those out. So what we we do in our
in our process is essentially the
developers are writing their unit tests
after they've finished a block of code.
They're not writing it before. And I
know that doesn't fit with the
testdriven development process, but I I
I will come back to that cuz I do want
to talk to you, Michael, about that. But
I I what I like about that approach is
we write minimal tests, right? So we in
other words we're not having to maintain
the tests we're just making sure that
once that test is written that
functionality works. So I think of it
more as uh if you're an object-oriented
programmer for example you're testing
the object for the essentially the CRUD
operations. You're not doing fieldle
testing cuz every time then you're
you're going back through and you're
rewriting tests. So I like to see that
happen early on in the process so that
you're every time you commit your code
you're committing your te your unit
tests as well and then QA gets involved
at the integration tests and especially
at the front end cuz and I I have a lot
of friends that are amazing front-end
developers but I think front end is
maybe the worst and and I know I'm going
to get in trouble for this at writing
tests. um they hate writing tests and
they almost never do a and I've I've had
so many times where I've I've asked to
see tests and they will tell me oh it's
yeah it's it's all automated I don't
have to write a test cuz it this
JavaScript framework is no no that's not
how it works um so we have to go back
and review that and I I think I think
the robot framework has helped me be
more accepting of that fact that a a
front-end developer and even a back-end
developer um can be resistant to tests
um up to a certain point to where then a
a Q and I I can already see the face of
one of my uh old QA uh [clears throat]
leads already sort of frowning at me
right now as I say this, but they're
covering for let's call the the laziness
of the software developer on the other
side. Um, and then they're going back
and making sure that those tests are are
accommodated for in the code with the
developer. And I I I don't necessarily
like that process, but I've yet to come
up with a a a better process that keeps
developers moving forward without using,
and this is something that I'm starting
to explore as well, is without using AI
to write the QA tests. And I don't mean
to put that out there as a replacement
for QA in any way, right? And we know
that we need people looking at all of
this. Um, and and developers need to be
in the process. And I think of QA as
developers as well. Um, and I think
that's the to me as a QA developer,
you're still a software developer.
You're just helping to ensure quality.
Um, and I think that they need to be
involved upfront. They need to be
involved with the the product discovery,
the the requirements, and often times I
one of the best QA leads I ever worked
with was helping with API models and
saying, "Oh, no, you need to adjust the
a the model to handle this occasion or
this use case." And so I think having
more eyes and ears on a problem is never
a bad thing and especially when you're
when you're building out in in the early
stages. So yeah, involve QA.
may don't don't go too far especially
early stages and then making sure that
you're at every step QA is in the loop
in all of those pieces and then I think
writing the test should be up to the QA
developer not the software so I've never
liked the flip the card approach
because that's I don't I think
developers should be focused on solving
the problem not not what problems might
jump up from that they should understand
what what uh the connections are. But if
it's and I come from the object-oriented
world too where if it's all it's
essentially encapsulated in one set of
of code, you shouldn't be worried about
breaking downstream things, right? Cuz
it should all be um encapsulated, but
sometimes it does. And so that's when QA
comes and gets involved. And they they
understand that more than most software
developers, I think. So with your whole
process because uh in the first half of
this you talked about you know uh the
transparency getting the project owners
the developers involved. So with this
APIs and tools you've been putting
together how do you show the
transparency or the level of test that
is uh being added as you build these
projects out so you know what's being
tested, what's not, what needs to be
covered. Uh and so also so you know when
you go to production, you know what can
you smoke test when it goes out there?
how much manual testing has to be done,
you know, how do you kind of manage that
transparency through this process of
yours?
>> Yeah. So, part of the issue for us is
about documentation inside of the
repository. So, we have a set of tools
and standards that we follow for every
every docker container essentially has
to have all of this already documented
in it. So if we know that we're using uh
let's say fast API and we want to use
piest to run all of the unit tests
there, we need to make sure that there
are a certain number of pi tests
essentially for each function that we've
written. And and we need to make sure
that essentially that those tests have
been executed with uh hooks essentially
before you check into git. Uh you have
to make sure that that these tests have
already been written. if there isn't a
test, it it runs it for you. It doesn't
see a test and then it it it pulls it
back and says make sure that you have
your test in before you check it in. So
hooks, pre-commit hooks into GitHub is
one way to to manage that and that's the
way that we do it. Um, but there's a lot
of other ways to to look at that as
well. The other thing that that we like
is like I said, I'm sort of fan of the
robot test framework. Um, is making sure
that that's built into your CI/CD tool
as well, right? so that it runs those
tests and the person responsible for
that is is always the developer that's
checking in the code. But he if he
doesn't know how to write those tests or
doesn't know how to use robot framework,
which is more often than not an excuse,
not really um the reality. They just
don't want to write the tests. Um then
they go to QA and say, can you help me
write these tests or can you get me
involved in writing this test? um or
more often than not, could you write
these tests for me? Um and that's that's
really where I think the that first
level is and and that's where the the
CI/CD should be running those tests,
making sure that that's happened before
you push out code to to even to your
development environment, much less your
integration environment or your um
production environment for sure. So it
should have been tested
on your local machine in CI/CD before it
goes to development and then again
before it goes to production at the very
least. Um and then that's the the the
last step and this is the part I still
to this day have trouble with getting
developers and myself even I I forget to
do this more often than not is um to
test the code that you just deployed in
production to make sure that it works.
Um and so following up not just with
with QA at at each step, but also then
getting QA involved in production
testing and making sure that you're
aware where they're testing and what
they're testing and that they can when
they follow up with an issue, it
shouldn't be something that uh could
have been discovered in a development
environment or or a integration
environment. often times it is uh but
that doesn't change the fact that you
should be following up and making sure
that [clears throat] those tests
happened and that somebody actually
monitored that or you're doing that
yourself in production as well.
>> So you mainly use some of the backend
tools and the hooks and that you're
talking about. you don't really have
that in this dashboard kind of
integration you have so that like the
PMs can see it and say oh you need we
need to think about this for testing as
you're building out the tickets and that
>> it does it does in the sense that um the
GitHub repository so we have a um an AI
tool that looks through um the history
of the commits for the day and then
creates a and so it's rather than and
rather than having a developer write
their standup report which is again can
feel like a huge waste of time sometimes
but it is very useful for the rest of
the team is we have the the AI actually
write that for you. It goes back through
looks at your commit messages and and
writes through that. If it doesn't see
anything about testing and it doesn't
see a test in there then it flags it and
it says there's no no tests were created
for this. And that is usually where a QA
person can then get involved and say,
"Hey, and to me a the first job of a QA
um person is again as a software
developer, but also as a somewhat of a
software manager, a side manager if you
will, um that's reviewing code, making
sure that the the standards are met, the
lint testing all went through, that all
of those lints are in place, the
llinters are are not being overridden in
in the CIC. CD tool or anything like
that, which is a common I've done that
myself. Um, just because I needed to get
something pushed out. Um, so yeah, they
like reviewing that process as well as
being involved in the the code review
process and the pull request process. So
that's really to me the thing that we're
still missing that I want to add is the
pull request process bringing that into
our tool so that it's not you're you're
you're seeing the notification in GitHub
that there's a pull request that's been
assigned to you and that get gets
reported into your dashboard so that you
then know oh I've got a pull request I
need to review. you run the pull
request, run and and anything and any
comments that you bring into that get
assigned directly to that developer or
to that team so that you're then
following up with it and and managing
it, but also then seeing the comments
that were made in the poll request and
being able to then go through that so
that again you can use an AI to review
that process and say, you know, a number
of pull requests are failing because the
the the lint tests weren't run
beforehand or they weren't running their
unit tests before it was run or they
overrid this because they really wanted
to push something through. So, being
able to follow up and I'm sure there's
all kinds of other areas that you could
review and look at from just just from
looking at pull requests and the
comments that have and that happen in
there. It's a it's not just a and I
always I always get stuck on this is I
try not to make it about blame like it's
not who who wrote this bad test or who
didn't follow the test. It's just it's a
learning process, right? And going back
through and seeing those pull requests
and what was constantly, you know, this
maybe a lead developer was always saying
do this, do this, do this. And maybe he
was right and we weren't doing it or
maybe that was an unnecessary step that
we could remove [clears throat] at some
point and it helped to again speed up
our velocity a little bit.
>> So before I hand this back to you, Rob,
just one followup to that. Um, one thing
to think about and considering is a lot
of your languages and tools now have uh
like test profilers that will actually
scan the code and tell you what test or
what code is covered by test and what
aren't. Uh, which is something you can
really utilize with AI today. So, just
if you're not looking at something like
that, that's something you might want to
consider with your processes. And with
that, that's up to you.
>> That's a good point though. I I think
that again as a developer sometimes the
QA process kind of goes into back of
mind um and even when we're looking at
the product backlog where you know we're
still going back through and it's always
like oh yeah what do we do about testing
here or what do we do about QA here um
and and so yeah it's a good point to
like where we can automate things we
absolutely should be and then where we
where we need human eyes on that uh is
essentially you know following up with
each step of that automation
And I I want to go back to a little bit
of the idea of uh you know I don't know
how many time same boat that we're you
know overridden a llinter tool or or you
know just push something through because
[gasps] you know because the sometimes
the process is I mean maybe that's just
me being a little lazy and being a
developer but sometimes the process gets
in the way and it's like look we need to
get this we need to get this done. the
process does not push the ball forward
and it is a little bit of the agile
thing where it's like the process should
not hold your you know hold you
accountable I mean it should hold you
accountable but not hostage basically
that's the the challenge [clears throat]
is to like
>> to not just kneejerk do that I mean it's
like it's one thing if you do it once
and like okay I'm going to flag this and
it's an exception and we're going to
move forward versus it becomes a norm
and then the next thing you know the cuz
there's those have bet me and I've seen
it in other places too where it's like
this was here, this check was there and
it just got ignored, ignored, ignored
and that was fine until it wasn't. It's
like it goes back to maybe communication
of like this is why this is here. So,
and it and technical debt, everybody's
favorite thing to like just let it keep
piling up is the okay, I pushed it
through. However, we need to go back and
fix that, address that, clean that up
now rather than later. And that's a
little bit I know it's a little bit me
getting on my soap box, but it's also
because we're a little bit out of time.
And obviously we could do this for days.
Uh there's a lot of of great
conversations here, a lot
[clears throat] of directions we could
go and I know listening
>> is like this this guy knows his stuff.
This guy's got a lot of cool stuff. I
might want to go read that book. Um so
how what is the best way for people to
get a hold of you and and reach out and
get to learn a little bit more about you
and and the process in your book?
Yeah, for sure. Uh, so Bibli.io is is
usually the best place to go. Everything
that I do is sort of linked through
there and um be but beyond that that I
have a sort of a page for my book as
well as a blog that I do through it's
called radical theapy.dev.
Um, and almost everything goes through
there and and LinkedIn of course is
where everything gets uh shared as well.
So, those are those are the best ways to
get in touch and and to follow up with
these things. But, yeah, I I I
especially appreciate anyone that goes
through. We have we have a pretty simple
process to sign up for a 30-day free
trial. And you can sort of see our our
book and everything else that we've done
is all in our process and our tools. And
so, you can see how we work and and how
we do things. And we're always open to
feedback. That's the I mean, that's the
point of agile, right? That's the point
of software development is you're not
building things in a vacuum for
yourself. You're building things for for
other people, right? And so the more
feedback we can get from users, the
better. Especially seasoned developers,
but also junior developers, I think, are
the the most undervalued
part of your team is the new person
that's coming in and looking at it with
fresh eyes. Um, and I I'd love to get
new new developers involved, junior
developers, people that are just
starting to look at it and just say,
"Oh, this seems upside down to me. Why
don't you do it this way?" Right? Uh,
and so I that to me that's the best way
to if you've got fresh eyes and want to
look at some of the problems that we're
doing. Love to hear that.
>> Yeah. It solves my uh a lot of times
those new people that come in are the
ones that solve my favorite problem is
the you know, that's the way we've
always did it kind of response.
[laughter]
Then suddenly um and sometimes they get
it's I know it's frustrating like all of
us were new at some point when you're
frustrating you're like okay well that
doesn't really help me understand this
and it's even worse when lady you
realize it's like oh yeah actually they
shouldn't have done it that way and
that's that's as I've you know trying to
keep that pain when when it was me to be
on the other side of it and think about
it and keeping that open mind of like
okay maybe we do need to re you know
revisit this review it because stuff
change you know things change things
evolve you know AI for example which we
did almost no talking about it at this
conversation other than mention of it is
obviously changing a lot of things that
are out there and so whatever we did uh
even now like agile like agile manifesto
is about I don't know now about 25ish
years old something like that and I
remember when it first came out it was
the latest thing the gang and then um
you know in the same line was like to me
it was all in with like patterns and
agile and these are the thing this is
future software development and all that
stuff has grown and evolved and
everything that you did 20 years ago
probably 15 years ago was already like
pay and there's better ways to do it and
then 10 and then five and what we're
doing today I'm sure people five years
from now I'll be like I can't believe
people are still using this archaic
approach so you know it is always evolve
or you know evolve or die I guess is a
part of this
>> I want to thank you so much for your
your time I appreciate you and the crowd
I'm sure there is a standing ovation I'm
being drowned out by the the applause in
the background here. Uh this is a great
conversation. This was uh this is the
kind of stuff we'd love to have where we
can go a little deeper and talk about
some things that actually a lot of these
areas I didn't even think we were going
to get into u but I think are very I
think they're very critical for moving
forward. It it really does go back to
like okay you say you're doing agile.
What really is agile? And if it's if
what you're doing is broken, and you've
given a perfect example of that with
Buildly, is like if what you're doing is
broken, then like let's embrace your
inner laziness and your desire to get
through these things and automate the
things that stink and
make [clears throat] some changes. You
go out there and suggest some
differences and and you know, start to
evolve. You don't have to be a slave to
what you think the process is. Uh and
particularly agile, like it literally
tells you don't be a slave to that. like
adjust it as your team and your projects
>> and too often I think the
>> uh what I have seen now with scrum and
some of that kind of stuff and sprints
that it's it's too much been equated to
agile and that's how you have to do it
and there are too many examples I know
of projects that really don't work with
that as you have obviously found out as
well.
>> Absolutely. Yeah. And I I think the the
laziness gene that's in all of us as
developers, the AI tools, if we ever get
another chance to talk about AI tools
and how to use them to automate away
those those things, it's it's
ridiculously easy now to build something
to do make your own backlog sort of
approach if you need to or or or to get
those things out of the way. the the
artifacts that get generated even though
agile is an anti-artifact sort of
approach to to software development,
they still get generated and they
[clears throat] still have to be
updated. And so usually it's a it's a
product manager that needs a document
here or CEO that needs something there.
Yeah. So AI like using that to to manage
that's that's where it shines. Simple,
boring, repetitive tasks, that's where
it's good.
>> Yeah. I have found that that is um that
is an area that was very very early on
with AI when I started using it that I
have I've embraced and it's u when you
when really you just need the artifact
the rest of the stuff's there and it's
really just okay I've got to go about
the you know the grunt work or whatever
of generating the artifact whether it is
a uh I mean and sometimes it's a simple
document sometimes it is something that
you know that this is there are other
tools for it but things like having a
you know an API document like the things
that like swagger and some of those
tools do so do so well and yeah they
require us a little bit of forethought
to make sure we do it in a way that and
I think that's where it's going to be
from here is like doing it a way that AI
can then easily consume it and do the
stuff that we we really don't want to
slow us down like you said where you
don't want the you want the developers
writing the code and the functionality
you don't want them stuck trying to
figure out how to create tests and then
fix the test for what they're coding
it's like finding a way to get the
things done
>> and then you a use AI to sort of walk
behind us and clean up the mess a little
bit and say, "Okay, well, fine. I didn't
get that done. Go do this for me."
>> Yeah, exactly. I think that's the that's
the primary use case now and will be for
a long time for for any AI tools,
development tools, is is going to be
just about automating those those boring
things away and education just teaching
you how to how to do better and then
following up, right? You know, and
again, I don't I don't mean to to put
Michael your job in the in the in the
line of AI, but I do think reviewing
tests and writing tests and then making
sure that that code can be cleaned up.
That's where AI and a Q a good QA
developer could write something really
well with an AI tool and do it even
faster. And I think that's the it's more
about to me it's it's about building up
your velocity and and creating a team
that works better together. That's where
the AI tools can really help.
>> 100%.
Well, um that will wrap this one up.
Um some nice little bonus material there
as well as we got a couple little, you
know, suggestions at the end. Uh we will
we ran this uh we we turn this around
pretty quick. I think this probably will
show up as early as Tuesday and Thursday
of next week. We drop on Tuesdays and
Thursdays. If not, it'll be the week
after. Um I will send links out uh when
we do so. So you feel free to share them
wherever wherever you want. Edit them
out however you want. Um we will post
them. We have a we do a blog article on
our site. It's out on YouTube. It's out
on um out on all the different places
that you can get podcast things like
that. So feel free to share as as as
much as you like. uh really have enjoyed
this uh and you like like I said we may
reach I may reach out again sometime in
the the future a few months from now and
say all right let's let's have some
other conversations because there's we
left a lot on the table that we could
have gone into uh and I have a feeling
that we will all have different opinions
of those three six and you know 12
months out yeah absolutely for sure yeah
[clears throat]
>> all right we'll let you go and thanks
you a lot thank you for your time
appreciate it and we'll be in touch
again
>> yeah know thanks It was it was fun. Hope
hopefully we will get a chance to to hit
those things later on.
>> Definitely. We'll be Michael's working
on his tester driven de test driven
development notes as we speak.
>> Oh, good. Yeah, I need some defensive
test driven development. All right.
>> Thanks, guys. Talk later, guys.
>> Talk to you later. Take care.
>> All right. So, uh, bonus material there,
uh, because we did cut it off as far as
you know, we cut that off on the audio
right before we got into the AI bonus.
Um, so we'll wrap this one up. I want to
thank Greg again for his time. Um,
really appreciate this was this was
really one of those that it's it's funny
sometimes. I I had not spoken with him
before this. You look at some of the
things that people do and what their
background is and what their focus is
and you're like, "Cool. This is where
it's going to go." And you know, 15
seconds into the conversation, it goes a
completely different direction. But
honestly, this was one of my favorite
like conversations I've had that I've
been able to record in in quite a while.
Um, you guys ever get a chance to check
out lunch club, although I think it's
almost impossible to get into it now.
Um, or things like that. There's like
one-on- ons and stuff like that if you
can find them is like just find a way to
sit down with people like this and talk
tech for a while. Um, even if it, you
know, if you work with people that you
can talk to, great. If you don't find
the people, especially now with people
remote everywhere. Um, this is like once
again, if you got a tenth out of this
that I got out of it, it was more than
worth your while. Thank you so much for
your time. Appreciate you guys hanging
out with us. Uh, as always, check us out
at developer.com, Facebook.com, the
developer channel, uh, out on YouTube.
We've got content of plenty through all
of those. Feel free to leave us leave us
feedback wherever you see any of those
things. We will be happy to work with
you. Even if something we did years ago,
we'll do our best to update it and let
you know where we went with that or what
went on with it or how it is going on
today.
As always, go out there and have
yourself a great day, a great week, and
we will talk to you next time.
Okay, part one wrapping up. Um,
let's do my three, two,
Transcript Segments
5.894

[music]

10.48

[music]

17.03

[music]

22.925

[music]

27.519

Well, hello and welcome back. We are in

30.88

part two of our interview. We are

33.92

continuing this season of building

35.68

better developers. It's just this is the

37.52

developer podcast, but it is building

39.6

better foundations. And funny enough, we

42.239

thought the foundations were going to be

43.68

about AI, but we really haven't touched

46.079

on it. And as far as you know, we might

47.76

not touch on it this episode, but we are

49.44

touching along upon a another uh area as

53.68

we're really talking about the

54.879

foundation of the team itself and how it

57.199

interacts uh with the CEO of Buildley B

61.6

I L B U I L D Y.com to check out that

67.119

plus going to be links in the show

68.32

notes. Um we're going to carry this

71.119

forward. First, I need to introduce

72.56

myself. My name is Rob Broadhead. I'm

74

one of the founders of developer. Also

75.6

the founder of RB Consulting where we

77.84

are boutique consulting firm. We help

80.24

you leverage technology create road

82

mapaps to be more successful. Good thing

85.52

and bad thing. Uh good thing is uh I'm

89.439

getting into the fall is always

91.439

interesting as I get into the season of

95.04

there is uh not like on a given week not

98.4

a ton of work but by the time I get even

100.32

started in the week work fills stuff up

102.24

very quickly. So I have now over booked

104.56

myself essentially every week because

106

I'm I have all these plans of things

107.68

that I need to get done want to get done

109.439

working on my business instead of in my

111.36

business. Um and then those are rabbit

114.56

holes everywhere because sometimes in

116.079

the business steps in the way sometimes

117.92

working on my business I find new rabbit

120.24

holes of like oh I need to go deal with

122.399

this explore that uh this is every bit

125.92

of so it is the good and the bad of

129.44

so many things that are out there so

131.68

many opportunities so many things that

133.04

I'm chasing but the bad side is it's

134.56

just I'm overwhelmed with there's too

136.08

many things to chase so I'm going to

138.08

simplify it down to passing the

140.16

introduction over to

142.56

Hey everyone, my name is Mike Malashsh.

144.16

I'm one of the co-founders of Developer.

145.92

I'm also the founder of Envision QA

147.68

where we help businesses with their

149.92

software problems, be it custom

151.76

software, cookie cutter software, or

154.16

just any type of software that you need

156.08

to help run your business. If you need

158.08

it customized or you're having problems

160.239

with delivery, give us a call. We can

162.239

help you build custom software or build

164.48

tools to test yourself. Uh check us out

167.2

at envisionqa.com.

168.959

Uh good thing, bad thing. Uh good thing

171.84

is we're getting we're past Halloween.

174

We're heading towards Thanksgiving, so

175.519

I'm getting uh kind of the vibe for some

177.599

turkey uh and some pumpkin pie and those

180.56

pumpkin spice lattes at your coffee

183.36

shops. Uh bad thing, I'm

187.04

really into my seasonal allergies now.

189.76

I'm waiting for all the leaves. Well,

191.519

they're pretty. I'm waiting for them to

192.879

fall off the trees so I can get back to

194.48

normal.

196.4

And the normal that we're going to get

198.239

back to is we're going to continue our

200

conversation with Gregory and pick up

202.72

right where we left off.

205.84

>> Yeah, I see that an awful lot,

208

especially like the cherry-picking.

210.08

That's kind of like where they go

211.12

through the backlog and cherry pick. Um,

213.44

>> yeah.

214.08

>> So, I kind of want to pivot just

216.72

slightly with your processes. So, you've

218.319

touched very heavily on um, you know,

220.959

the agile approach with the project

222.56

managers, development teams, and that.

224.48

I'm interested in how you go about

227.04

approaching the QA side of things.

229.28

You've touched on it, but um I'm a

231.76

little more QA biased because I like

234.159

test driven development, but kind of

236.08

walk me through how you handle QA

238.48

through this process. How do you

239.599

simplify this and how do you show the

241.68

communication going on uh you know

243.76

between the development, the project

245.2

managers, and where things are?

247.2

>> Yeah, I think Michael, you and I will

249.04

have a very interesting conversation at

250.72

some point about test-driven

252

development. Um but I I I agree that I

256.72

think QA often gets left until the end.

260.079

Same with security, right? So and and

262.56

unfortunately QA sort of becomes

264.32

security in a lot of organizations as

266.72

well. Um but it is part of that overall

270.08

security process is making sure you have

271.759

well tested software. Uh but it has to

274.479

start from the developer. I think the I

277.52

remember the first time the first job I

279.52

ever had where there was an actual QA

281.44

team. I moved from a web design

283.759

organization

285.28

uh essentially and that was doing you

287.36

know brochure websites into a real

289.199

software organization and I was shocked

291.44

at the fact that they had two QA there's

294.4

there was six developers and two QA um

297.6

team members at the same time and I I

299.52

remember thinking how can they how do

302.479

they have enough to do if they're just

304.8

testing the software that I've built

306.88

there's not going to be you know I I

309.199

document my own code I there's not going

311.52

to be any issues. And the amount of

313.28

times they came back to me that that

315.039

first week with you need to fix this.

317.36

Let's let me show you what's happening

318.639

here. I was completely shocked. Um but

322.24

that to say that I I what I learned at

326

that point and then I started to learn

327.44

down the road is I need to think like a

329.199

QA person from the very beginning,

332.08

right? I need to write my own unit tests

334.8

so that I'm actually testing my software

337.44

internally. I need to do that in a smart

340.24

way. I don't need to go overboard with

342.24

my unit tests cuz then I'm maintaining

344.32

unit tests, not maintaining code. Um,

347.52

and then I also need to make sure that

349.84

the a QA developer understands what

352.639

those requirements are. You know, the

354.56

the old agile flip side of the card

357.039

where you would write the test on the

358.639

back. um that I don't think I can I I

362.88

can't remember a single place I've been

364.72

where anybody actually did that um in

367.52

the planning poker phase of agile until

370.319

a until a QA person came in and said I

372.319

don't see a test on this. What am I what

374

am I testing for? Um, and I think that's

376.96

the the aspect for us that is we're I'm

380.319

still struggling with is at what point

384.479

does an automate like let's say the

386.4

robot framework. Um, so a lot of the

390.08

testers that I've been working with in

391.68

the past have been using things like

393.44

robot and selenium to automate front-end

396.479

testing as well as backend testing. So

398.8

that combination of unit tests to then

401.919

um regression tests to then front end

404.16

and backend tests um in or in a let's

407.84

say a a green blue deployment process um

411.199

that that part of the process you need

414.16

to have the QA involved from the very

416

beginning because they need to know what

417.84

they're building what they're and that's

419.52

product management QA developers design

423.12

all need to be involved as early as

425.039

possible in that process so that you can

426.88

write those out. So what we we do in our

430.08

in our process is essentially the

434.08

developers are writing their unit tests

436.88

after they've finished a block of code.

439.039

They're not writing it before. And I

440.72

know that doesn't fit with the

442.56

testdriven development process, but I I

445.28

I will come back to that cuz I do want

447.199

to talk to you, Michael, about that. But

449.199

I I what I like about that approach is

452.72

we write minimal tests, right? So we in

455.599

other words we're not having to maintain

458.319

the tests we're just making sure that

461.28

once that test is written that

462.72

functionality works. So I think of it

464.319

more as uh if you're an object-oriented

467.759

programmer for example you're testing

469.84

the object for the essentially the CRUD

473.039

operations. You're not doing fieldle

475.52

testing cuz every time then you're

477.12

you're going back through and you're

478.479

rewriting tests. So I like to see that

482.319

happen early on in the process so that

485.44

you're every time you commit your code

487.36

you're committing your te your unit

488.879

tests as well and then QA gets involved

491.84

at the integration tests and especially

494.639

at the front end cuz and I I have a lot

497.759

of friends that are amazing front-end

499.919

developers but I think front end is

503.199

maybe the worst and and I know I'm going

506.16

to get in trouble for this at writing

508

tests. um they hate writing tests and

512.08

they almost never do a and I've I've had

515.599

so many times where I've I've asked to

518

see tests and they will tell me oh it's

520.8

yeah it's it's all automated I don't

523.36

have to write a test cuz it this

524.8

JavaScript framework is no no that's not

527.36

how it works um so we have to go back

529.839

and review that and I I think I think

533.04

the robot framework has helped me be

537.279

more accepting of that fact that a a

539.839

front-end developer and even a back-end

541.76

developer um can be resistant to tests

545.36

um up to a certain point to where then a

548.399

a Q and I I can already see the face of

551.04

one of my uh old QA uh [clears throat]

554.24

leads already sort of frowning at me

556.72

right now as I say this, but they're

558.88

covering for let's call the the laziness

562.32

of the software developer on the other

564.24

side. Um, and then they're going back

566.56

and making sure that those tests are are

569.68

accommodated for in the code with the

572

developer. And I I I don't necessarily

575.6

like that process, but I've yet to come

578.32

up with a a a better process that keeps

581.519

developers moving forward without using,

585.6

and this is something that I'm starting

587.12

to explore as well, is without using AI

589.519

to write the QA tests. And I don't mean

592.08

to put that out there as a replacement

594.56

for QA in any way, right? And we know

597.36

that we need people looking at all of

599.04

this. Um, and and developers need to be

601.6

in the process. And I think of QA as

603.92

developers as well. Um, and I think

606.959

that's the to me as a QA developer,

610.48

you're still a software developer.

612

You're just helping to ensure quality.

614.32

Um, and I think that they need to be

616.32

involved upfront. They need to be

618.079

involved with the the product discovery,

620.399

the the requirements, and often times I

623.519

one of the best QA leads I ever worked

626.079

with was helping with API models and

628.959

saying, "Oh, no, you need to adjust the

630.48

a the model to handle this occasion or

632.8

this use case." And so I think having

635.92

more eyes and ears on a problem is never

638.959

a bad thing and especially when you're

641.12

when you're building out in in the early

642.88

stages. So yeah, involve QA.

646.24

may don't don't go too far especially

648.8

early stages and then making sure that

651.36

you're at every step QA is in the loop

654.72

in all of those pieces and then I think

658.16

writing the test should be up to the QA

660.48

developer not the software so I've never

662.079

liked the flip the card approach

664.959

because that's I don't I think

667.36

developers should be focused on solving

670.88

the problem not not what problems might

673.44

jump up from that they should understand

676.72

what what uh the connections are. But if

679.279

it's and I come from the object-oriented

681.36

world too where if it's all it's

684.48

essentially encapsulated in one set of

686.32

of code, you shouldn't be worried about

688.079

breaking downstream things, right? Cuz

689.92

it should all be um encapsulated, but

693.2

sometimes it does. And so that's when QA

695.92

comes and gets involved. And they they

698.399

understand that more than most software

700.32

developers, I think. So with your whole

703.04

process because uh in the first half of

704.8

this you talked about you know uh the

706.48

transparency getting the project owners

708.24

the developers involved. So with this

711.279

APIs and tools you've been putting

713.519

together how do you show the

715.279

transparency or the level of test that

717.6

is uh being added as you build these

720.959

projects out so you know what's being

722.399

tested, what's not, what needs to be

724

covered. Uh and so also so you know when

726.639

you go to production, you know what can

728.399

you smoke test when it goes out there?

729.839

how much manual testing has to be done,

731.92

you know, how do you kind of manage that

733.76

transparency through this process of

735.44

yours?

736.72

>> Yeah. So, part of the issue for us is

739.36

about documentation inside of the

742.24

repository. So, we have a set of tools

745.279

and standards that we follow for every

747.839

every docker container essentially has

750.16

to have all of this already documented

752.399

in it. So if we know that we're using uh

755.44

let's say fast API and we want to use

758.16

piest to run all of the unit tests

760.399

there, we need to make sure that there

762.079

are a certain number of pi tests

764.639

essentially for each function that we've

766.48

written. And and we need to make sure

769.04

that essentially that those tests have

771.839

been executed with uh hooks essentially

774.72

before you check into git. Uh you have

777.04

to make sure that that these tests have

778.8

already been written. if there isn't a

780.48

test, it it runs it for you. It doesn't

783.2

see a test and then it it it pulls it

785.279

back and says make sure that you have

786.8

your test in before you check it in. So

789.279

hooks, pre-commit hooks into GitHub is

791.76

one way to to manage that and that's the

793.36

way that we do it. Um, but there's a lot

795.6

of other ways to to look at that as

797.519

well. The other thing that that we like

800.32

is like I said, I'm sort of fan of the

802.959

robot test framework. Um, is making sure

805.76

that that's built into your CI/CD tool

808.079

as well, right? so that it runs those

810.48

tests and the person responsible for

812.8

that is is always the developer that's

816.56

checking in the code. But he if he

819.2

doesn't know how to write those tests or

820.959

doesn't know how to use robot framework,

823.12

which is more often than not an excuse,

825.44

not really um the reality. They just

828.48

don't want to write the tests. Um then

830.8

they go to QA and say, can you help me

832.639

write these tests or can you get me

834.16

involved in writing this test? um or

837.44

more often than not, could you write

838.88

these tests for me? Um and that's that's

842

really where I think the that first

844.56

level is and and that's where the the

846.959

CI/CD should be running those tests,

850.16

making sure that that's happened before

851.839

you push out code to to even to your

854.639

development environment, much less your

856.72

integration environment or your um

858.72

production environment for sure. So it

860.88

should have been tested

862.88

on your local machine in CI/CD before it

865.92

goes to development and then again

867.519

before it goes to production at the very

869.519

least. Um and then that's the the the

872.8

last step and this is the part I still

874.959

to this day have trouble with getting

877.519

developers and myself even I I forget to

880.72

do this more often than not is um to

883.519

test the code that you just deployed in

885.12

production to make sure that it works.

887.519

Um and so following up not just with

890.48

with QA at at each step, but also then

893.68

getting QA involved in production

895.36

testing and making sure that you're

898.16

aware where they're testing and what

900.88

they're testing and that they can when

902.56

they follow up with an issue, it

904.48

shouldn't be something that uh could

906.56

have been discovered in a development

908.959

environment or or a integration

911.6

environment. often times it is uh but

914.88

that doesn't change the fact that you

916.32

should be following up and making sure

918.8

that [clears throat] those tests

919.68

happened and that somebody actually

921.279

monitored that or you're doing that

922.56

yourself in production as well.

925.04

>> So you mainly use some of the backend

927.199

tools and the hooks and that you're

928.399

talking about. you don't really have

929.44

that in this dashboard kind of

931.199

integration you have so that like the

932.959

PMs can see it and say oh you need we

935.839

need to think about this for testing as

937.76

you're building out the tickets and that

940.399

>> it does it does in the sense that um the

943.92

GitHub repository so we have a um an AI

948

tool that looks through um the history

951.519

of the commits for the day and then

953.12

creates a and so it's rather than and

956.079

rather than having a developer write

958.32

their standup report which is again can

961.6

feel like a huge waste of time sometimes

963.36

but it is very useful for the rest of

965.12

the team is we have the the AI actually

967.92

write that for you. It goes back through

969.6

looks at your commit messages and and

972.24

writes through that. If it doesn't see

973.839

anything about testing and it doesn't

976.079

see a test in there then it flags it and

978.639

it says there's no no tests were created

981.279

for this. And that is usually where a QA

984

person can then get involved and say,

985.44

"Hey, and to me a the first job of a QA

990.56

um person is again as a software

993.199

developer, but also as a somewhat of a

995.839

software manager, a side manager if you

998.16

will, um that's reviewing code, making

1001.199

sure that the the standards are met, the

1003.36

lint testing all went through, that all

1006.079

of those lints are in place, the

1007.6

llinters are are not being overridden in

1010.959

in the CIC. CD tool or anything like

1012.88

that, which is a common I've done that

1015.279

myself. Um, just because I needed to get

1017.44

something pushed out. Um, so yeah, they

1020.079

like reviewing that process as well as

1022.72

being involved in the the code review

1024.88

process and the pull request process. So

1027.12

that's really to me the thing that we're

1029.679

still missing that I want to add is the

1032.48

pull request process bringing that into

1035.439

our tool so that it's not you're you're

1038.799

you're seeing the notification in GitHub

1040.959

that there's a pull request that's been

1042.4

assigned to you and that get gets

1045.039

reported into your dashboard so that you

1047.52

then know oh I've got a pull request I

1049.2

need to review. you run the pull

1050.88

request, run and and anything and any

1052.88

comments that you bring into that get

1055.2

assigned directly to that developer or

1057.36

to that team so that you're then

1058.88

following up with it and and managing

1061.28

it, but also then seeing the comments

1063.679

that were made in the poll request and

1065.52

being able to then go through that so

1067.919

that again you can use an AI to review

1071.12

that process and say, you know, a number

1073.6

of pull requests are failing because the

1076.48

the the lint tests weren't run

1078.4

beforehand or they weren't running their

1080.88

unit tests before it was run or they

1082.72

overrid this because they really wanted

1084.24

to push something through. So, being

1085.679

able to follow up and I'm sure there's

1087.039

all kinds of other areas that you could

1089.2

review and look at from just just from

1091.2

looking at pull requests and the

1093.28

comments that have and that happen in

1094.88

there. It's a it's not just a and I

1097.52

always I always get stuck on this is I

1100.32

try not to make it about blame like it's

1102.799

not who who wrote this bad test or who

1105.6

didn't follow the test. It's just it's a

1108

learning process, right? And going back

1109.76

through and seeing those pull requests

1111.919

and what was constantly, you know, this

1114.64

maybe a lead developer was always saying

1116.48

do this, do this, do this. And maybe he

1118

was right and we weren't doing it or

1119.679

maybe that was an unnecessary step that

1121.919

we could remove [clears throat] at some

1123.36

point and it helped to again speed up

1125.52

our velocity a little bit.

1127.84

>> So before I hand this back to you, Rob,

1130.4

just one followup to that. Um, one thing

1133.44

to think about and considering is a lot

1135.44

of your languages and tools now have uh

1138.64

like test profilers that will actually

1140.32

scan the code and tell you what test or

1142.64

what code is covered by test and what

1144.72

aren't. Uh, which is something you can

1146.64

really utilize with AI today. So, just

1149.2

if you're not looking at something like

1150.64

that, that's something you might want to

1152

consider with your processes. And with

1154.32

that, that's up to you.

1156.559

>> That's a good point though. I I think

1158.08

that again as a developer sometimes the

1162

QA process kind of goes into back of

1164.08

mind um and even when we're looking at

1166.559

the product backlog where you know we're

1168.48

still going back through and it's always

1170.24

like oh yeah what do we do about testing

1171.84

here or what do we do about QA here um

1174.4

and and so yeah it's a good point to

1176.16

like where we can automate things we

1178.24

absolutely should be and then where we

1180.64

where we need human eyes on that uh is

1183.44

essentially you know following up with

1185.76

each step of that automation

1188.64

And I I want to go back to a little bit

1190.559

of the idea of uh you know I don't know

1192.799

how many time same boat that we're you

1194.559

know overridden a llinter tool or or you

1197.6

know just push something through because

1201.283

[gasps] you know because the sometimes

1202.72

the process is I mean maybe that's just

1204.4

me being a little lazy and being a

1205.679

developer but sometimes the process gets

1207.039

in the way and it's like look we need to

1208.48

get this we need to get this done. the

1210.72

process does not push the ball forward

1212.96

and it is a little bit of the agile

1214.559

thing where it's like the process should

1216.16

not hold your you know hold you

1218.16

accountable I mean it should hold you

1219.2

accountable but not hostage basically

1221.919

that's the the challenge [clears throat]

1222.96

is to like

1224.64

>> to not just kneejerk do that I mean it's

1226.48

like it's one thing if you do it once

1228.159

and like okay I'm going to flag this and

1230.08

it's an exception and we're going to

1231.28

move forward versus it becomes a norm

1234.32

and then the next thing you know the cuz

1236.799

there's those have bet me and I've seen

1239.28

it in other places too where it's like

1241.28

this was here, this check was there and

1243.36

it just got ignored, ignored, ignored

1244.88

and that was fine until it wasn't. It's

1247.44

like it goes back to maybe communication

1249.28

of like this is why this is here. So,

1252.96

and it and technical debt, everybody's

1254.96

favorite thing to like just let it keep

1257.52

piling up is the okay, I pushed it

1260.559

through. However, we need to go back and

1263.36

fix that, address that, clean that up

1265.679

now rather than later. And that's a

1269.28

little bit I know it's a little bit me

1270.4

getting on my soap box, but it's also

1272

because we're a little bit out of time.

1273.919

And obviously we could do this for days.

1276.88

Uh there's a lot of of great

1278.32

conversations here, a lot

1279.229

[clears throat] of directions we could

1280.08

go and I know listening

1282.799

>> is like this this guy knows his stuff.

1285.28

This guy's got a lot of cool stuff. I

1286.96

might want to go read that book. Um so

1289.6

how what is the best way for people to

1291.36

get a hold of you and and reach out and

1293.039

get to learn a little bit more about you

1294.32

and and the process in your book?

1296.88

Yeah, for sure. Uh, so Bibli.io is is

1299.6

usually the best place to go. Everything

1301.28

that I do is sort of linked through

1303.76

there and um be but beyond that that I

1307.2

have a sort of a page for my book as

1311.44

well as a blog that I do through it's

1313.36

called radical theapy.dev.

1316

Um, and almost everything goes through

1318.64

there and and LinkedIn of course is

1321.2

where everything gets uh shared as well.

1323.52

So, those are those are the best ways to

1325.039

get in touch and and to follow up with

1327.28

these things. But, yeah, I I I

1330.24

especially appreciate anyone that goes

1332.32

through. We have we have a pretty simple

1334.4

process to sign up for a 30-day free

1337.12

trial. And you can sort of see our our

1340

book and everything else that we've done

1341.919

is all in our process and our tools. And

1344.32

so, you can see how we work and and how

1346.24

we do things. And we're always open to

1348

feedback. That's the I mean, that's the

1350.08

point of agile, right? That's the point

1351.6

of software development is you're not

1353.52

building things in a vacuum for

1354.96

yourself. You're building things for for

1357.12

other people, right? And so the more

1359.679

feedback we can get from users, the

1361.36

better. Especially seasoned developers,

1364

but also junior developers, I think, are

1366.96

the the most undervalued

1370.159

part of your team is the new person

1372.08

that's coming in and looking at it with

1373.679

fresh eyes. Um, and I I'd love to get

1376.72

new new developers involved, junior

1378.48

developers, people that are just

1379.679

starting to look at it and just say,

1381.6

"Oh, this seems upside down to me. Why

1383.919

don't you do it this way?" Right? Uh,

1386

and so I that to me that's the best way

1388.48

to if you've got fresh eyes and want to

1390.799

look at some of the problems that we're

1392

doing. Love to hear that.

1394.24

>> Yeah. It solves my uh a lot of times

1395.919

those new people that come in are the

1397.2

ones that solve my favorite problem is

1398.799

the you know, that's the way we've

1400.48

always did it kind of response.

1401.716

[laughter]

1402.72

Then suddenly um and sometimes they get

1404.48

it's I know it's frustrating like all of

1406.32

us were new at some point when you're

1407.679

frustrating you're like okay well that

1409.12

doesn't really help me understand this

1411.28

and it's even worse when lady you

1412.559

realize it's like oh yeah actually they

1414.559

shouldn't have done it that way and

1415.84

that's that's as I've you know trying to

1418.159

keep that pain when when it was me to be

1421.039

on the other side of it and think about

1422.4

it and keeping that open mind of like

1424.32

okay maybe we do need to re you know

1426.64

revisit this review it because stuff

1428.96

change you know things change things

1430.88

evolve you know AI for example which we

1433.039

did almost no talking about it at this

1434.72

conversation other than mention of it is

1436.88

obviously changing a lot of things that

1438.72

are out there and so whatever we did uh

1441.52

even now like agile like agile manifesto

1444.32

is about I don't know now about 25ish

1447.44

years old something like that and I

1450.08

remember when it first came out it was

1451.52

the latest thing the gang and then um

1454.32

you know in the same line was like to me

1456.48

it was all in with like patterns and

1457.919

agile and these are the thing this is

1459.52

future software development and all that

1461.2

stuff has grown and evolved and

1463.52

everything that you did 20 years ago

1465.76

probably 15 years ago was already like

1468

pay and there's better ways to do it and

1469.919

then 10 and then five and what we're

1471.919

doing today I'm sure people five years

1473.6

from now I'll be like I can't believe

1474.96

people are still using this archaic

1477.279

approach so you know it is always evolve

1480.32

or you know evolve or die I guess is a

1482.559

part of this

1483.919

>> I want to thank you so much for your

1485.36

your time I appreciate you and the crowd

1488.72

I'm sure there is a standing ovation I'm

1491.2

being drowned out by the the applause in

1493.039

the background here. Uh this is a great

1495.12

conversation. This was uh this is the

1496.64

kind of stuff we'd love to have where we

1498

can go a little deeper and talk about

1500.32

some things that actually a lot of these

1501.679

areas I didn't even think we were going

1503.12

to get into u but I think are very I

1506.159

think they're very critical for moving

1507.76

forward. It it really does go back to

1509.6

like okay you say you're doing agile.

1511.76

What really is agile? And if it's if

1514.96

what you're doing is broken, and you've

1517.2

given a perfect example of that with

1518.559

Buildly, is like if what you're doing is

1520.32

broken, then like let's embrace your

1522.799

inner laziness and your desire to get

1525.039

through these things and automate the

1526.32

things that stink and

1528.72

make [clears throat] some changes. You

1529.679

go out there and suggest some

1530.799

differences and and you know, start to

1532.799

evolve. You don't have to be a slave to

1534.799

what you think the process is. Uh and

1537.44

particularly agile, like it literally

1539.679

tells you don't be a slave to that. like

1542.48

adjust it as your team and your projects

1545.44

>> and too often I think the

1547.76

>> uh what I have seen now with scrum and

1549.52

some of that kind of stuff and sprints

1550.96

that it's it's too much been equated to

1554

agile and that's how you have to do it

1556.4

and there are too many examples I know

1558

of projects that really don't work with

1560

that as you have obviously found out as

1562.24

well.

1563.76

>> Absolutely. Yeah. And I I think the the

1565.919

laziness gene that's in all of us as

1568.4

developers, the AI tools, if we ever get

1571.36

another chance to talk about AI tools

1573.279

and how to use them to automate away

1575.76

those those things, it's it's

1578

ridiculously easy now to build something

1581.039

to do make your own backlog sort of

1583.6

approach if you need to or or or to get

1586.48

those things out of the way. the the

1588.159

artifacts that get generated even though

1590.08

agile is an anti-artifact sort of

1592.799

approach to to software development,

1594.559

they still get generated and they

1596.26

[clears throat] still have to be

1597.039

updated. And so usually it's a it's a

1599.679

product manager that needs a document

1601.6

here or CEO that needs something there.

1604.96

Yeah. So AI like using that to to manage

1608.4

that's that's where it shines. Simple,

1610.799

boring, repetitive tasks, that's where

1612.96

it's good.

1614.48

>> Yeah. I have found that that is um that

1617.2

is an area that was very very early on

1619.52

with AI when I started using it that I

1621.52

have I've embraced and it's u when you

1624.88

when really you just need the artifact

1627.279

the rest of the stuff's there and it's

1628.88

really just okay I've got to go about

1630.24

the you know the grunt work or whatever

1631.76

of generating the artifact whether it is

1633.52

a uh I mean and sometimes it's a simple

1635.76

document sometimes it is something that

1637.679

you know that this is there are other

1639.2

tools for it but things like having a

1641.12

you know an API document like the things

1643.6

that like swagger and some of those

1644.96

tools do so do so well and yeah they

1648

require us a little bit of forethought

1649.76

to make sure we do it in a way that and

1651.679

I think that's where it's going to be

1652.72

from here is like doing it a way that AI

1654.799

can then easily consume it and do the

1658.08

stuff that we we really don't want to

1660.159

slow us down like you said where you

1661.76

don't want the you want the developers

1663.52

writing the code and the functionality

1664.88

you don't want them stuck trying to

1666.08

figure out how to create tests and then

1667.6

fix the test for what they're coding

1669.76

it's like finding a way to get the

1671.279

things done

1672.32

>> and then you a use AI to sort of walk

1674.799

behind us and clean up the mess a little

1676.399

bit and say, "Okay, well, fine. I didn't

1678.32

get that done. Go do this for me."

1680.64

>> Yeah, exactly. I think that's the that's

1683.12

the primary use case now and will be for

1685.52

a long time for for any AI tools,

1688.08

development tools, is is going to be

1689.52

just about automating those those boring

1692.399

things away and education just teaching

1694.96

you how to how to do better and then

1696.64

following up, right? You know, and

1698.72

again, I don't I don't mean to to put

1700.96

Michael your job in the in the in the

1703.36

line of AI, but I do think reviewing

1706.159

tests and writing tests and then making

1707.76

sure that that code can be cleaned up.

1709.679

That's where AI and a Q a good QA

1711.84

developer could write something really

1714.399

well with an AI tool and do it even

1717.279

faster. And I think that's the it's more

1719.2

about to me it's it's about building up

1721.279

your velocity and and creating a team

1724.32

that works better together. That's where

1726.159

the AI tools can really help.

1728.72

>> 100%.

1730.24

Well, um that will wrap this one up.

1733.76

Um some nice little bonus material there

1736.24

as well as we got a couple little, you

1737.919

know, suggestions at the end. Uh we will

1740.559

we ran this uh we we turn this around

1742.96

pretty quick. I think this probably will

1744.32

show up as early as Tuesday and Thursday

1746.399

of next week. We drop on Tuesdays and

1748.08

Thursdays. If not, it'll be the week

1749.6

after. Um I will send links out uh when

1752.399

we do so. So you feel free to share them

1754.32

wherever wherever you want. Edit them

1755.84

out however you want. Um we will post

1758.399

them. We have a we do a blog article on

1761.12

our site. It's out on YouTube. It's out

1763.12

on um out on all the different places

1766.08

that you can get podcast things like

1767.919

that. So feel free to share as as as

1770.48

much as you like. uh really have enjoyed

1772.799

this uh and you like like I said we may

1775.44

reach I may reach out again sometime in

1777.12

the the future a few months from now and

1779.2

say all right let's let's have some

1780.559

other conversations because there's we

1782.159

left a lot on the table that we could

1783.76

have gone into uh and I have a feeling

1786

that we will all have different opinions

1787.36

of those three six and you know 12

1789.12

months out yeah absolutely for sure yeah

1791.46

[clears throat]

1794.24

>> all right we'll let you go and thanks

1796.64

you a lot thank you for your time

1797.919

appreciate it and we'll be in touch

1799.52

again

1800.399

>> yeah know thanks It was it was fun. Hope

1802.64

hopefully we will get a chance to to hit

1804.88

those things later on.

1806.32

>> Definitely. We'll be Michael's working

1807.84

on his tester driven de test driven

1810

development notes as we speak.

1812

>> Oh, good. Yeah, I need some defensive

1813.6

test driven development. All right.

1815.6

>> Thanks, guys. Talk later, guys.

1816.799

>> Talk to you later. Take care.

1822

>> All right. So, uh, bonus material there,

1824.88

uh, because we did cut it off as far as

1826.64

you know, we cut that off on the audio

1828.72

right before we got into the AI bonus.

1831.44

Um, so we'll wrap this one up. I want to

1834.559

thank Greg again for his time. Um,

1838.08

really appreciate this was this was

1839.76

really one of those that it's it's funny

1841.279

sometimes. I I had not spoken with him

1844.32

before this. You look at some of the

1845.76

things that people do and what their

1846.88

background is and what their focus is

1848.799

and you're like, "Cool. This is where

1850.159

it's going to go." And you know, 15

1853.039

seconds into the conversation, it goes a

1854.799

completely different direction. But

1856.399

honestly, this was one of my favorite

1858.96

like conversations I've had that I've

1861.12

been able to record in in quite a while.

1863.12

Um, you guys ever get a chance to check

1865.679

out lunch club, although I think it's

1867.279

almost impossible to get into it now.

1868.88

Um, or things like that. There's like

1870.72

one-on- ons and stuff like that if you

1872.399

can find them is like just find a way to

1874.559

sit down with people like this and talk

1876.32

tech for a while. Um, even if it, you

1879.039

know, if you work with people that you

1880.559

can talk to, great. If you don't find

1882.32

the people, especially now with people

1883.76

remote everywhere. Um, this is like once

1886.559

again, if you got a tenth out of this

1888.399

that I got out of it, it was more than

1890.24

worth your while. Thank you so much for

1892.64

your time. Appreciate you guys hanging

1894.08

out with us. Uh, as always, check us out

1897.039

at developer.com, Facebook.com, the

1900.32

developer channel, uh, out on YouTube.

1902.96

We've got content of plenty through all

1906.08

of those. Feel free to leave us leave us

1908

feedback wherever you see any of those

1910.32

things. We will be happy to work with

1911.84

you. Even if something we did years ago,

1913.84

we'll do our best to update it and let

1916

you know where we went with that or what

1917.36

went on with it or how it is going on

1919.519

today.

1921.2

As always, go out there and have

1922.64

yourself a great day, a great week, and

1925.039

we will talk to you next time.

1932

Okay, part one wrapping up. Um,

1936.08

let's do my three, two,