YouTube2Text

Run Your AI Software Factory Like a Real Engineering Org (Here's How) — Transcript

by Cole Medin · 4,175 words · 589 segments · language en · Watch on YouTube

Full transcript

  1. 0:00My AI software factory is hands-down my
  2. 0:02biggest project right now. I've spent
  3. 0:04hundreds of hours refining it over the
  4. 0:06course of this year, and it's even
  5. 0:07gotten to the point where I've started
  6. 0:08to help companies incorporate this kind
  7. 0:10of system. Not replacing all their
  8. 0:12engineering, but using a software
  9. 0:14factory for certain teams and certain
  10. 0:16applications. But, as I've been going
  11. 0:18through these engagements, it's become
  12. 0:20quite apparent to me that the factory by
  13. 0:22itself is not enough. When you get to an
  14. 0:24enterprise level, or you just have a lot
  15. 0:25of applications, you need a sort of
  16. 0:27wrapper around the factory to make sure
  17. 0:30that it has all of the guardrails,
  18. 0:31context, and observability that you
  19. 0:33need. Because the AI software factory
  20. 0:36represents the most autonomous form of
  21. 0:38AI coding. We still have some human in
  22. 0:40the loop so we can communicate what we
  23. 0:41want, we plan that release with the
  24. 0:43agent, and then we send that into the
  25. 0:44harness to split it into tasks and
  26. 0:46implement them in a loop. Now, it's not
  27. 0:48a black box because we're engineering
  28. 0:50the harness that goes through this, but
  29. 0:52you can see how when we really start to
  30. 0:53scale the factory, we do need that
  31. 0:55harness to help us manage everything.
  32. 0:57Now, I could [clears throat] always
  33. 0:58build this wrapper myself, but like I'll
  34. 0:59show you in this video, it's not that
  35. 1:01simple. There's a lot more to it than
  36. 1:03what meets the eye. And I don't want to
  37. 1:05be focused on that part of the factory.
  38. 1:07I want to be focused on the underlying
  39. 1:08engineering loop that's doing the actual
  40. 1:10development. And so, I've been searching
  41. 1:12far and wide recently to find a platform
  42. 1:15that gives me this wrapper, but still
  43. 1:17allows me to run my own custom harness
  44. 1:19for the development. And I have found an
  45. 1:22exact match. Port is the platform that
  46. 1:24gives me exactly what I need. It gives
  47. 1:26me the layer of context and
  48. 1:28observability and guardrails over my
  49. 1:29factories. Like it's integrated directly
  50. 1:31with my pull requests, it's watching
  51. 1:33everything, it's giving me a health
  52. 1:34check across my repository, a lot more
  53. 1:37that I'll show you here. But all the
  54. 1:38while, I still get to run my software
  55. 1:40factory. And so, I'll show you how this
  56. 1:42all works right now. Not just to give
  57. 1:44you a Port tutorial, but to show you how
  58. 1:46they're incorporating all these
  59. 1:47different concepts that really start to
  60. 1:49matter once you have a lot of factories
  61. 1:51and you care about like ownership of
  62. 1:53different components and how you can
  63. 1:55have a central layer of context for all
  64. 1:57your factories. There is a lot of cool
  65. 1:59stuff to get into here.
  66. 2:00And let me tell you, it was a hard
  67. 2:02requirement because of the effort I put
  68. 2:04into this harness for me to not have to
  69. 2:06change it when I incorporate a platform
  70. 2:08like Port. And so, the entire
  71. 2:10architecture that I showed in one of my
  72. 2:11last videos that I'll link to right
  73. 2:13here, I'm still using it exactly. I'm
  74. 2:15just using Port to add the wrapper
  75. 2:17around it for four core things that
  76. 2:19we're going to cover today. We'll talk
  77. 2:21about the agent and skill registry, the
  78. 2:23context lake, the standards we can apply
  79. 2:26to every single factory, and how we have
  80. 2:28the control to match each factory to
  81. 2:30those standards as they evolve. And so,
  82. 2:33the biggest takeaway for you as we go
  83. 2:34through everything here is just learning
  84. 2:36from Port. What does it take to take a
  85. 2:38software factory to an enterprise level,
  86. 2:40and what are the different components?
  87. 2:41Because let me tell you, Port knocks it
  88. 2:43out of the park. There is a reason why
  89. 2:45I'm partnering with them, and I'm so
  90. 2:47interested in incorporating my software
  91. 2:48factory with Port. They're really doing
  92. 2:51it the right way, and I've even had some
  93. 2:52conversations learning from them how I
  94. 2:54can incorporate my software factory with
  95. 2:56their platform, and now bringing that to
  96. 2:58you so you can take inspiration from
  97. 2:59everything here. And so, if you haven't
  98. 3:01seen it yet, or just as a refresher, I
  99. 3:03want to start by going over my
  100. 3:04underlying software factory, the core
  101. 3:06engineering loop. And then this will set
  102. 3:08the stage for Port and the components
  103. 3:09that I have on top of it. And so, let me
  104. 3:12be very clear. If you are just getting
  105. 3:14started incorporating a software factory
  106. 3:16or building one, I encourage you to keep
  107. 3:18it simple and stick to the core loop.
  108. 3:20But everybody is going to have to scale
  109. 3:22at some point, and that is when it's
  110. 3:23going to be really important to have
  111. 3:25things like an agent and skill registry
  112. 3:27and a context lake. And so, we'll get to
  113. 3:28that, but let's start with the
  114. 3:29underlying loop here. So, the way that I
  115. 3:31always start with my software factory is
  116. 3:33I begin by planning the next release.
  117. 3:36And so, for Greenfield, this means
  118. 3:38planning the proof of concept for my
  119. 3:39application. For Brownfield, it means
  120. 3:41planning the next epic, the next set of
  121. 3:43tasks, whatever you want to call it.
  122. 3:45Generally, something that can be split
  123. 3:46into 10 to 20 tickets. And so, we're
  124. 3:49very much a part part process with the
  125. 3:50agent here creating something like a PRD
  126. 3:53document. It's really up to you what you
  127. 3:55create. The point is you have some kind
  128. 3:57of context to go into the core loop of
  129. 3:59the factory. Because now the agent is
  130. 4:01going to take that planning and figure
  131. 4:03out exactly how to split it into tasks
  132. 4:05and even do dependency mapping so it can
  133. 4:07figure out what loops it can run in
  134. 4:08parallel versus other work that has to
  135. 4:10wait for different tickets to be
  136. 4:12finished. And so then with every single
  137. 4:14issue or ticket that it creates from the
  138. 4:16split, it's going to send each one
  139. 4:17through the core engineering loop. Then
  140. 4:19every time the core loop runs, and I
  141. 4:21usually just have a cron job to trigger
  142. 4:23it on a schedule basis, it's going to
  143. 4:24start by picking the next issue to
  144. 4:26implement based on priority order and
  145. 4:28the dependency mapping. And then it's
  146. 4:30going to take that and go through the
  147. 4:31full plan, implement, and validate
  148. 4:33cycle. So it's going to plan around the
  149. 4:35bug or new feature, whatever the issue
  150. 4:37is describing. It's going to implement
  151. 4:39based on the plan and then go through
  152. 4:41very comprehensive testing. So it's
  153. 4:42going to validate the application
  154. 4:44exactly as a user would, right? Like
  155. 4:46what is the user journey we can go
  156. 4:47through to test this new feature. And
  157. 4:50then it's going to spin up a separate
  158. 4:51agent to perform a code review on the
  159. 4:53pull request and only once all the
  160. 4:56checks are green with our CI and the
  161. 4:58code review from the other agent, then
  162. 5:00we can merge. And typically, we're not
  163. 5:02just going to merge straight to
  164. 5:03production. I don't really believe in
  165. 5:04that for software factories. It's more
  166. 5:06get it on a branch that's going to be
  167. 5:08deployed to staging. And so we take the
  168. 5:10entire release, we run a bunch of loops
  169. 5:12to go through all the tickets, and we
  170. 5:14get everything set up in a staging
  171. 5:16environment. So now we at the end can go
  172. 5:18through and validate things in batch. We
  173. 5:20don't have to sit there and code review
  174. 5:22and test every individual issue. We can
  175. 5:24test everything at once. And then if
  176. 5:25there's anything that's off with any of
  177. 5:27the features or whatever we wanted to
  178. 5:28build, we just send that in as new
  179. 5:31issues to the factory. So it can
  180. 5:32automatically pick up any of our
  181. 5:34feedback, implement that, and then we
  182. 5:36can iterate. Typically just a couple of
  183. 5:37times, and then once everything's
  184. 5:38looking good in the staging environment,
  185. 5:40we ship to production. So there you go.
  186. 5:42That is a couple of minutes, just a very
  187. 5:44high-level of my underlying engineering
  188. 5:46loop. I covered a lot more in that video
  189. 5:48I linked to earlier, but now that you
  190. 5:50understand this, we can talk about the
  191. 5:52problems that we encounter when we
  192. 5:54really start to scale the factory and
  193. 5:56run multiple. And so right now there are
  194. 5:58four core components of Port that I want
  195. 5:59to cover with you just to show you what
  196. 6:01it truly takes to scale a software
  197. 6:03factory. And they help you with a lot
  198. 6:05more than just this as well. There are
  199. 6:07so many considerations that go into
  200. 6:09scaling a software factory. Like another
  201. 6:11one is thinking about ownership. Because
  202. 6:13when we have our factory running with
  203. 6:15all these different agents, a lot of
  204. 6:16times they're borrowing our credentials
  205. 6:18for things like our GitHub account. And
  206. 6:20so when something breaks in production
  207. 6:21and we trace it to a commit from a
  208. 6:23certain account, we don't really know,
  209. 6:24is it the engineer or is it their
  210. 6:26agents? And so that's why Port also
  211. 6:28helps us by assigning identities to all
  212. 6:30the agents running in our factories. And
  213. 6:32speaking of our agents, that brings us
  214. 6:34to the first one here with our registry.
  215. 6:37Every agent and every skill has an owner
  216. 6:39and we're going to sort of version
  217. 6:40control everything within Port so that
  218. 6:43we can pull it into our factories as
  219. 6:45needed. So Port calls themselves the
  220. 6:47harness around your software factory for
  221. 6:50orchestration, context, governance, and
  222. 6:52measurement. And this in my mind is the
  223. 6:54first big component for this. So let me
  224. 6:56show you in Port what this looks like.
  225. 6:58There's a lot of inspiration we can take
  226. 6:59here for how we manage our skills and
  227. 7:02agents for our factory. And so what the
  228. 7:04skill registry gives me is a central
  229. 7:06place to store every single skill that
  230. 7:08I'm using in any of my factories. And
  231. 7:10it'll help me identify the number of
  232. 7:12distinct versions that I have. It's bad
  233. 7:15for this number to be high generally
  234. 7:16because it means that my skills have
  235. 7:18drifted across my different factories.
  236. 7:20As much as I can, I want to maintain one
  237. 7:22version of every skill and then
  238. 7:24distribute it from the registry.
  239. 7:26And by the way, the reason the skill
  240. 7:28registry is so important is because
  241. 7:29every single step within my underlying
  242. 7:32engineering loop is driven by a skill. I
  243. 7:34don't just have a couple of lines for a
  244. 7:36prompt. I have an elaborate skill that's
  245. 7:38defining my exact process for everything
  246. 7:41here. The only reason I trust the
  247. 7:42software factory is because I'm spending
  248. 7:44a lot of time engineering the harness
  249. 7:46and the skills and agents are a very big
  250. 7:49part of that. So, we have the skill
  251. 7:50registry and going to their demo
  252. 7:52environment, we can also see a better
  253. 7:53example what it looks like to assign
  254. 7:55ownership and the publish status, even
  255. 7:57building out our skill life cycle for
  256. 7:59how we can rerun certification or making
  257. 8:01updates to our skills, rejecting
  258. 8:03publishes, deprecating them over time,
  259. 8:05right? Like managing the life cycle of
  260. 8:07our skills for our factories is also
  261. 8:08very important. And we're going to be
  262. 8:09doing a very similar thing for the
  263. 8:11agents we're running throughout as well.
  264. 8:13So, the skills are simply our workflows,
  265. 8:15but agents are roles within our factory.
  266. 8:18Like we have the planner that helps us
  267. 8:20build that release up front, the backlog
  268. 8:22splitter that takes that plan and splits
  269. 8:23it into tickets. And for every single
  270. 8:25one of these agents, we have the
  271. 8:26platform we're using for it. Like some
  272. 8:28parts of our factory we're going to
  273. 8:29drive with Claude code, other parts we
  274. 8:31could drive with Codex or Pi. We have
  275. 8:33the model defined for each one, the
  276. 8:35permissions for what it's able to touch
  277. 8:37or what it can't do, the approval
  278. 8:39status. And so, we have this registry of
  279. 8:41everything that's driving the entire
  280. 8:43underlying harness. And so, I still get
  281. 8:45to define the agents and skills for
  282. 8:46exactly how I want to run my factory.
  283. 8:48Portless helps me manage it all and make
  284. 8:50it very easy for me to reuse these
  285. 8:52things, pull from the registry for every
  286. 8:54factory that I'm running. So, this tab
  287. 8:56is my actual agent registry, but going
  288. 8:58to their demo environment again, you can
  289. 9:00see what it looks like when we have more
  290. 9:01runtime platforms. Like running part of
  291. 9:03our factory in GCP Vertex AI or AWS
  292. 9:06Bedrock, a lot of what enterprises are
  293. 9:08doing. And just like we have the skills
  294. 9:10life cycle, we also have the agent life
  295. 9:11cycle for how we're creating new agents,
  296. 9:13promoting them, updating their
  297. 9:15permissions. You want to have an owner
  298. 9:17within the organization that's managing
  299. 9:19these things for the different
  300. 9:20factories. Now, the next really
  301. 9:22important component to cover here is the
  302. 9:24context lake. And this is probably my
  303. 9:26favorite part of Port, even though I
  304. 9:27love it all. Because here's the thing,
  305. 9:29our underlying engineering loop, what we
  306. 9:31have consisting of our agents and skills
  307. 9:34that we pull from the registry, this is
  308. 9:36really just our process. It has nothing
  309. 9:38to do with business context, and we need
  310. 9:41a lot of that if we really want to set
  311. 9:43our factories up for success. And so,
  312. 9:44obviously, connecting our factories to
  313. 9:47our GitHub repos and directly to CI, but
  314. 9:50also platforms like Jira and Slack, so
  315. 9:52it has business context and even
  316. 9:54knowledge of things like who owns the
  317. 9:56different applications and features that
  318. 9:58we're building. Now, going back to their
  319. 10:00demo environment really quickly, they
  320. 10:01have a good really good example of what
  321. 10:02it looks like when we have a rich
  322. 10:04context lake. Because as our factory is
  323. 10:07working with the higher level planning
  324. 10:08we do with it, and even as it's going
  325. 10:10through the individual tickets, there's
  326. 10:11a lot of information that's critical,
  327. 10:14where it can't just get that by looking
  328. 10:15at the code base. It needs extra
  329. 10:17business context from things like Slack
  330. 10:19or SharePoint or Jira. For example,
  331. 10:21knowing is a human required before we
  332. 10:24would maybe approve the merge, cuz some
  333. 10:25things you might want to be more
  334. 10:26autonomous, other things you need more
  335. 10:27of a review because the blast radius
  336. 10:29might be high. And again, determining
  337. 10:31this kind of thing, you can't always do
  338. 10:32it from just the code base, especially
  339. 10:34things like the service tier in the
  340. 10:35domain. Like, this is a
  341. 10:37marketing-related feature. Here's the
  342. 10:38owner that we'd want to send approval
  343. 10:40to. Having the factory not just work
  344. 10:42entirely in isolation, but figuring out
  345. 10:44the places where we need a human,
  346. 10:46especially for certain things, that is
  347. 10:48what Port helps us manage with the
  348. 10:49context lake.
  349. 10:51Now, of course, Port also has very rich
  350. 10:53information on the code base itself with
  351. 10:54your pull requests and the status of the
  352. 10:56factory and CI and all of that. But what
  353. 10:58I want to show you right now is more of
  354. 10:59the business context that we need to
  355. 11:01especially pull in when we're first
  356. 11:03doing the planning. So, when we're
  357. 11:05actually having the conversation with
  358. 11:06our agent establishing the plan before
  359. 11:08we send it into the factory, we're still
  360. 11:11going to be using Port because of the
  361. 11:12context lake. And so, the exact prompt
  362. 11:15that I have here is not really important
  363. 11:16to go into a detail. I'm essentially
  364. 11:18just planning what I want to create up
  365. 11:19front with my agent, and I'm using the
  366. 11:22Port MCP server to pull key information
  367. 11:25from the context lake. And here we're
  368. 11:27pulling things like the ownerships of
  369. 11:29the repositories, templates we can use
  370. 11:31as a starting point, the readiness of
  371. 11:33the repo. There is so much context that
  372. 11:35we're pulling here. And of course, you
  373. 11:36can tune how you're using the Port MCP
  374. 11:38server to figure out what you're
  375. 11:39pulling, what you're searching. And in
  376. 11:41Port, you can decide the platforms that
  377. 11:43you're connecting, like GitHub and Jira
  378. 11:44and Slack. The important thing here is
  379. 11:46after it makes all these calls, it's
  380. 11:48just in a better place to help us plan
  381. 11:50for the factory run itself and exactly
  382. 11:52what we're going to build. And so right
  383. 11:54here, like it figured out the owners,
  384. 11:55the factory team, the repos at bronze,
  385. 11:57that's the readiness of the repo to
  386. 11:59become like we'll talk about in a little
  387. 12:01bit. And so all this now goes into us
  388. 12:03having a conversation with our agent
  389. 12:05using Port's context to assist to create
  390. 12:08that PRD. That is what we plan, and then
  391. 12:10this is what we send into the factory.
  392. 12:12And by the way, none of this is
  393. 12:13theoretical. I've already built a lot of
  394. 12:15apps with my software factory and Port.
  395. 12:17Like this is the demo that I have for
  396. 12:18today, just one of many applications
  397. 12:20I've built. And so this is a team
  398. 12:22knowledge base, a central place for
  399. 12:24people to get answers across
  400. 12:25repositories. It's not the most
  401. 12:27elaborate application, but I built this
  402. 12:29over just two days using Port and my
  403. 12:31software factory, completely hands-off
  404. 12:34after I built that initial PRD. And so
  405. 12:37it's a rag application under the hood
  406. 12:39where I can ask questions to the central
  407. 12:40knowledge base, it'll search through
  408. 12:42everything, and you'll even have source
  409. 12:44citation. And it looks pretty good
  410. 12:46overall. It's not the fanciest thing
  411. 12:48like I said, but this is pretty
  412. 12:49impressive for just letting it rip for a
  413. 12:51couple of days. And if we look in Port,
  414. 12:53we have full management of everything.
  415. 12:55And so all the pull requests that I
  416. 12:56created, there's 20 in total for this
  417. 12:59release that I created a PRD for. We can
  418. 13:01see all of them in Port with their
  419. 13:03status, and we can click into this and
  420. 13:05get a lot more detail. And we also have
  421. 13:07the scorecard. This is the readiness of
  422. 13:10our repo, the things that we need to
  423. 13:11have in place so it's truly ready to
  424. 13:13become an autonomous factory. And this
  425. 13:15is the standard that we can apply to
  426. 13:17every software factory. So essentially
  427. 13:19what we have here is a readiness check.
  428. 13:21Is our repository ready to become a
  429. 13:24software factory? Are we ready for that
  430. 13:26level of autonomy? Now, Port can't check
  431. 13:29everything because we do bring our own
  432. 13:31engineering loop, but it is able to
  433. 13:32check the high-level things. Like, do we
  434. 13:34have an owner defined for the
  435. 13:35repository? That's very important like a
  436. 13:37part of our context like like we're
  437. 13:38talking about earlier. Does it have a
  438. 13:40readme, a PR template, does it have a CI
  439. 13:42workflow, and is CI passing on main? If
  440. 13:44all these things are checked, then we
  441. 13:47are gold and we are ready to implement
  442. 13:49the factory into this repository. And
  443. 13:51so, for all the other repos that I have
  444. 13:53that are not gold, this is usually how
  445. 13:54we'll start where we have a sort of
  446. 13:56laundry list of things that we have to
  447. 13:58address in our repository before we are
  448. 14:01ready to just turn on the autonomy.
  449. 14:04Now, not only does this set of standards
  450. 14:05give us a checklist to work against as
  451. 14:08we initially set up our factory, but
  452. 14:10also every single time we have a pull
  453. 14:11request merged, Port is going to grade
  454. 14:13that merge against the standards that we
  455. 14:16have here. So, for example, when CI is
  456. 14:18failing, we know we have to do something
  457. 14:20about it. It's reported in Port and it's
  458. 14:22even going to go through a workflow
  459. 14:24where we can approve addressing this
  460. 14:26problem, creating an issue in the
  461. 14:28factory, just like all the other work we
  462. 14:30do to address the problem in the
  463. 14:31codebase itself. And so, I actually have
  464. 14:33a demo prepared to show you what this
  465. 14:35looks like.
  466. 14:36All right, so I've recorded this ahead
  467. 14:37of time to very quickly show you both
  468. 14:39the scorecards and controls working
  469. 14:41together in Port. These are the last two
  470. 14:43big components I want to show you. And
  471. 14:45so, what we have here to start is a
  472. 14:47workflow. We can build workflows in Port
  473. 14:49to help us manage our context like our
  474. 14:51factories, everything. And so, I'm going
  475. 14:53to go ahead and play this here and just
  476. 14:54kind of talk through everything that's
  477. 14:55happening. And so, this is our workflow
  478. 14:57to fix our scorecard whenever there is
  479. 15:00an issue. And so, what I'm doing here is
  480. 15:02I'm purposely making CI fail in my
  481. 15:05workflow. And we'll see that Port is
  482. 15:07automatically going to detect that and
  483. 15:09that's going to trigger the workflow so
  484. 15:11it proposes to me. I have to approve it,
  485. 15:13but it's going to propose creating an
  486. 15:15issue to address CI failing in the
  487. 15:17repository. Now, obviously this is a
  488. 15:19little bit forced because you can see
  489. 15:20that I'm making a commit to purposely
  490. 15:22break it, but the point is your CI
  491. 15:25starts failing all of the time in a real
  492. 15:27code base because you always have tests
  493. 15:29that are flaky or things that break when
  494. 15:31you're making changes. And so we want
  495. 15:33Port to identify that. That's what we're
  496. 15:34showing right here. And so now we have a
  497. 15:36back-end failure in our CI. And so going
  498. 15:39back to Port, look at that. It went from
  499. 15:41gold to silver. The readiness is down
  500. 15:43because we have CI failing. And so now
  501. 15:45we can see an execution of this
  502. 15:47workflow. It is now waiting for our
  503. 15:49approval. It detected the failure and
  504. 15:51now it's saying, "Hey, I want to create
  505. 15:52a GitHub issue so that we have the
  506. 15:54factory automatically pick it up and fix
  507. 15:56the CI." So we have sort of this
  508. 15:58self-improvement using Port to guide it.
  509. 16:00Okay, so we approve it, which means now
  510. 16:02we're going to go and automatically
  511. 16:04create the issue in GitHub. I'll pop
  512. 16:06over there so you'll see that we have
  513. 16:08the new issue, which means the next lap
  514. 16:10is going to pick this up and then fix
  515. 16:12the CI automatically. And then I'll kind
  516. 16:13of skip ahead here to show what that
  517. 16:14looks like. So we get to the point where
  518. 16:16the lap has addressed it, it's merged,
  519. 16:18our CI is green, and then going back to
  520. 16:21Port, we go back from silver to gold
  521. 16:23because our CI is passing. And so it's
  522. 16:26autonomous with human in the loop at
  523. 16:28least for that fast approval, but
  524. 16:29besides us quickly approving things,
  525. 16:32everything is self-improving. So it's
  526. 16:33able to detect when CI is failing. So
  527. 16:36especially if your CI is elaborate
  528. 16:38enough where you're confident green CI
  529. 16:40means the application is in a healthy
  530. 16:42state, this is a really important
  531. 16:44addition that Port gives us to make our
  532. 16:46repository self-improving.
  533. 16:49So there you go. With that, we've
  534. 16:50covered all four of the core parts of
  535. 16:51Port that I wanted to hit on today,
  536. 16:53helping us evolve our software
  537. 16:55factories. And the most important thing
  538. 16:57with everything here is the human in the
  539. 16:59loop. I really respect and resonate with
  540. 17:01how Port has built the human in the loop
  541. 17:03throughout the entire harness. Because
  542. 17:05when I first started building my
  543. 17:07software factory, it was more of what I
  544. 17:09call a dark factory where there's no
  545. 17:11human in the loop at all. Not doing the
  546. 17:13planning up front with the agent, no
  547. 17:14staging environment, it's going straight
  548. 17:16to production. It's not going to ask for
  549. 17:18our approval when it adjusts things
  550. 17:20within CI, right? Like it could adjust
  551. 17:22its own harness. It could literally do
  552. 17:23anything and we have no visibility. And
  553. 17:26I purposely moved away from that. I
  554. 17:28still want to make the process as
  555. 17:30autonomous as possible, but it has to be
  556. 17:32within reason. There needs to be certain
  557. 17:34things where we have human in the loop.
  558. 17:36And so Port's philosophy with their
  559. 17:37larger harness is we build in the
  560. 17:40owners. We have the context like we do
  561. 17:42the planning. We have the approval when
  562. 17:44we are working with the standards
  563. 17:46because we need human in the loop and
  564. 17:48then we just remove that when we see
  565. 17:50fit. But for the most part, we aren't
  566. 17:52just going to be completely lights out
  567. 17:54like I used to do with the dark factory.
  568. 17:56So just another golden nugget to end
  569. 17:58things off for you here. And so I hope
  570. 17:59that this video was useful for you
  571. 18:00overall giving you inspiration and ideas
  572. 18:03for truly scaling your software
  573. 18:05factories. And Port just has a great
  574. 18:07platform that's an option for you to do
  575. 18:09so. And like I said, I did work with
  576. 18:11Port on this video. And Port is free for
  577. 18:13up to 15 seats. No credit card required.
  578. 18:15You can go ahead and try it right on
  579. 18:17your repositories. You can try it for
  580. 18:19free with a link that I'll have in the
  581. 18:20description. And thanks to Port for
  582. 18:22working with me on this. And so with
  583. 18:24that, if you found these ideas useful
  584. 18:26for you, you're interested to follow my
  585. 18:27content on agentic engineering and
  586. 18:30building out my software factory, I
  587. 18:31would really appreciate a like and a
  588. 18:33subscribe. And with that, I will see you
  589. 18:35in the next video.

About this transcript

This page contains the full transcript of Run Your AI Software Factory Like a Real Engineering Org (Here's How) by Cole Medin, generated from the public captions YouTube serves with the video. The transcript has 4,175 words across 589 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.