<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es-CR"><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://jdetrizep.github.io/en/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jdetrizep.github.io/en/" rel="alternate" type="text/html" hreflang="es-CR" /><updated>2026-06-05T18:37:38-06:00</updated><id>https://jdetrizep.github.io/feed.xml</id><title type="html">Blog jdetrizep</title><subtitle>Este es un blog de tecnología, orientado para amantes de desarrollo y para compartir conocimiento adquiridos.</subtitle><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><entry xml:lang="en"><title type="html">AI-First in the SDLC - From Code to Orchestration and from Operation</title><link href="https://jdetrizep.github.io/en/AI_First_SDLC_Operativo_Evolutivo/" rel="alternate" type="text/html" title="AI-First in the SDLC - From Code to Orchestration and from Operation" /><published>2026-05-11T05:00:00-06:00</published><updated>2026-05-11T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_SDLC_Operativo_Evolutivo-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_SDLC_Operativo_Evolutivo/"><![CDATA[<h1 id="-ai-first-sdlc-from-code-to-orchestration-and-from-operation-to-organizational-evolution">🧠 AI-First SDLC: from code to orchestration and from operation to organizational evolution</h1>

<p>When we talk about artificial intelligence in software development, the conversation usually stays on productivity.</p>

<p>On writing code faster.
On automating tasks.
On “doing more with less”.</p>

<p>But that is only the surface.</p>

<p>Today we are facing a much deeper change:</p>

<blockquote>
  <p><strong>The transition toward an AI-driven SDLC is not just a technological change… it is an operational and organizational change.</strong></p>
</blockquote>

<p>And understanding this is key to avoid falling into the most common mistake:</p>

<p>👉 adopting AI without a clear strategy for how to integrate and govern it.</p>

<figure>
<img src="./AI_First_SDLC_Operativo_Portada2.png" alt="Bob across the entire SDLC" loading="lazy" />
<figcaption>Fig 1. Bob across the entire SDLC.</figcaption>
</figure>

<h2 id="-ai-first-is-not-just-speed-it-is-responsibility">🧠 AI-First is not just speed… it is responsibility</h2>

<p>When we analyze models like AI-Native SDLC or the maturity models
for AI adoption, something becomes evident:</p>

<blockquote>
  <p><strong>AI without proper governance is not a competitive advantage… it is an accelerator of risks and technical debt.</strong></p>
</blockquote>

<p>And this completely changes the conversation.</p>

<p>We are not just talking about tools, we are talking about how we redesign the way we build
software.</p>

<h2 id="️-the-change-is-not-technical-it-is-organizational">⚙️ The change is not technical… it is organizational</h2>

<p>This is not a change exclusive to the development team, it is an organizational change because the impact is not in the SDLC phases, the phases still exist:</p>
<ul>
  <li>Analysis.</li>
  <li>Design.</li>
  <li>Development.</li>
  <li>Testing.</li>
  <li>Deploy.</li>
</ul>

<p>But what radically changes are the activities within each phase. We move from:</p>
<ul>
  <li>Linear processes.</li>
  <li>Manual execution.</li>
  <li>Human-centered development.</li>
</ul>

<p>To:</p>
<ul>
  <li>Continuous iterations.</li>
  <li>Automated processes.</li>
  <li>Development driven by AI agents.</li>
  <li>Developer-led orchestration.</li>
</ul>

<h2 id="-the-developers-new-role">👨‍💻 The developer’s new role</h2>

<p>The developer stops being primarily the one who writes code and becomes the one who:</p>
<ul>
  <li>Validates AI-generated solutions.</li>
  <li>Analyzes architectural decisions.</li>
  <li>Orchestrates agents.</li>
  <li>Approves changes.</li>
</ul>

<p>It is a much more strategic role.</p>

<p>And this is not the future…</p>

<p>👉 this is already happening.</p>

<h2 id="️-operating-model-from-writing-code-to-orchestrating-intelligence">⚙️ Operating Model: from writing code to orchestrating intelligence</h2>

<p>This is where many conversations fall short. Because when AI in development is discussed, there are still those who
see it as a “copilot that helps write code faster”. But that is already behind us.</p>

<blockquote>
  <p><strong>The real change is not writing code faster… it is no longer being the one who writes code, to become the one who orchestrates the intelligence that generates it.</strong></p>
</blockquote>

<p><strong>This is not a future projection. We are talking about a change that has already begun to impact the way we build software.</strong></p>

<h3 id="-the-developers-evolution-from-executor-to-orchestrator">👨‍💻 The developer’s evolution: from executor to orchestrator</h3>

<p>Today AI is not just another tool within the stack.</p>

<p>👉 It is an <strong>additional member of the development team</strong>.</p>

<p>But here there is a critical point we cannot ignore:</p>

<blockquote>
  <p><strong>AI being part of the team does not mean it operates without control.</strong></p>
</blockquote>

<p>Quite the opposite. This raises the developer’s responsibility to another level:</p>
<ul>
  <li>Defining how the AI interacts.</li>
  <li>Validating its results.</li>
  <li>Supervising its behavior.</li>
  <li>Ensuring it complies with standards.</li>
  <li>And, above all, <strong>governing it</strong>.</li>
</ul>

<p>Because the success of AI in an organization does not depend on how good the tool is, it depends on how well it is <strong>orchestrated</strong>.</p>

<figure>
<img src="./AI_First_SDLC_Operativo_Orquestación.png" alt="Orchestration Operating Model" loading="lazy" />
<figcaption>Fig 2. Orchestration Operating Model.</figcaption>
</figure>

<h3 id="-they-are-not-new-phases-they-are-new-activities">🧩 They are not new phases… they are new activities</h3>

<p>We are not creating a new SDLC. The phases remain the same. But within them new activities appear that completely change the dynamics of the process:</p>
<ul>
  <li>Prompt Engineering.</li>
  <li>Agent Orchestration.</li>
  <li>Human-in-the-loop.</li>
  <li>AI-driven QA.</li>
</ul>

<h3 id="-an-interconnected-system-not-a-checklist">🔄 An interconnected system (not a checklist)</h3>

<p>Proper Prompt Engineering:</p>

<p>👉 Allows the AI to propose more accurate solutions.</p>

<p>👉 Improves the quality of generated code</p>

<p>But those results:</p>

<p>👉 must be constantly validated by the human factor (Human-in-the-loop)</p>

<p>That validation:</p>

<p>👉 is, in essence, AI governance</p>

<p>That governance:</p>

<p>👉 takes shape through agent orchestration (Agent Orchestration)</p>

<p>And all of this:</p>

<p>👉 is enhanced through automated quality processes (AI-driven QA)</p>

<h3 id="️-the-critical-piece-is-not-one-it-is-the-balance">⚖️ The critical piece is not one… it is the balance</h3>

<p>There is no single most important piece. Because:</p>
<ul>
  <li>Without a good Prompt → the AI loses precision.</li>
  <li>Without validation → risks increase.</li>
  <li>Without orchestration → there is no control.</li>
  <li>Without QA → there is no scalability.</li>
</ul>

<blockquote>
  <p><strong>It is not a chain… it is a gear mechanism.</strong></p>
</blockquote>

<h3 id="-key-insight">🧠 Key insight</h3>

<p>👉 It is not about using AI.</p>

<p>👉 It is about <strong>designing how AI works within the SDLC</strong>.</p>

<h2 id="-evolutionary-model-organizational-maturity-in-the-ai-first-era">📈 Evolutionary Model: organizational maturity in the AI-First era</h2>

<p>So far we have talked about <strong>how to operate with AI within the SDLC</strong>. But there is a much more important question:</p>

<p>👉 <strong>How prepared is the organization really to sustain that over time?</strong></p>

<h3 id="-it-is-not-a-lack-of-intention-it-is-a-lack-of-landing-it">🚧 It is not a lack of intention… it is a lack of landing it</h3>
<p>Today most organizations:</p>
<ul>
  <li>Know they must adopt AI.</li>
  <li>Are experimenting.</li>
  <li>Are seeing results.</li>
</ul>

<p>But they have not managed to land a clear model. They are evolving, but at a very accelerated speed.</p>

<figure>
<img src="./AI_First_SDLC_Operativo_Evolutivo.png" alt="Organizational Evolutionary Model" loading="lazy" />
<figcaption>Fig 2. Organizational Evolutionary Model.</figcaption>
</figure>

<h2 id="️-the-silent-risk-moving-forward-without-governance">⚠️ The silent risk: moving forward without governance</h2>

<blockquote>
  <p><strong>If we don’t make strategic decisions today, by the time we want to react… it will already be too late.</strong></p>
</blockquote>

<p>Many organizations are adopting AI without:</p>
<ul>
  <li>A governance model.</li>
  <li>A sustainable strategy.</li>
  <li>A long-term vision.</li>
</ul>

<p>And that turns AI into:</p>

<p>👉 An accelerator of technical debt.</p>

<p>👉 A multiplier of risks.</p>

<h3 id="-the-gap-between-perception-and-reality">😏 The gap between perception and reality</h3>

<p>Many organizations believe they are already leveraging AI. But the reality is different:</p>

<blockquote>
  <p><strong>We have not yet seen the true potential of a fully mature and integrated AI.</strong></p>
</blockquote>

<h3 id="-the-biggest-challenge-is-not-technical">🧠 The biggest challenge is not technical</h3>

<p>Yes, there are technological challenges. But the real challenge is:</p>

<blockquote>
  <p><strong>Organizational culture.</strong></p>
</blockquote>

<h3 id="-culture-talent-and-governance">🧩 Culture, talent, and governance</h3>
<ul>
  <li>Culture → the hardest change.</li>
  <li>Talent → it is built along the way.</li>
  <li>Governance → the fundamental element.</li>
</ul>

<h3 id="-key-insight-1">🔥 Key insight</h3>

<p>👉 The operating model defines how we use AI.</p>

<p>👉 The evolutionary model defines how prepared we are to sustain it.</p>

<h2 id="-project-bob-from-tool-to-cognitive-companion-in-the-sdlc">🤖 Project Bob: from tool to cognitive companion in the SDLC</h2>

<p>👉 Think of assistants like IBM Project Bob, conceived not as a tool, but as a development companion within the team.</p>

<p>Bob:</p>
<ul>
  <li>Understands the system.</li>
  <li>Analyzes code.</li>
  <li>Proposes improvements.</li>
  <li>Automates processes.</li>
</ul>

<h3 id="-hybrid-teams">👥 Hybrid teams</h3>

<p>Humans + AI working as co-workers.</p>

<h3 id="-developers-evolution">🔄 Developer’s evolution</h3>
<ul>
  <li>Orchestrator.</li>
  <li>Validator.</li>
  <li>Architect.</li>
  <li>Responsible for governance.</li>
</ul>

<h2 id="-conclusion">🔥 Conclusion</h2>

<p>Adopting AI in the SDLC is not a matter of tools or productivity. It is a transformation that impacts how we design, develop, validate, and govern our systems. The real challenge is not in using AI, but in integrating it with intention:</p>
<ul>
  <li>With a clear operating model</li>
  <li>And an organizational maturity that allows sustaining it over time.</li>
</ul>

<p>Because without governance, speed becomes risk. And without strategy, innovation becomes technical debt. In the end, the difference will not be in who adopts AI first, but in who integrates it best.</p>

<blockquote>
  <p><strong>It is not just about modernizing the code, but about modernizing the way we think and work.</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="SDLC" /><category term="Modelo Orquestación" /><category term="Modelo Evolutivo" /><category term="Project BOB" /><summary type="html"><![CDATA[AI-First in the SDLC - From code to orchestration and from operation to organizational evolution]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_Development_Bob/AI_First_SDLC_Operativo_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_Development_Bob/AI_First_SDLC_Operativo_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First Development with IBM Bob Part III</title><link href="https://jdetrizep.github.io/en/AI_First_Development_Bob3/" rel="alternate" type="text/html" title="AI-First Development with IBM Bob Part III" /><published>2026-04-27T05:00:00-06:00</published><updated>2026-04-27T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_Development_Bob3-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_Development_Bob3/"><![CDATA[<h1 id="project-bob-mcp-and-the-future-of-agentic-development">Project Bob, MCP and the future of Agentic development</h1>

<p>In recent years, development assistants have evolved from simple autocompletion tools into systems capable of generating complete code from natural language instructions.</p>

<p>However, the real change is not solely about generating code faster.</p>

<p>The most profound change occurs when artificial intelligence ceases to limit itself to code and begins to <strong>interact with real tools, data, and systems within the enterprise environment</strong>.</p>

<p>That is where concepts like <strong>Model Context Protocol (MCP)</strong> and <strong>agentic</strong> development come in.</p>

<figure>
<img src="./Blog3_AI_First_Development_Portada2.png" alt="Bob and its Model Context Protocol (MCP)" loading="lazy" />
<figcaption>Fig 1. Bob and its Model Context Protocol (MCP).</figcaption>
</figure>

<h2 id="from-copilots-to-agents">From copilots to agents</h2>

<p>The evolution of AI in development has gone through several stages:</p>

<h3 id="1-autocompletion">1. Autocompletion</h3>
<p>Tools that suggested code fragments and completed lines.</p>

<h3 id="2-copilots">2. Copilots</h3>
<p>Tools capable of generating complete functions, explaining code, and proposing refactorings.</p>

<h3 id="3-development-agents">3. Development agents</h3>
<p>Systems that can:</p>
<ul>
  <li>analyze complete repositories</li>
  <li>execute tools</li>
  <li>interact with APIs</li>
  <li>query databases</li>
  <li>automate workflows</li>
</ul>

<p>This is where <strong>Project Bob</strong> appears.</p>

<figure>
<img src="./Evolución_Desarrollo_Con_AI.png" alt="Evolution of development with AI" loading="lazy" />
<figcaption>Fig 1. Evolution of development with AI.</figcaption>
</figure>

<h2 id="the-problem-of-context">The problem of context</h2>

<p>Language models can generate excellent code, but without access to the project’s real environment their capacity remains limited. For example, they normally cannot:</p>
<ul>
  <li>Query real data.</li>
  <li>Interact with internal systems.</li>
  <li>Discover existing functionalities.</li>
  <li>Execute tools from the enterprise ecosystem.</li>
</ul>

<p>This is where <strong>Model Context Protocol</strong> appears.</p>

<h2 id="what-is-mcp">What is MCP?</h2>

<p>The <strong>Model Context Protocol (MCP)</strong> is a standard that allows AI agents to interact with external tools. This enables access to capabilities such as:</p>
<ul>
  <li>Enterprise APIs.</li>
  <li>Databases.</li>
  <li>Internal tools.</li>
  <li>Cloud services.</li>
  <li>Legacy systems.</li>
</ul>

<p>MCP turns language models into <strong>consumers of tools within a digital ecosystem</strong>, which allows them to integrate into a digital ecosystem and access a wide variety of capabilities.</p>

<h2 id="mcp-architecture">MCP architecture</h2>

<p>A typical architecture includes three main components:</p>

<h3 id="the-agent">The agent</h3>
<p>In this case <strong>Project Bob</strong>.</p>

<h3 id="the-mcp-server">The MCP server</h3>
<p>Exposes tools that the agent can use.</p>

<h3 id="the-tools">The tools</h3>
<p>Represent concrete capabilities.</p>

<p>Example:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>GET_CUSTOMER_PRICING  
GET_ORDER_HISTORY  
CALCULATE_DISCOUNT
</code></pre></div></div>

<p>Tools usually return information structured in JSON.</p>

<h2 id="mcp-and-legacy-systems">MCP and legacy systems</h2>
<p>One of the most interesting aspects of MCP is the integration with existing systems. Many organizations possess critical logic in:</p>
<ul>
  <li>RPG.</li>
  <li>COBOL.</li>
  <li>Java legacy.</li>
  <li>PL/SQL.</li>
  <li>C#.</li>
  <li>IBM i.</li>
</ul>

<p>Rewriting these systems is costly. With MCP we can <strong>expose that logic as tools consumable by agents</strong>.</p>

<p>For example:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>GET_CUSTOMER_PRICING
</code></pre></div></div>

<p>This allows reusing existing enterprise logic within AI‑First architectures.</p>

<h2 id="agentic-architecture">Agentic architecture</h2>
<p>When we combine agents with tools, an agentic architecture appears. Conceptually:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Developer
   │
   ▼
AI Agent (Project Bob)
   │
   ▼
MCP Layer
   │
   ├ API Tools
   ├ Database Tools
   ├ Legacy Tools
   ├ Cloud Services
   │
   ▼
Enterprise Systems
</code></pre></div></div>

<p>These systems can include:</p>
<ul>
  <li>IBM i</li>
  <li>databases</li>
  <li>APIs</li>
  <li>cloud services</li>
  <li>internal platforms</li>
</ul>

<h2 id="what-changes-for-developers">What changes for developers</h2>
<p>The developer’s role evolves.
Before:</p>
<ul>
  <li>Writing code.</li>
  <li>Creating services.</li>
  <li>Integrating APIs.</li>
</ul>

<p>Now:</p>
<ul>
  <li>Designing tools.</li>
  <li>Defining reusable capabilities.</li>
  <li>Governing interactions between agents.</li>
  <li>Building intelligent automation ecosystems.</li>
</ul>

<h2 id="aifirst-development-in-action">AI‑First Development in action</h2>
<p>Project Bob allows:</p>
<ul>
  <li>Analyzing systems.</li>
  <li>Generating code.</li>
  <li>Applying engineering rules.</li>
  <li>Collaborating on technical design.</li>
</ul>

<p>MCP allows:</p>
<ul>
  <li>Connecting AI with real tools.</li>
  <li>Integrating enterprise systems.</li>
  <li>Creating agentic architectures.</li>
</ul>

<p>The combination of both enables <strong>AI‑First Development in real enterprise environments</strong>.</p>

<h2 id="final-reflection">Final reflection</h2>

<p>The future of development will probably not be defined only by languages or frameworks. It will be defined by <strong>how developers, agents, and tools interact within the same ecosystem</strong>. Project Bob represents a clear signal of that direction. Not because it writes code automatically. But because it forces us to start thinking about software development in a different way.</p>

<blockquote>
  <p><strong>It is not just about modernizing the code. It is about modernizing the way we think and work.</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><summary type="html"><![CDATA[AI-First Development - Project Bob, MCP and the future of Agentic development]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_Development_Bob/Blog3_AI_First_Development_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_Development_Bob/Blog3_AI_First_Development_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First Development with IBM Bob Part II</title><link href="https://jdetrizep.github.io/en/AI_First_Development_Bob2/" rel="alternate" type="text/html" title="AI-First Development with IBM Bob Part II" /><published>2026-04-13T05:00:00-06:00</published><updated>2026-04-13T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_Development_Bob2-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_Development_Bob2/"><![CDATA[<h1 id="advanced-techniques-for-working-with-project-bob">Advanced techniques for working with Project Bob</h1>
<p>In the previous article I talked about a central idea: <strong>Project Bob should not be seen merely as a code generator, but as an agent capable of collaborating in the design, analysis, and implementation of software</strong>. That shift in perspective is fundamental. Understanding Bob as a development agent opens the door to new ways of working where artificial intelligence stops being just a productivity tool and starts becoming a <strong>technical collaborator within the development process</strong>.</p>

<p>In this second article of the series we will explore <strong>advanced techniques that allow you to truly get the most out of Project Bob</strong>.</p>

<figure>
<img src="./Blog2_AI_First_Development_Portada2.png" alt="Representation of Bob's tool ecosystem." loading="lazy" />
<figcaption>Fig 1. Bob's Tool Ecosystem.</figcaption>
</figure>

<h2 id="1-the-most-common-mistake-using-bob-as-a-simple-prompt-box">1. The most common mistake: using Bob as a simple prompt box</h2>
<p>One of the most frequent mistakes when starting to work with AI tools is treating them as a simple text box where you write isolated instructions. This approach works, but it only takes advantage of a small part of the potential of tools and uses we have available with Project Bob.</p>

<p>Bob can:</p>
<ul>
  <li>Read files.</li>
  <li>Modify code.</li>
  <li>Execute commands.</li>
  <li>Interact with external tools.</li>
  <li>Analyze the full context of the project.</li>
</ul>

<p>When we understand this, the interaction with the tool changes completely.
Instead of asking for isolated code, we begin to ask the agent to:</p>
<ul>
  <li>Analyze existing systems.</li>
  <li>Evaluate design decisions.</li>
  <li>Identify technical debt.</li>
  <li>Propose refactorings.</li>
  <li>Suggest architectural improvements.</li>
</ul>

<h2 id="2-bob-rules-teaching-bob-how-your-team-works">2. Bob Rules: teaching Bob how your team works</h2>
<p>One of the most powerful capabilities of Project Bob is the possibility of defining <strong>engineering rules</strong>. These rules allow you to establish standards that the agent must follow when working on a project. Instead of relying on repeated prompts, you can define guidelines such as:</p>
<ul>
  <li>Naming conventions.</li>
  <li>Architecture standards.</li>
  <li>Security policies.</li>
  <li>Testing requirements.</li>
  <li>Documentation rules.</li>
</ul>

<p>Example of a rules structure:</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>.bob/rules/
  01-general.md
  02-coding-style.md
  03-security.md
  04-testing.md
  05-architecture.md
</code></pre></div></div>

<p>These rules transform Bob from a generic tool into an agent aligned with the team’s engineering discipline.</p>

<h2 id="3-global-instructions-vs-project-instructions">3. Global instructions vs project instructions</h2>
<p>Project Bob lets you manage two types of instructions:</p>

<h3 id="global-instructions">Global instructions</h3>
<p>They apply to all projects. Examples:</p>
<ul>
  <li>Preference for clean code.</li>
  <li>Emphasis on security.</li>
  <li>Documentation style.</li>
  <li>Personal conventions.</li>
</ul>

<h3 id="project-instructions">Project instructions</h3>
<p>They apply only to the current workspace. Examples:</p>
<ul>
  <li>Specific technology stack.</li>
  <li>Allowed libraries.</li>
  <li>Mandatory architecture.</li>
  <li>Repository naming rules.</li>
</ul>

<p>Separating these levels allows you to maintain a consistent base while respecting the particularities of each project.</p>

<h2 id="4-custom-modes-creating-specialized-agents">4. Custom Modes: creating specialized agents</h2>
<p>Bob lets you create <strong>custom modes</strong>, which in practice means creating specialized agents for specific tasks. Examples:</p>
<ul>
  <li>Security Reviewer.</li>
  <li>DevOps Engineer.</li>
  <li>Documentation Writer.</li>
  <li>Performance Analyst.</li>
</ul>

<p>Conceptual example of a custom mode:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">customModes</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="na">slug</span><span class="pi">:</span> <span class="s">security-review</span>
    <span class="na">name</span><span class="pi">:</span> <span class="s">Security Reviewer</span>
    <span class="na">roleDefinition</span><span class="pi">:</span> <span class="s">You are a security specialist reviewing code for vulnerabilities</span>
</code></pre></div></div>

<p>This allows the agent to adopt different roles depending on the type of task being performed.</p>

<figure>
<img src="./Custom_Mode_Bob.png" alt="Custom Modes of Bob." loading="lazy" />
<figcaption>Fig 2. Custom Modes Bob.</figcaption>
</figure>

<h2 id="5-enhance-prompt-improving-the-quality-of-requests">5. Enhance Prompt: improving the quality of requests</h2>
<p>Many problems when working with AI do not come from the model’s capability, but from the quality of the prompt. Project Bob includes a function called <strong>Enhance Prompt</strong>, which allows you to transform a simple instruction into a more structured request. For example:</p>

<p>Simple prompt:</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Analiza este programa RPG
</code></pre></div></div>

<p>Enriched prompt:</p>
<ul>
  <li>Program structure.</li>
  <li>File usage.</li>
  <li>Business logic.</li>
  <li>Embedded SQL.</li>
  <li>Error handling.</li>
  <li>Standards compliance.</li>
</ul>

<p>This kind of expansion significantly improves the quality of the analysis.</p>

<h2 id="6-context-mentions-and-tagging">6. Context Mentions and Tagging</h2>
<p>Another fundamental technique is the use of <strong>context mentions</strong>, which allow you to add real project context to the conversation. This is achieved using the <code class="language-plaintext highlighter-rouge">@</code> symbol. Examples:</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@/src/auth/login.ts
@problems
@terminal
</code></pre></div></div>

<p>This allows Bob to work with:</p>
<ul>
  <li>Specific files.</li>
  <li>Project errors.</li>
  <li>Terminal output.</li>
  <li>Recent commits.</li>
</ul>

<p>The result is a much more precise analysis.</p>

<figure>
<img src="./Context_Metions_Tagging.png" alt="Context, Metions &amp; Tagging" loading="lazy" />
<figcaption>Fig 3. Context, Metions &amp; Tagging.</figcaption>
</figure>

<h2 id="7-checkpoints-experimenting-without-risk">7. Checkpoints: experimenting without risk</h2>
<p><strong>Checkpoints</strong> allow you to save the state of the workspace before making important changes. This enables an exploratory workflow:</p>
<ol>
  <li>Create checkpoint.</li>
  <li>Experiment with changes.</li>
  <li>Evaluate the result.</li>
  <li>Restore if necessary.</li>
</ol>

<p>This functionality is especially useful when performing:</p>
<ul>
  <li>Large refactorings.</li>
  <li>Module reorganization.</li>
  <li>Architectural experiments.</li>
</ul>

<h2 id="8-auto-approve-productivity-with-responsibility">8. Auto-Approve: productivity with responsibility</h2>
<p>The <strong>Auto-Approve</strong> function allows Bob to perform actions without asking for confirmation every time. This can significantly accelerate the workflow. However, it must be used with care. Practical recommendation:</p>
<ul>
  <li>low risk → auto approve</li>
  <li>medium risk → human review</li>
  <li>high risk → mandatory confirmation</li>
</ul>

<h2 id="9-literate-coding-writing-intent-inside-the-code">9. Literate Coding: writing intent inside the code</h2>
<p>Literate Coding allows you to write instructions in natural language directly inside the source file. Example:</p>
<pre><code class="language-Java">    // create a function that calculates the order total
    // apply volume discounts
</code></pre>
<p>Bob analyzes the file context and generates the corresponding implementation. This reduces friction between intent and code.</p>

<h2 id="10-security-scans">10. Security Scans</h2>
<p>Project Bob also includes integrated security functions:</p>
<ul>
  <li>Vulnerability Scan.</li>
  <li>Secrets Scan.</li>
</ul>

<p>These tools allow you to detect:</p>
<ul>
  <li>Exposed credentials.</li>
  <li>API keys.</li>
  <li>Tokens.</li>
  <li>Common vulnerabilities.</li>
</ul>

<p>This introduces a <strong>shift-left security</strong> approach within development.</p>

<h2 id="11-mcp-the-point-where-bob-becomes-a-platform">11. MCP: the point where Bob becomes a platform</h2>
<p>The Model Context Protocol (MCP) allows Bob to connect with external tools. This enables integrations with:</p>
<ul>
  <li>APIs.</li>
  <li>Databases.</li>
  <li>Internal tools.</li>
  <li>Legacy systems.</li>
</ul>

<p>For example, an existing RPG program could be exposed as an MCP tool and consumed by the agent. This opens the door to <strong>agentic</strong> architectures where AI interacts directly with enterprise systems.</p>

<h2 id="final-reflection">Final reflection</h2>
<p>When you observe all these capabilities together — rules, custom modes, enriched prompts, checkpoints, literate coding, integrated security, and MCP — it becomes clear that Project Bob is not simply a code assistant.</p>

<p>It is a <strong>technical collaboration platform powered by artificial intelligence</strong>. The difference is not only in generating code faster. The difference is in <strong>how we begin to integrate intelligent agents within the real software development process</strong>.</p>

<h2 id="next-article">Next article</h2>
<p>In the third article of this series we will explore: <strong>Project Bob, MCP, and the future of Agentic development</strong>. We will see how agents can interact with tools, enterprise systems, and complete platforms to transform the way we build software.</p>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><summary type="html"><![CDATA[AI-First Development - Advanced techniques for working with Project Bob]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_Development_Bob/Blog2_AI_First_Development_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_Development_Bob/Blog2_AI_First_Development_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First Development with IBM Bob</title><link href="https://jdetrizep.github.io/en/AI_First_Development_Bob/" rel="alternate" type="text/html" title="AI-First Development with IBM Bob" /><published>2026-03-30T05:00:00-06:00</published><updated>2026-03-30T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_Development_Bob-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_Development_Bob/"><![CDATA[<h1 id="ai-first-development-how-to-turn-project-bob-into-your-code-architect">AI-First Development: how to turn Project Bob into your code architect</h1>
<p>For years, programming assistants have evolved from simple autocomplete tools to sophisticated copilots capable of generating complete code. However, the real challenge of modern development has never been just writing code.</p>

<p>The real challenge is <strong>understanding complex systems, designing sustainable architectures, and maintaining software that evolves over years</strong>.</p>

<p>This is where a new paradigm begins to emerge: <strong>AI-First Development</strong>.</p>

<p>In this new approach, artificial intelligence is not limited to suggesting lines of code. Instead, it becomes an <strong>agent capable of understanding the system’s context, analyzing architectures, and proposing structural improvements</strong>.</p>

<p>One of the tools driving this transition is <strong>Project Bob</strong>, a development assistant designed to work directly within the development environment and collaborate with the programmer on tasks that go far beyond code generation.</p>

<h2 id="the-paradigm-shift-from-assistants-to-agents">The paradigm shift: from assistants to agents</h2>
<p>Most current development assistants are based on a reactive model.</p>

<p>The typical flow is simple:</p>

<p>Developer → requests code\AI → generates a response</p>

<p>This model is useful, but limited. The AI responds to specific instructions without fully understanding the system it is working on.</p>

<p>Project Bob introduces a different approach.</p>

<p>Instead of behaving solely as a code generator, Bob acts as a <strong>development agent that can understand the project’s context, analyze existing code, and actively collaborate in the software-building process</strong>.</p>

<p>This completely changes the way we interact with AI within development.</p>

<p>Instead of asking for isolated code, we can ask the AI to <strong>analyze the system, identify problems, and propose architectural solutions</strong>.</p>

<figure>
<img src="./Evolución_Desarrollo_Con_AI.png" alt="Evolution of software development with AI." loading="lazy" />
<figcaption>Fig 1. Evolution of software development with AI.</figcaption>
</figure>

<h2 id="thinking-of-bob-as-a-software-architect">Thinking of Bob as a software architect</h2>
<p>One of the most common mistakes when using development assistants is treating them as simple code generators.</p>

<p>For example, many developers use prompts like:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Genera una función que valide un correo electrónico
</code></pre></div></div>

<p>This type of interaction is useful, but it does not really take advantage of the potential of an agent like Bob.</p>

<p>A more powerful interaction would be:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Analiza este módulo del sistema de autenticación identifica posibles problemas de diseño y propone mejoras en la arquitectura
</code></pre></div></div>

<p>In this scenario, Bob stops being a code generator and starts behaving as <strong>a virtual technical architect</strong>.</p>

<p>It can:</p>
<ul>
  <li>Analyze existing modules.</li>
  <li>Explain design decisions.</li>
  <li>Identify technical debt.</li>
  <li>Suggest refactorings.</li>
  <li>Propose architectural improvements.</li>
</ul>

<p>This change in the way of working is one of the pillars of <strong>AI-First</strong> development.</p>

<h2 id="how-project-bob-organizes-its-reasoning">How Project Bob organizes its reasoning</h2>
<p>One of Bob’s most interesting features is that it does not use a single mode of operation.</p>

<p>Instead, it uses <strong>specialized modes</strong>, each optimized for different types of tasks within the development cycle.</p>

<p>Among the main modes are:</p>
<ul>
  <li><strong>Plan mode</strong>, oriented toward planning and designing solutions.</li>
  <li><strong>Code mode</strong>, focused on writing and modifying code.</li>
  <li><strong>Ask mode</strong>, used for analyzing and understanding the system.</li>
  <li><strong>Advanced mode</strong>, which allows access to extended tools and capabilities.</li>
</ul>

<p>This approach allows the agent to adapt its reasoning according to the type of task being performed.</p>

<p>For example:</p>
<ul>
  <li>When designing an architecture → Plan mode.</li>
  <li>When implementing code → Code mode.</li>
  <li>When analyzing the system → Ask mode.</li>
</ul>

<p>This model resembles much more closely how human development teams work.</p>

<p>First <strong>you design</strong>, then <strong>you implement</strong>. For these, the best approach is to use <strong>specialized modes</strong>, each optimized for different types of tasks within the development cycle. In short, Project Bob is a software development model that uses <strong>specialized modes</strong> for different tasks within the development cycle.</p>

<figure>
<img src="./Blog1_AI_First_Development_Portada2.png" alt="AI-First Development Workflow diagram." loading="lazy" />
<figcaption>Fig 2. AI-First Development Workflow diagram.</figcaption>
</figure>

<h2 id="the-right-mental-model-for-working-with-development-agents">The right mental model for working with development agents</h2>
<p>To get the most out of tools like Project Bob, we need to slightly change the way we work. Instead of thinking of AI as a code-generation tool, we must start seeing it as <strong>a technical collaborator within the development process</strong>.</p>

<p>This means using AI for tasks such as:</p>
<ul>
  <li>Analysis of existing systems.</li>
  <li>Design of new features.</li>
  <li>Code review.</li>
  <li>Identification of technical debt.</li>
  <li>Generation of technical documentation.</li>
</ul>

<p>In this model, the developer stops interacting with AI solely at the code level and begins to interact with it <strong>at the architecture and design level</strong>.</p>

<h2 id="ai-first-development">AI-First Development</h2>
<p>The concept of <strong>AI-First Development</strong> does not mean replacing developers with artificial intelligence. It means something much more interesting. It means designing development processes where <strong>artificial intelligence actively participates in understanding, building, and evolving software</strong>.</p>

<p>In this approach, the developer’s role also evolves. Developers go from being solely <strong>code builders</strong> to becoming <strong>system architects who collaborate with intelligent agents</strong>.</p>

<h2 id="final-reflection">Final reflection</h2>
<p>As artificial intelligence tools evolve, the way we use them must also evolve.</p>

<p>Project Bob represents an important step in this direction, by allowing developers to work with agents capable of understanding complex systems and collaborating in software design. But the real change is not in the tool. It is in the mindset.</p>

<blockquote>
  <p><strong>It is not just about modernizing the code, but about modernizing the way we think and work.</strong></p>
</blockquote>

<h2 id="in-the-next-article">In the next article</h2>
<p>In the next article of this series we will explore <strong>practical techniques to get the most out of Project Bob</strong>, including:</p>
<ul>
  <li>How to define development rules so Bob follows the team’s standards.</li>
  <li>How to create custom modes for specific tasks.</li>
  <li>How to improve the quality of interactions with more structured prompts.</li>
</ul>

<p>All of this will allow us to transform Project Bob into something much more powerful than a code assistant.</p>

<p>In other words: <strong>a true AI-driven development architect.</strong></p>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><summary type="html"><![CDATA[AI-First Development - How to turn Project Bob into your code architect?]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_Development_Bob/Blog1_AI_First_Development_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_Development_Bob/Blog1_AI_First_Development_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First and technical debt - ally or enemy?</title><link href="https://jdetrizep.github.io/en/AI_First_Deuda_Tecnica/" rel="alternate" type="text/html" title="AI-First and technical debt - ally or enemy?" /><published>2026-03-16T05:00:00-06:00</published><updated>2026-03-16T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_Deuda_Tecnica-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_Deuda_Tecnica/"><![CDATA[<h1 id="ai-first-and-technical-debt-ally-or-enemy">AI-First and technical debt: ally or enemy?</h1>

<blockquote>
  <p><em>AI does not eliminate technical debt.</em>
<em>It only decides how quickly you make it visible… or how quickly you accumulate it.</em></p>
</blockquote>

<h2 id="introduction--beyond-the-enthusiasm-for-ai">Introduction – Beyond the enthusiasm for AI</h2>

<p>When people talk about <strong>AI-First</strong> today, the focus is often placed on speed, productivity, and code generation. However, from a more technical and realistic perspective, the first thing that comes to my mind is not enthusiasm, but <strong>caution</strong>.</p>

<p>Artificial intelligence, as we use it today, is not infallible. There are well-known scenarios <em>such as hallucinations or solutions that are effective but not necessarily efficient</em> that, far from being minor details, can turn into <strong>real technical debt</strong>.</p>

<p>And here is a key point: AI no longer enters at the end of the process, it enters <strong>from moment zero</strong>. This means that these problems do not appear later, but can <strong>be born at the design stage</strong>, accelerating the accumulation of technical debt from very early phases of the software life cycle.</p>

<p>Paradoxically, that same early presence of AI can work in our favor. When it is used appropriately —improving the quality of requirements, refining user stories, and bringing greater clarity to analysis— AI can help us <strong>identify and reduce technical debt even before the system goes into production</strong>.</p>

<p>The real challenge is not in the technology itself, but in <strong>how we work with it</strong> and how we integrate it into our software development life cycle processes.</p>

<figure>
<img src="./AI_Aliado_Enemigo2.png" alt="AI-First as an ally and not an enemy when it comes to technical debt." loading="lazy" />
<figcaption>Fig 1. AI-First as an ally and not an enemy when it comes to technical debt.</figcaption>
</figure>

<h2 id="does-ai-reduce-or-accelerate-technical-debt">Does AI reduce or accelerate technical debt?</h2>

<p>The short answer is: <strong>it depends on how it is used</strong>. That is, the presence of AI can be an ally or an enemy depending on how we use it. In some cases, AI can be a powerful ally in solving technical problems, while in others, it can be an accelerator of technical debt.</p>

<p>AI can be a powerful ally when it is used to analyze, question, and improve. But it can also become a debt accelerator when it is used solely to produce code faster, without solid technical judgment behind it. For example, if an AI is in charge of generating code but is not given solid technical judgment behind it, it can generate code that is hard to maintain and scale.</p>

<p>The problem is not that AI generates code, but that we often <strong>normalize as correct anything that simply works</strong>.</p>

<figure>
<img src="./AI_Reduce_Acelera_Deuda.png" alt="AI can reduce or accelerate technical debt." loading="lazy" />
<figcaption>Fig 2. AI-First can reduce or accelerate technical debt.</figcaption>
</figure>

<h2 id="when-ai-is-effective-but-not-efficient">When AI is effective… but not efficient</h2>

<p>One of the most complex things about working with artificial intelligence in software development is that many of its failures are not obvious at first glance. They are subtle details, but for someone with experience in enterprise systems and architecture, they are practically impossible to ignore.</p>

<p>One of the first signs usually appears in the <strong>architecture</strong>. Today AI is capable of proposing cloud designs that are technically correct, even aligned with modern best practices. The problem is that, in many cases, these proposals do not consider <strong>costs, resource consumption, or licensing</strong>.</p>

<p>The result can be a perfectly functional architecture, but one that is <strong>financially unsustainable in production</strong>. In cloud environments, especially with SaaS services, this type of decision translates into technical debt from the design stage, even if the system “<em>works</em>.”</p>

<p>Another clear sign appears in the code. I have seen how AI can generate implementations that meet the objective but incorporate bad practices: hardcoded values, forbidden characters, incorrect patterns, or solutions that violate internal standards. Here, human review remains key.</p>

<p>Perhaps one of the most worrying scenarios is when some AI assistants <strong>force the code to satisfy a test case or an acceptance criterion</strong>, distorting the logic to always guarantee a successful result.</p>

<figure>
<img src="./IA_Eficaz_Pero_Ineficiente.png" alt="AI can be effective but not always efficient." loading="lazy" />
<figcaption>Fig 3. AI-First can be effective but not always efficient.</figcaption>
</figure>

<h2 id="when-ai-stops-being-an-ally-and-becomes-a-debt-accelerator">When AI stops being an ally and becomes a debt accelerator</h2>

<p>The line that separates artificial intelligence as an ally or as an enemy of technical debt does not run through the model or the tool. <strong>It all comes down to governance and the responsible use of AI</strong>.</p>

<p>When teams allow AI to operate without control, without clear rules, and without human supervision, it stops being a support and quickly becomes a <strong>technical-debt accelerator</strong>.</p>

<p>One of the most common risks is excessive dependence. Teams that stop questioning the results and simply accept what the AI proposes, implicitly transferring technical responsibility to the tool.</p>

<figure>
<img src="./AI_Aliada_Aceledor.png" alt="AI can be effective but not always efficient." loading="lazy" />
<figcaption>Fig 3. AI-First can be effective but not always efficient.</figcaption>
</figure>

<h2 id="responsible-ai-first-reduce-debt-dont-hide-it">Responsible AI-First: reduce debt, don’t hide it</h2>

<p>An <em>AI-First</em> approach that genuinely aims to reduce technical debt must be grounded in the principles of <strong>Responsible AI</strong>.</p>

<p><strong>Transparency</strong> is key: developers must understand why the AI proposes certain code or a particular architecture.<br />
<strong>Governance</strong> defines clear limits, constant human reviews, and sustainability over time.</p>

<p>AI-First does not mean delegating technical thinking, but <strong>elevating it</strong>.</p>

<h2 id="conclusion">Conclusion</h2>

<p>Technical debt does not disappear with artificial intelligence; an inadequate implementation of AI can accelerate the generation of technical debt. An <em>AI-First</em> approach that genuinely aims to reduce technical debt must be grounded in the principles of <strong>Responsible AI</strong>. Transparency and governance are key for AI to propose appropriate solutions.</p>

<p>AI can help make it visible earlier… or it can accelerate its accumulation if it is not governed properly.</p>

<p>Because in the end:</p>

<blockquote>
  <p><strong>It’s not just about modernizing the code, but about modernizing the way we think and work.</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><category term="GitHub Copilot Agents" /><summary type="html"><![CDATA[AI-First and technical debt - ally or enemy?]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_Deuda_Tecnica/AI_Aliado_Enemigo.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_Deuda_Tecnica/AI_Aliado_Enemigo.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First within the SDLC Part III</title><link href="https://jdetrizep.github.io/en/AI_First_SDLC_ParteIII/" rel="alternate" type="text/html" title="AI-First within the SDLC Part III" /><published>2026-02-23T05:00:00-06:00</published><updated>2026-02-23T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_SDLC_ParteIII-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_SDLC_ParteIII/"><![CDATA[<h1 id="ai-first-in-the-sdlc-a-silent-reform-in-software-development-part-iii">AI-First in the SDLC: A silent reform in software development (Part III)</h1>

<p>In the previous parts of this series, we explored how integrating <strong>artificial intelligence (AI) into the software development life cycle (SDLC)</strong> is transforming the way developers build, test, and maintain applications. In this third part, we will dive deeper into the <strong>Deploy, DevOps, and Operations</strong> phases, and we will also review critical topics such as governance, security, and ethics in the use of AI in software development.</p>

<h2 id="sdlc--deploy-devops-and-operations">SDLC – Deploy, DevOps, and Operations</h2>
<h3 id="when-ai-accompanies-software-all-the-way-to-production">When AI accompanies software all the way to production</h3>

<p>If there is a stage where the AI-First approach fits naturally, it is in <strong>Deploy, DevOps, and Operations</strong>. Here, artificial intelligence not only accelerates processes, but also <strong>reduces friction, human errors, and rework</strong>, directly impacting the stability of the product.</p>

<p>From my experience, integrating AI in this phase is practically perfect. In particular, support for <strong>Infrastructure as Code (IaC)</strong> makes a clear difference. With tools like <strong>Project Bob</strong>, generating CI/CD pipelines becomes a surprisingly simple and structured process.</p>

<p>Bob does not limit itself to creating a basic pipeline. Its command of technologies such as Terraform allows it to:</p>

<ul>
  <li>Generate complete IaC</li>
  <li>Define variables per environment</li>
  <li>Establish validation plans</li>
  <li>Automate build and teardown processes</li>
  <li>Integrate tests within the deployment flow</li>
</ul>

<p>All of this is built coherently, considering the full life cycle of the infrastructure, not just the moment of deployment.</p>

<h3 id="pipelines-that-are-analyzed-not-just-executed">Pipelines that are analyzed, not just executed</h3>

<p>Another key point is AI’s ability to <strong>review and analyze existing pipelines</strong>. In several scenarios, I have used AI agents to inspect CI/CD flows, identify recurring failures, and propose optimizations.<br />
The result is not just a pipeline that works, but a pipeline that is <strong>more stable, predictable, and efficient</strong>.</p>

<p>This kind of continuous analysis allows problems to be corrected before they turn into production incidents.</p>

<h3 id="ai-in-operations-observability-with-context">AI in operations: observability with context</h3>

<p>In the operations phase, the role of AI becomes even more relevant. AI agents can <strong>automate monitoring and observability processes</strong>, detecting anomalous behaviors in systems and classifying them intelligently.</p>

<p>Beyond generating alerts, AI provides context: it identifies patterns, groups related events, and proposes <strong>response plans</strong>. This significantly accelerates incident response and reduces the operational noise that usually affects teams.</p>

<h3 id="deciding-is-still-human">Deciding is still human</h3>

<p>Even with all these advances, there is one principle that remains intact: <strong>the final responsibility is always human</strong>.</p>

<p>AI can take part in processes such as rollbacks, incident mitigation, or operational adjustments, but the decision must always rest with the people responsible for the system. The inputs, analyses, and summaries that AI generates are valuable and enrich decision-making, but <strong>they do not replace human judgment</strong>.</p>

<p>The AI-First approach in DevOps does not seek to automate responsibility, but to <strong>enhance decision-making capacity</strong>, relying on more complete and better-processed information.</p>

<h4 id="ai-first-use-in-iac-and-operations-without-breaking-production">AI-First use in IaC and operations without “breaking production”</h4>
<p>Applying an AI-First approach in <strong>Infrastructure as Code (IaC)</strong> and in the <strong>operation of production systems</strong> requires a key principle: <strong>automate without losing control</strong>. AI can greatly accelerate and optimize these processes, but only if it is implemented with clear limits, strict validations, and explicit human responsibility.</p>

<p>The following practices make it possible to leverage AI in critical environments <strong>without compromising stability, security, or operational continuity</strong>.</p>
<ul>
  <li><strong>Ephemeral environments</strong> to validate IaC (automated plan/apply/destroy)
  Before touching production, every infrastructure definition must be validated in ephemeral environments, created and destroyed automatically.
  AI can help by generating and reviewing:
    <ul>
      <li>Execution plans (terraform plan).</li>
      <li>Validations of dependencies and deployment order.</li>
      <li>Full creation and teardown tests of the environment.</li>
    </ul>

    <p>This approach makes it possible to detect configuration errors, implicit dependencies, or unexpected costs before they impact production environments, drastically reducing operational risk.</p>
  </li>
  <li><strong>Policy-as-code</strong> (guardrails) to avoid insecure resources
  In an AI-First model, AI should not have absolute freedom to define infrastructure. 
  The use of policy-as-code establishes clear guardrails that both AI and teams must respect, such as:
    <ul>
      <li>Public network restrictions.</li>
      <li>Mandatory encryption.</li>
      <li>Limits on size, regions, or resource types.</li>
      <li>Regulatory and security compliance.</li>
    </ul>

    <p>These policies act as a technical contract that protects the organization even when IaC generation is highly automated.</p>
  </li>
  <li><strong>Assisted postmortems</strong>: AI summarizes the timeline, hypotheses, and actions
  In operations, AI can play a key role after an incident.
  Instead of relying solely on manual reconstructions, AI can:
    <ul>
      <li>Analyze logs, metrics, and events.</li>
      <li>Reconstruct a timeline of the incident.</li>
      <li>Propose technical hypotheses based on patterns.</li>
      <li>Suggest corrective and preventive actions.</li>
    </ul>

    <p>The postmortem stops being a reactive document and becomes a <strong>continuous learning tool</strong>, always validated and enriched by the human team.</p>
  </li>
  <li><strong>Runbooks generated and maintained by AI, validated by humans</strong>
  Runbooks tend to become obsolete quickly. In an AI-First approach, AI can:
    <ul>
      <li>Generate initial runbooks from architecture, code, and operational events.</li>
      <li>Update them as systems change.</li>
      <li>Suggest mitigation steps for common incidents.</li>
    </ul>

    <p>However, the final validation must always be human. Runbooks thus become living, reliable artifacts aligned with the operational reality of the system.</p>
  </li>
</ul>

<h5 id="automation-with-judgment-the-key-to-ai-first-in-operations">Automation with judgment: the key to AI-First in operations</h5>
<p>The true value of the AI-First approach in IaC and operations is not in automating everything, but in <strong>automating with judgment</strong>. AI accelerates validations, analysis, and documentation; the human team <strong>defines limits, validates decisions, and assumes final responsibility</strong>. Used correctly, AI does not “<em>break production</em>”. It protects it, makes it more observable, and makes it more resilient.</p>

<figure>
<img src="./AI_First_SDLC_Deploy.png" alt="AI-First SDLC Deploy, DevOps and Operations" loading="lazy" />
<figcaption>Fig 1. AI-First SDLC Deploy, DevOps and Operations.</figcaption>
</figure>

<h2 id="sdlc--governance-security-and-responsible-use-of-ai">SDLC – Governance, Security, and Responsible Use of AI</h2>
<h3 id="productivity-without-control-is-not-progress">Productivity without control is not progress</h3>

<p>As artificial intelligence becomes integrated across the SDLC, the conversation stops being purely technical and becomes <strong>strategic and organizational</strong>. Adopting AI without a clear governance framework is not only risky, but counterproductive.</p>

<p>From my experience, the main risk of an uncontrolled adoption of AI is the <strong>progressive deterioration of software quality</strong>. AI can generate effective solutions in the short term, but not necessarily efficient ones in the long term. This imbalance directly impacts maintainability, system growth, and, in more critical scenarios, the <strong>security</strong> of production platforms.</p>

<p>An architecture or code that “works” today, but is not designed to scale, be maintained, or be audited, quickly becomes a technological liability.</p>

<h3 id="fundamental-principles-transparency-and-ethics">Fundamental principles: Transparency and Ethics</h3>

<p>If I had to prioritize principles for a responsible adoption of AI, I would start with two: <strong>transparency and ethics</strong>.</p>

<p>Transparency means that AI is able to <strong>explain how it arrived at a conclusion or result</strong>. It is not just about getting an answer, but about understanding the reasoning behind it. This capability is key to validating decisions, auditing processes, and building technical trust.</p>

<p>Ethics, for its part, is not an abstract concept. It is directly related to <strong>how and for what purpose we use AI</strong>. An ethical use implies responsibility, traceability, and respect for the limits of the system and of the people who operate it.</p>

<p>Curiously, when these two principles are well established, the rest —security, compliance, quality— tends to align naturally.</p>

<h3 id="productivity-security-and-compliance-a-necessary-balance">Productivity, security, and compliance: a necessary balance</h3>

<p>There is a false perception that productivity is affected when security and compliance controls are introduced. From my experience, exactly the opposite happens.</p>

<p>When an organization defines <strong>clear working frameworks</strong>, solid procedures, and well-established rules for the consumption of AI, productivity is not slowed down: <strong>it becomes orderly and is enhanced</strong>. AI stops being a one-off tool and becomes a <strong>strategic organizational ally</strong>, capable of driving growth in a sustained and controlled way.</p>

<p>The real challenge is not choosing between productivity or security, but <strong>designing processes where both evolve together</strong>.</p>

<h3 id="distrust-as-a-starting-point-not-as-a-barrier">Distrust as a starting point, not as a barrier</h3>

<p>Distrust toward AI is natural, especially in business environments and critical systems. However, that distrust should not lead to rejection, but to the <strong>documentation, analysis, and definition of responsible usage frameworks</strong>.</p>

<p>To some degree, distrust is even healthy. It forces us to question, validate, and build more secure and stable environments. When well managed, it becomes the engine that drives a conscious, informed, and professional adoption of artificial intelligence.</p>

<h4 id="minimum-ai-first-governance-framework-for-the-sdlc">Minimum AI-First governance framework for the SDLC</h4>
<p>Adopting AI within the SDLC without a clear governance framework is not innovation, it is risk.
A sustainable AI-First approach <strong>requires explicit rules, well-defined responsibilities, and auditable processes</strong> that make it possible to leverage AI without compromising quality, security, or organizational control. This minimum framework does not seek to bureaucratize the use of AI, but to <strong>organize it and make it reliable</strong>.</p>
<ul>
  <li><strong>Clear RACI</strong>: who approves requirements, architecture, merges, deployments.
  In an AI-First environment, decisions are accelerated, but responsibility is not diluted.
  It is essential to explicitly define:
    <ul>
      <li>Who approves final requirements.</li>
      <li>Who validates and decides architecture.</li>
      <li>Who authorizes merges to main branches.</li>
      <li>Who enables deployments to production.</li>
    </ul>

    <p>AI can propose, analyze, and assist, but the RACI guarantees that there is always a clearly identified human responsible. Without this, governance breaks down from day one.</p>
  </li>
  <li><strong>Data and context</strong>: what AI can see (code, tickets, never secrets).
  Not all information should be available to AI. A serious AI-First framework defines clear limits of visibility. 
  It is valid for AI to have access to:
    <ul>
      <li>Source code.</li>
      <li>User stories and tickets.</li>
      <li>Technical documentation.</li>
    </ul>

    <p>But there must be a strict policy that prevents access to:</p>
    <ul>
      <li>Secrets, credentials, and keys.</li>
      <li>Sensitive customer information.</li>
      <li>Regulated or confidential data.</li>
    </ul>

    <p>Governance begins by controlling the context that AI consumes.</p>
  </li>
  <li><strong>Traceability</strong>: versioned prompts, decisions, and outputs (auditing).
  In an AI-First environment, prompts and outputs become technical artifacts.
  For this reason, it is indispensable to:
    <ul>
      <li>Version relevant prompts.</li>
      <li>Document AI-assisted decisions.</li>
      <li>Maintain traceability between requirements, code, and generated results.</li>
    </ul>

    <p>This traceability not only facilitates audits, but also makes it possible to understand why a decision was made, something critical in regulated environments and long-lived systems.</p>
  </li>
  <li><strong>Quality</strong>: mandatory gates (tests, security, performance).
  The speed that AI provides must always be contained by clear and non-negotiable quality gates.
  This includes:
    <ul>
      <li>Mandatory automated tests.</li>
      <li>Security analysis (SAST, dependencies).</li>
      <li>Performance validations.</li>
      <li>Compliance with coding and architecture standards.</li>
    </ul>

    <p>AI can help execute and analyze these controls, but it cannot skip them.</p>
  </li>
  <li><strong>Training</strong>: the team learns to ask, validate, and justify.
  AI-First is not just technology, it is a human skill.
  Teams must be trained to:
    <ul>
      <li>Formulate good prompts.</li>
      <li>Question AI’s answers.</li>
      <li>Validate results with technical judgment.</li>
      <li>Justify decisions made with AI support.</li>
    </ul>

    <p>A team that does not know how to ask or validate turns AI into a risk. A trained team turns it into a competitive advantage.</p>
  </li>
</ul>

<figure>
<img src="./AI_First_SDLC_Responsable.png" alt="AI-First Governance, Security and Responsible Use" loading="lazy" />
<figcaption>Fig 2. AI-First Governance, Security and Responsible Use.</figcaption>
</figure>

<h2 id="conclusions">Conclusions</h2>
<h3 id="ai-first-does-not-change-the-sdlc-it-changes-the-way-we-work">AI-First does not change the SDLC, it changes the way we work</h3>

<p>Adopting an AI-First approach completely transforms the role of the developer. We are no longer the only brain within the software development process. Today we share the space with a <strong>second brain</strong>, artificial, capable of taking on manual, repetitive, and operational tasks.</p>

<p>This change does not displace us; <strong>it elevates us</strong>. By delegating those kinds of activities, the developer’s role evolves toward one that is more <strong>analytical, strategic, and conscious</strong>, focused on making better-argued decisions with greater impact on the final product.</p>

<p>In this new context, we stop being mere code typists and become <strong>systems analysts</strong>. Our value is not in writing lines of code, but in <strong>understanding processes, interpreting contexts, and validating decisions</strong>. We have a fundamental role: ensuring that artificial intelligence operates within a <strong>secure, stable, and reliable framework</strong>, one that makes it possible to build robust, sustainable systems aligned with business needs.</p>

<p>More than a new stage within the SDLC, we are facing a <strong>profound reform of the way we work</strong>. The phases of the software development life cycle will continue to exist, but the way we execute them is restructured and enhanced. AI does not replace these stages; it amplifies them, accelerates them, and forces them to mature.</p>

<p>The AI-First approach is not about adopting tools because they are trendy, nor about delegating critical thinking. It is about <strong>rethinking how we design, develop, test, deploy, and operate software</strong>, responsibly integrating an artificial intelligence that complements our human capabilities.</p>

<p>And as always, I close with the phrase that summarizes my vision of this change:</p>

<blockquote>
  <p><strong>“It is not just about modernizing the code, but about modernizing the way we think and work.”</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><category term="GitHub Copilot Agents" /><summary type="html"><![CDATA[AI-First within the SDLC - A silent reform in software development (Part III)]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_SDLC/AI_First_SDLC_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_SDLC/AI_First_SDLC_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First within the SDLC Part II</title><link href="https://jdetrizep.github.io/en/AI_First_SDLC_ParteII/" rel="alternate" type="text/html" title="AI-First within the SDLC Part II" /><published>2026-02-09T05:00:00-06:00</published><updated>2026-02-09T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_SDLC_ParteII-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_SDLC_ParteII/"><![CDATA[<h1 id="ai-first-in-the-sdlc-a-silent-reform-in-software-development-part-ii">AI-First in the SDLC: A silent reform in software development (Part II)</h1>

<p>Continuing our exploration of the AI-First approach in the software development life cycle (SDLC), in this second part we dive into the critical phases of <strong>Development and Testing</strong>. These stages are fundamental, since they are where ideas materialize and the quality of the final product is ensured. Integrating artificial intelligence (AI) tools into these phases not only optimizes processes, but also redefines the way developers work and collaborate.</p>

<h2 id="sdlc--development--coding">SDLC – Development / Coding</h2>
<h3 id="programming-with-ai-is-not-about-writing-faster-its-about-understanding-better">Programming with AI is not about writing faster, it’s about understanding better</h3>

<p>The impact of the AI-First approach in the development stage has been, from my experience, <strong>profound and transformative</strong>. It is not just about speed, but about <strong>how it changes the way we understand the problem before writing a single line of code</strong>.</p>

<p>When we work with well-structured user stories —like the ones <strong>Project Bob</strong> generates and standardizes— the pre-development analysis becomes much more agile. Understanding the scope, the acceptance criteria, and the business rules stops being a fuzzy process and becomes a clear starting point shared by the whole team.</p>

<p>In many projects, we developers end up “specializing” in very specific business particularities. Sometimes, it is even assumed that we must fully master the technical or operational language of the functional area. With the help of AI agents, this process is greatly facilitated: the assistants not only explain the context, but <strong>translate business language into technical logic</strong>, and even propose base code for complex algorithms.<br />
This frees up valuable time, which can be invested in higher-level analysis and in decisions that truly add value.</p>

<h3 id="from-writing-code-to-solving-problems-with-context">From writing code to solving problems with context</h3>

<p>The differences between using traditional assistants and AI-First agents are notable.</p>

<p>With Project Bob, we are not talking about a simple coding assistant, but about <strong>an artificial brain integrated into the team</strong>. Bob does not merely execute instructions; it analyzes requirements, proposes solutions, contextualizes the problem, and accompanies the development process from start to finish.</p>

<p>For its part, <strong>GitHub Copilot Agents</strong> brings a different but complementary dynamic: the ability to <strong>delegate development tasks</strong>. You can assign an activity, let the agent work in the background, and then come back to review and validate the changes. This asynchrony completely changes time management for the developer and the technical lead.</p>

<p>Both approaches elevate the developer’s role: we stop focusing solely on writing code and move on to <strong>orchestrating solutions</strong>.</p>

<h3 id="ai-applied-to-the-entire-code-cycle">AI applied to the entire code cycle</h3>

<p>In practice, I have used AI in practically all the key development activities:</p>

<ul>
  <li>Initial code generation</li>
  <li>Refactoring</li>
  <li>Explanation of legacy code</li>
  <li>Modernization of applications in IBM i, .NET, and Java</li>
</ul>

<p>These processes become significantly more agile, but there is a critical point that marks the difference between success and failure: <strong>the quality of the prompt</strong>.<br />
Defining clear, detailed prompts with good context is fundamental. AI is only as good as the information it receives; without context, the results lose value.</p>

<h3 id="speed-or-quality-the-false-dichotomy">Speed or quality? The false dichotomy</h3>

<p>The question is often raised: does AI increase the speed or the quality of development?<br />
From my experience, this is a <strong>false dichotomy</strong>.</p>

<p>Both concepts are deeply related. Higher-quality code reduces technical debt, decreases attention to incidents, vulnerabilities, and rework, and that, inevitably, translates into <strong>less time consumption</strong> in the long run. Speed is not just about writing fast, it’s about <strong>delivering sustained value over time</strong>.</p>

<p>With AI, I have observed increases on both fronts: we produce more in less time, but —more importantly— we produce <strong>better code</strong>. AI reinforces compliance with standards, organizational guidelines, best practices, documentation, and tests (unit, integration, and coverage). All of this considerably raises the quality of the final product.</p>

<h3 id="the-non-negotiable-principle-human-validation">The non-negotiable principle: human validation</h3>

<p>However, there is a principle that must not be broken: <strong>every AI proposal must go through human review</strong>.</p>

<p>Reviews, approvals, and conscious analysis remain indispensable. Not only to validate that the code works, but to <strong>understand it</strong>, maintain it, and be able to evolve it in the future. AI accelerates development, but the final responsibility still belongs to the human team.</p>

<p>The true value of the AI-First approach in development is not in delegating thinking, but in <strong>expanding it</strong>, always with judgment, context, and responsibility.</p>

<h4 id="concrete-practices-to-avoid-technical-debt-with-ai">Concrete practices to avoid technical debt with AI</h4>
<p>Using artificial intelligence in software development can accelerate value delivery, but without technical discipline it can become a massive generator of technical debt. In an AI-First approach, technical debt does not disappear: it is amplified if there is no control.</p>

<p>The following practices help leverage AI without compromising the maintainability, quality, and evolution of the software.</p>
<ul>
  <li><strong>Mandatory Pull Requests</strong> with a checklist (security, performance, tests, standards)
  All AI-generated or AI-assisted code must go through a formal Pull Request process. This is not optional in an AI-First environment. 
  The checklist must include, at a minimum:
    <ul>
      <li>Security validation (injections, secrets, vulnerable dependencies).</li>
      <li>Performance considerations (algorithmic complexity, resource usage, latency).</li>
      <li>Evidence of tests (unit, integration, coverage).</li>
      <li>Compliance with coding and architecture standards.</li>
    </ul>

    <p>AI can generate code quickly, but the PR ensures that the team consciously understands, validates, and accepts that code.</p>
  </li>
  <li><strong>Prompt review</strong>: document “good” prompts by task type
  In an AI-First environment, prompts become reusable technical assets. Documenting effective prompts for tasks such as refactoring, test generation, legacy analysis, or technical documentation allows you to:
    <ul>
      <li>Reduce variability in results.</li>
      <li>Ensure consistency across teams.</li>
      <li>Create an organizational “prompting library”.</li>
    </ul>

    <p>Prompting stops being individual improvisation and becomes part of the engineering process.</p>
  </li>
  <li><strong>Style rules and linters</strong>: have AI produce within your standards
  AI must adapt to the team, not the other way around. Integrating linters, formatters, and style rules into the pipeline ensures that the generated code:
    <ul>
      <li>Respects naming conventions.</li>
      <li>Follows defined architectural patterns.</li>
      <li>Complies with internal security and quality guides.</li>
    </ul>

    <p>In an AI-First model, linters act as automatic guardrails for AI and developers.</p>
  </li>
  <li><strong>Tests first</strong>: ask AI for tests before or alongside the code
  A powerful practice is to require AI to generate the test cases first or to deliver them together with the implementation.
  This:
    <ul>
      <li>Forces you to define the expected behavior before coding.</li>
      <li>Reduces regressions.</li>
      <li>Turns AI into a generator of executable specifications.</li>
    </ul>

    <p>In an AI-First approach, tests are not an afterthought, but a primary development artifact.</p>
  </li>
  <li><strong>Explainability</strong>: require “explain why you did it this way” as part of the PR
  AI must justify its technical decisions. Explicitly asking for an explanation of the design, algorithms, and trade-offs allows you to:
    <ul>
      <li>Detect conceptual errors early.</li>
      <li>Transfer knowledge to the team.</li>
      <li>Avoid “magic” code that nobody understands.</li>
    </ul>

    <p>In an enterprise environment, unexplained code is future technical debt.</p>
    <h5 id="ai-first-does-not-eliminate-technical-debt-it-changes-how-we-manage-it">AI-First does not eliminate technical debt, it changes how we manage it</h5>
    <p>Technical debt will always exist, but in an AI-First context its origin changes. It no longer comes only from rushed human decisions, but also from <strong>unsupervised automation</strong>. These practices turn AI into a <strong>controlled accelerator</strong>, not a factory of accidental complexity. The goal is not to slow down productivity, but to <strong>ensure that speed does not compromise the future of the system</strong>.</p>
  </li>
</ul>

<figure>
<img src="./AI_First_SDLC_Desarrollo.png" alt="AI-First SDLC Development / Coding" loading="lazy" />
<figcaption>Fig 1. AI-First SDLC Development / Coding.</figcaption>
</figure>

<h2 id="sdlc--testing-and-quality">SDLC – Testing and Quality</h2>
<h3 id="when-ai-stops-testing-and-starts-elevating-the-culture-of-quality">When AI stops “testing” and starts elevating the culture of quality</h3>

<p>For a long time, testing has been seen as a necessary stage, but frequently postponed or minimized within the SDLC. With the adoption of an AI-First approach, this perception changes significantly.</p>

<p>From my experience, the current maturity of AI in the testing field is <strong>satisfactory and functional</strong>. We are not talking only about test generation, but about much more complete support throughout the process. In the case of <strong>Project Bob</strong>, the support ranges from the initial configuration of the test environments and the creation of scenarios, to their <strong>automatic execution and validation</strong>.</p>

<p>One of the most valuable points is Bob’s ability to <strong>validate code against the defined test cases</strong>, run the scenarios, and analyze the results, generating <strong>complete and detailed reports</strong> of the execution. This considerably reduces manual effort and, at the same time, increases the reliability of the process.</p>

<h3 id="coverage-business-rules-and-forgotten-scenarios">Coverage, business rules, and forgotten scenarios</h3>

<p>In practice, AI adds value on all the key fronts of testing:</p>

<ul>
  <li>Test case generation</li>
  <li>Detection of uncovered scenarios</li>
  <li>Business rule validation</li>
</ul>

<p>In each of these stages, Project Bob has proven to be a solid and consistent tool. By analyzing the code and the system context, it is able to identify logical paths that would normally go unnoticed during a manual review, thus raising coverage and reducing risks.</p>

<h3 id="quality-as-a-habit-not-an-exception">Quality as a habit, not an exception</h3>

<p>One of the most interesting impacts of the AI-First approach is the <strong>cultural change</strong> it promotes within teams.</p>

<p>Project Bob, for example, <strong>automatically includes the generation of unit tests</strong> as a natural part of development. In addition, when a commit is made, Bob can review the introduced changes, run the associated test cases, and validate the results. This constant feedback turns quality into a <strong>continuous habit</strong>, not a reactive activity at the end of the cycle.</p>

<p>This kind of dynamic encourages teams to adopt quality practices organically, without needing to impose them as an additional burden.</p>

<h3 id="the-new-human-role-in-testing">The new human role in testing</h3>

<p>Even so, human judgment remains indispensable.</p>

<p>The role of the developer —and of the quality engineer— evolves. We go from being manual test executors to <strong>analysts and interpreters of results</strong>. The value is no longer in running a script, but in <strong>understanding the execution reports</strong>, interpreting the findings, and making informed decisions about the quality of the product.</p>

<p>AI can execute, measure, and report; the human being validates, contextualizes, and decides.<br />
That balance is what truly allows quality to scale without losing control.</p>

<h4 id="how-to-integrate-ai-into-the-quality-gate">How to integrate AI into the “Quality Gate”</h4>
<p>Integrating artificial intelligence into the Quality Gate does not mean relaxing quality controls; it means <strong>making them smarter, faster, and more consistent</strong>. In an AI-First approach, AI acts as an <strong>automatic quality analyst</strong>, while the validation and final decision remain human.</p>

<p>These practices allow you to incorporate AI into the quality process <strong>without compromising standards or governance</strong>.</p>
<ul>
  <li>Define a <strong>minimum threshold</strong> (coverage, linters, SAST, tests)
  Every Quality Gate must begin with clear, non-negotiable limits. Before introducing AI, the team must explicitly define:
    <ul>
      <li>Minimum test coverage percentage.</li>
      <li>Mandatory linter and formatter rules.</li>
      <li>Static security scans (SAST) and dependency analysis.</li>
      <li>Successful execution of unit and integration tests.</li>
    </ul>

    <p>AI does not decide whether the threshold is acceptable; it only verifies and reports. These limits act as guardrails that protect product quality against excessive automation.</p>
  </li>
  <li>Require an <strong>automatic report</strong> that AI interprets and summarizes
  Beyond generating technical results, AI must be able to interpret and synthesize them. 
  Instead of delivering only extensive logs or isolated metrics, AI can:
    <ul>
      <li>Summarize the general state of the Quality Gate.</li>
      <li>Identify critical failures versus warnings.</li>
      <li>Prioritize risks according to technical and functional impact.</li>
      <li>Point out recurring quality trends.</li>
    </ul>

    <p>This summary allows developers, QA, and technical leads to make quick decisions with context, without manually reviewing large volumes of information.</p>
  </li>
  <li>Review <strong>edge cases</strong>: AI proposes, QA/Dev validates
  One of AI’s greatest contributions is its ability to identify edge cases that are not always obvious during test design. AI can propose extreme cases, unusual combinations, or infrequent flows, but the final validation must rest with QA and development. This model reinforces quality without replacing human judgment, combining automatic exploration capability with domain experience.</li>
  <li>Ensure <strong>no regression</strong>: regression tests per PR
  In an AI-First environment, every Pull Request must trigger automatic regression tests. 
  AI can:
    <ul>
      <li>Detect which areas of the code are affected by a change.</li>
      <li>Select or generate relevant regression tests.</li>
      <li>Verify that existing functionality does not break.</li>
    </ul>

    <p>This approach reduces the risk of silent regressions and turns the Quality Gate into a <strong>continuous protection mechanism</strong>, not just a one-time control.</p>
  </li>
</ul>

<figure>
<img src="./AI_First_SDLC_Pruebas.png" alt="AI-First SDLC Testing / Quality" loading="lazy" />
<figcaption>Fig 1. AI-First SDLC Testing / Quality.</figcaption>
</figure>

<h2 id="summary-and-upcoming-blogs">Summary and upcoming blogs</h2>
<p>In this second part of our series on AI-First in the SDLC, we have explored how artificial intelligence is transforming the <strong>Development and Testing</strong> phases. From code generation to automatic quality validation, AI not only accelerates processes, but also raises standards and changes the development culture. The human role evolves toward supervision, analysis, and informed decision-making, always maintaining control over the quality and responsibility of the final product. In the <strong>next blog</strong>, we will dive into the <strong>Deployment and Maintenance</strong> phases, where we will see how AI continues to revolutionize the software life cycle, ensuring safer deployments and proactive management of system performance and stability. <strong>Don’t miss it!</strong></p>

<p>We have seen how AI is transforming the Development and Testing phases within the SDLC, not as an isolated tool, but as a <strong>strategic partner</strong> that enhances human capability. The key to success lies in <strong>combining the speed and efficiency of AI with the judgment and responsibility of the human team</strong>, thus ensuring that software quality and sustainability are not compromised. In the end:</p>

<blockquote>
  <p><strong>It’s not just about modernizing the code, but about modernizing the way we think and work.</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><category term="GitHub Copilot Agents" /><summary type="html"><![CDATA[AI-First within the SDLC - A silent reform in software development (Part II)]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_SDLC/AI_First_SDLC_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_SDLC/AI_First_SDLC_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First within the SDLC</title><link href="https://jdetrizep.github.io/en/AI_First_SDLC/" rel="alternate" type="text/html" title="AI-First within the SDLC" /><published>2026-01-26T05:00:00-06:00</published><updated>2026-01-26T05:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_SDLC-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_SDLC/"><![CDATA[<h1 id="ai-first-in-the-sdlc-a-silent-reform-in-software-development">AI-First in the SDLC: A silent reform in software development</h1>

<h2 id="introduction">Introduction</h2>
<h3 id="ai-first-in-the-sdlc-beyond-the-hype-toward-a-conscious-adoption">AI-First in the SDLC: beyond the hype, toward a conscious adoption</h3>

<p>One of the main mistakes I have observed in organizations when trying to incorporate artificial intelligence into software development is not technological, but strategic. The problem is not in the tool, but in <strong>the approach with which it is adopted</strong>.</p>

<p>When an organization is not clear about <strong>how it measures its productivity</strong>, it will hardly be able to identify <strong>in which stages of the development life cycle AI can add real value</strong>. This gap usually leads to complex scenarios: silos between teams, diffuse governance, technological over-dependence, and, in the worst cases, systems that are difficult to maintain due to an uncontrolled use of AI, without a clear vision of its true capabilities and limits.</p>

<p>It is precisely for this reason that I speak of <strong>AI-First</strong> and not simply of “use of AI”. The AI-First approach is not about writing code faster or generating more lines of code. From my experience, artificial intelligence can —and should— be integrated <strong>into each of the stages of the SDLC</strong>, from the gathering and analysis of requirements, through design, development, and testing, all the way to observability and operation in production environments.</p>

<p>The real turning point for me came with the appearance of <strong>Agent modes</strong>. It was at that moment that AI stopped feeling like a reactive tool and began behaving like a <strong>cognitive assistant</strong>: a second artificial brain that accompanies human thinking throughout the entire development process.</p>

<p>I clearly remember a recent experience, about four months ago, during the definition of requirements for a project on <strong>cybersecurity and data governance in production systems</strong>. In that context, the interaction with AI agents made it possible to significantly reduce analysis times, establish much more solid acceptance criteria, identify early development risks, and detect opportunities for improvement at the architectural level. The result was not only operational efficiency, but a more robust final requirement and, above all, a product with greater value for the end user.</p>

<p>Within this context, I have decided to focus this analysis on two assistants that clearly represent this evolution: <strong>Project Bob</strong> and <strong>GitHub Copilot Agents</strong>.</p>

<p>In particular, Project Bob embodies the AI-First approach very clearly. I have had the opportunity to work directly with it and experience how it is capable of taking a high-level requirement, breaking it down into concrete tasks, generating an execution plan, and accompanying each activity until its complete resolution. It is not just about generating code, but about <strong>understanding the problem, planning the work, and executing with context</strong>.</p>

<p>For its part, GitHub Copilot Agents allowed me to delegate development tasks asynchronously: make a request, let the agent work in the background, apply the necessary changes, and then enter a review and validation phase myself. This dynamic transformed the way I work, optimizing times and allowing me to focus my attention on higher-value decisions while development continued without interruptions.</p>

<p>This blog is born precisely from that experience: not from theory, but from practice. From the real experience of how an AI-First approach, correctly applied, can redefine the way we conceive the software development life cycle.</p>

<h4 id="what-ai-first-means-in-operational-terms">What “AI-First” means in operational terms</h4>
<p>AI-First is not simply “putting AI” into an isolated point of the process nor adding one more tool to the stack. AI-First means designing the complete workflow assuming that there is a second intelligence, artificial, that actively collaborates with human thinking throughout the entire SDLC.</p>

<p>This approach starts from a key premise: AI is not a replacement for the engineer, but an amplifier of reasoning, capable of absorbing operational load, reducing cognitive friction, and accelerating the generation of artifacts, allowing the human team to focus on analysis, validation, and decision-making.</p>

<p>From an operational perspective, this second intelligence is capable of:</p>
<ul>
  <li>Summarizing and structuring information coming from multiple sources such as requirements, technical meetings, architectural decisions, and functional discussions. This reduces the loss of context and prevents critical knowledge from being scattered or depending exclusively on people’s memory.</li>
  <li>Identifying inconsistencies in early stages of the process: contradictions between requirements, unstated assumptions, ambiguities in language, or decisions that are not aligned with the technical or business context.</li>
  <li>Generating artifacts with speed and coherence, such as acceptance criteria, technical documentation, test cases, CI/CD pipelines, and infrastructure as code. Speed here is not the final objective, but a means to free up time and cognitive focus.</li>
  <li>Supporting decision-making by proposing alternatives, pointing out technical, operational, or maintainability risks, and exposing potential impacts, without replacing the person ultimately responsible for the decision.</li>
</ul>

<p>AI-First does not eliminate human responsibility; it makes it more explicit.</p>

<h5 id="ai-first-demands-clear-definitions-from-the-team-and-the-organization">AI-First demands clear definitions from the team and the organization</h5>
<p>For this approach to work in a healthy and sustainable way, adopting tools is not enough. It is necessary for the team —and the organization— to explicitly define certain operational principles.</p>

<p>In practice, this requires clearly agreeing on:</p>
<ul>
  <li>Which metrics really matter. Not only speed metrics, but indicators that reflect quality and sustainability, such as lead time, cycle time, defect rate, MTTR, test coverage, and level of technical debt. AI must align with these metrics, not distort them.</li>
  <li>Which decisions are human by design. Architecture, prioritization, final acceptance criteria, change approval, and releases must remain under human control. AI can propose, analyze, and question, but not decide.</li>
  <li>Which outputs must be auditable and traceable. Documentation, technical decisions, acceptance criteria, relevant changes, and justifications must be reviewable, versionable, and explainable. Traceability is key for governance, quality, and trust.</li>
</ul>

<h5 id="ai-first-as-a-cultural-change-not-just-a-technical-one">AI-First as a cultural change, not just a technical one</h5>
<p>Adopting AI-First also implies a profound cultural change. The developer stops being a reactive executor and becomes an orchestrator of the process, responsible for validating, interpreting, and deciding on the results generated by AI. In this model, value is not in who writes the most code, but in who formulates better questions, detects risks earlier, and makes more conscious decisions. AI-First, in operational terms, is not automation without control. It is structured collaboration between human and artificial intelligence, with clear rules, explicit responsibilities, and a common goal: building software that is more robust, sustainable, and aligned with the business.</p>

<figure>
<img src="./AI_First_SDLC_AI.png" alt="AI-First infographic" loading="lazy" />
<figcaption>Fig 1. AI-First infographic.</figcaption>
</figure>

<p>To better understand how AI-First can be integrated into each stage of the SDLC, in the following sections I will analyze in more detail its practical application in the phases of: Requirements, Design, Development, Testing, and Observability/Operation.</p>

<h2 id="sdlc--planning-and-requirements">SDLC – Planning and Requirements</h2>
<h3 id="where-a-project-really-starts-or-breaks">Where a project really starts (or breaks)</h3>

<p>From my experience, many of the problems that appear during software development <strong>are not born in the code</strong>, but much earlier: in a <strong>deficient definition of requirements</strong>. It is at this stage where the foundations are laid for everything that comes next, and where errors can have a disproportionate impact in terms of time, cost, and quality of the final product.</p>

<p>One of the most common mistakes is <strong>ambiguity</strong>. Requirements written in a subjective way, open to interpretation, cause each team member to build a different vision of the same problem. The result is an early fragmentation of understanding that later translates into rework, friction, and constant deviations.</p>

<p>To this is added a deeply rooted practice in many organizations: <strong>extensive sessions to gather requirements</strong>, long meetings that end up generating distraction, fatigue, and loss of focus. Paradoxically, the longer these sessions are, the less clear the final understanding of the requirement usually is. The team attends, but does not always internalize.</p>

<p>Another critical point is the <strong>time factor</strong>. In many cases, there is a considerable gap between the moment a requirement is defined and the moment it is actually developed. In that interval, agreements, nuances, and important decisions are lost. The details —which are usually the most valuable— get diluted when there are no precise notes, structured documentation, or a “living artifact” that guides the development.</p>

<h3 id="ai-first-as-a-catalyst-for-clarity">AI-First as a catalyst for clarity</h3>

<p>It is precisely at this point where an <strong>AI-First</strong> approach begins to make a real difference. Instead of seeing AI as just another tool to “write requirements”, AI-First adoption means <strong>rethinking the entire requirements definition process</strong>, integrating artificial intelligence as an active collaborator from the start.</p>

<p>When artificial intelligence is properly incorporated in the planning phase, the advances are significant. AI makes it possible to <strong>substantially improve the wording of requirements</strong>, helping to express ideas in a clearer, more structured, and more objective way. By reducing ambiguity in language, subjectivity in interpretation is also reduced.</p>

<p>This has a direct effect on team dynamics: by <strong>speeding up the writing processes</strong>, time stops being invested in “<em>how to write</em>” and concentrates on <strong>analyzing the problem</strong>, questioning it, and validating it. AI does not replace analysis, it enhances it.</p>

<p>In my experience, tools like <strong>Project Bob</strong> go far beyond documenting. Bob is capable of:</p>

<ul>
  <li>Writing clear and well-structured requirements</li>
  <li>Proposing concrete and verifiable acceptance criteria</li>
  <li>Explaining and documenting the functional and technical context</li>
  <li>Relating the requirement directly to the existing code</li>
</ul>

<p>It does all of this with a speed and depth that a single team member could hardly achieve in the same amount of time.</p>

<h3 id="from-the-requirement-to-the-tasks-before-they-exist">From the requirement to the tasks, before they exist</h3>

<p>A particularly relevant point is AI’s ability to <strong>identify work before it is tangible</strong>. By analyzing the need, the system context, and the existing code, Project Bob can anticipate tasks, dependencies, and impact areas even before the team has formalized them.</p>

<p>In addition, the detection of ambiguous requirements is practically reduced to a minimum. By having a comprehensive view of the project, AI identifies vague phrases, implicit assumptions, or contradictions, helping to refine them from the start.</p>

<h3 id="real-risks-and-necessary-limits">Real risks and necessary limits</h3>

<p>That said, adopting AI at this stage is not without risks.</p>

<p>The first is well known: <strong>hallucinations</strong>. AI can generate incorrect, incomplete, or simply inaccurate information. This is where <strong>human technical judgment</strong> becomes irreplaceable. No output generated by AI should be considered an absolute truth without going through a conscious validation process.</p>

<p>The second risk is more subtle: AI can propose solutions that are <strong>effective</strong>, but not necessarily <strong>efficient</strong>. A solution can work and still compromise maintainability, scalability, or long-term quality. Evaluating this difference requires experience, context, and architectural vision; deeply human attributes.</p>

<p>That is why the limit is clear: AI <strong>assists</strong>, but <strong>does not decide</strong>. Critical analysis and decision-making remain the team’s responsibility. It is not about replacing human thinking, but about accepting that we now work with <strong>two complementary forms of thinking</strong>: the human and the artificial.</p>

<h4 id="practical-techniques-to-do-ai-first-requirements-without-losing-control">Practical techniques to do “AI-First requirements” without losing control</h4>
<p>Adopting an AI-First approach in the definition of requirements does not mean ceding control of the process to artificial intelligence. On the contrary, it demands more discipline, more clarity, and better practices to ensure that AI’s outputs are useful, verifiable, and sustainable over time.</p>

<p>The following techniques have proven to be key to achieving that balance:</p>
<ul>
  <li><strong>Standardization</strong>:
  The first step to reduce ambiguity is to standardize the way requirements are expressed. Using user story templates with a clear structure (Who / What / Why) forces you to make explicit the business value and the functional scope. Complementing this with a shared definition of Done and acceptance criteria in Given / When / Then format allows AI to generate more precise requirements and, at the same time, facilitates their validation by the human team. Standardization does not limit creativity; it reduces subjective interpretation and creates a common language between business, development, and QA.</li>
  <li><strong>Structured prompting</strong>:
  The quality of the requirements generated by AI directly depends on the quality of the prompt. In an AI-First approach, prompting stops being improvised and becomes a structured practice. Explicit requests such as “remove ambiguity”, “list assumptions”, “list open questions”, or “propose verifiable criteria” force AI to reason about the text, not just rewrite it. This kind of prompt turns AI into a critical reviewer of the requirement, helping to detect gaps before they become problems during development.</li>
  <li><strong>Traceability</strong>: 
  An AI-First requirement must be fully traceable. Each acceptance criterion must be clearly mapped to:
    <ul>
      <li>Test cases (unit, integration, or functional).</li>
      <li>Specific changes in the code.</li>
    </ul>

    <p>This traceability makes it possible to validate that what was built responds exactly to what was defined and prevents requirements from remaining isolated documents without real impact. In addition, it facilitates audits, technical reviews, and impact analysis in the face of future changes.</p>
  </li>
  <li><strong>Living artifacts</strong>:
  AI’s output should not remain in chats, loose documents, or temporary notes. Turning those outputs into living artifacts, versioned within a repository, is fundamental to preserving context over time. Documentation, acceptance criteria, and relevant decisions must evolve along with the code. This way, when development is resumed weeks or months later, the team does not depend on individual memory or late interpretations, but on a single, updated, and reliable source.</li>
</ul>

<figure>
<img src="./AI_First_SDLC_Planificacion.png" alt="AI First SDLC Planning and Requirements" loading="lazy" />
<figcaption>Fig 2. AI-First in the planning and requirements stage.</figcaption>
</figure>

<h2 id="sdlc--design-and-architecture">SDLC – Design and Architecture</h2>
<h3 id="when-ai-stops-drawing-for-us-and-starts-making-us-think-better">When AI stops drawing for us and starts making us think better</h3>

<p>The design and architecture stage is usually one of the most complex of the SDLC. Not because there is a lack of ideas, but because <strong>translating a conceptual vision into a clear and well-structured technical proposal</strong> consumes an enormous amount of time and energy.</p>

<p>On many occasions, the challenge is not in defining the solution, but in <strong>translating it into documents, diagrams, mockups, and artifacts</strong> that allow it to be analyzed, communicated, and validated. With the arrival of AI, this effort changes radically. The tasks of writing, diagramming, and building mockups are sped up significantly, reducing the time invested in “drawing” the solution and allowing us to focus on what really adds value: <strong>analyzing, questioning, and improving the design</strong>.</p>

<p>This change is key. When we stop investing hours in mechanical activities, we gain mental space to review critical points, adjust architectural decisions, and evaluate alternatives with greater depth.</p>

<h3 id="ai-as-a-catalyst-for-architectural-thinking">AI as a catalyst for architectural thinking</h3>

<p>From my experience, AI adds value at this stage in multiple ways. First, it <strong>helps to structure ideas</strong>. Many times we have the design clear in our head, but not necessarily organized. AI allows us to order that thinking, identify gaps, propose improvements, and, very importantly, <strong>force us to justify decisions</strong> that we previously took for granted.</p>

<p>It is especially interesting to observe how a second intelligence —in this case artificial— <strong>questions our own approaches</strong>. By proposing patterns, evaluating designs, or contrasting approaches, AI generates a kind of “assisted self-questioning” that ends up strengthening the final architecture. Not because it is absolutely right, but because it forces us to think better.</p>

<p>This is where tools like <strong>Project Bob</strong> show a clear advantage. By having full context of the project —requirements, code, dependencies— Bob can identify <strong>technical risks that are not always evident at first glance</strong>. In one of my projects, for example, it detected a possible data growth problem related to JWT handling, where the key was at risk of overflow. That finding was critical: had it not been identified in time, it would have caused truncations and serious problems in production.</p>

<p>This kind of contribution does not replace the architect, but it does <strong>expand their field of vision</strong>.</p>

<h3 id="from-the-requirement-to-the-tasks-before-they-exist-1">From the requirement to the tasks, before they exist</h3>
<p>A point that becomes powerful in architecture is that, if AI has already “understood” requirements and code, it can <strong>anticipate impacts</strong>: affected modules, contracts to modify, integration points, and performance or security risks. This changes the way of planning: instead of discovering impact late, you discuss it early.</p>

<h3 id="risks-and-limits">Risks and limits</h3>
<p>One of the most common mistakes is falling into architectures that are <strong>effective but not efficient</strong>, or generating an excessive dependence where the team does not understand the product. That is why AI can suggest and observe, but the decision must be human.</p>

<h4 id="ai-first-checklist-for-architecture-decisions">AI-First checklist for architecture decisions</h4>
<p>Adopting an AI-First approach in architecture does not mean delegating the design to artificial intelligence. It means using AI as a mechanism to contrast, validate, and expand architectural thinking, always keeping the architect as the person ultimately responsible for the decision.</p>

<p>This checklist serves as a practical guide for incorporating AI into architecture decisions <strong>without losing control or technical judgment</strong>.</p>
<ul>
  <li><strong>Compared alternatives</strong> (at least 2):
  In an AI-First approach, AI should be used to propose and contrast multiple architectural alternatives, not to impose a single solution. Explicitly asking the agent to put forward at least two options forces an analysis of different approaches, patterns, and trade-offs. AI can describe the advantages, disadvantages, and assumptions of each alternative, but the final choice always corresponds to the architect, who must evaluate these options based on the organizational, technical, and business context.</li>
  <li><strong>Risks</strong>:
  Every architectural decision must be evaluated from a comprehensive risk perspective. AI can help identify and classify risks in areas such as:
    <ul>
      <li>Performance: bottlenecks, latency, scalability.</li>
      <li>Security: data exposure, attack surfaces, regulatory compliance.</li>
      <li>Cost: over-provisioning, unnecessary resource consumption, licensing.</li>
      <li>Lock-in: excessive dependence on specific vendors, frameworks, or services.</li>
      <li>Operation: support complexity, monitoring, recovery from failures.</li>
    </ul>

    <p>AI can point out these risks, but it is up to the architect to prioritize, accept, or mitigate them in accordance with the organization’s strategy.</p>
  </li>
  <li><strong>Evolution</strong>:
  An AI-First architecture must be designed with change in mind. AI can help define evolution strategies, answering key questions such as:
    <ul>
      <li>How are APIs versioned without breaking consumers?</li>
      <li>How are gradual migrations managed?</li>
      <li>What level of backward compatibility is necessary?</li>
    </ul>

    <p>Designing for evolution avoids rigid architectures and reduces the cost of change in the medium and long term, a critical aspect in enterprise environments.</p>
  </li>
  <li><strong>Observability by design</strong>:
  Observability should not be a later add-on. In an AI-First approach, the architecture must incorporate from the design stage:
    <ul>
      <li>Structured and traceable logs.</li>
      <li>Key metrics aligned with business and technical objectives.</li>
      <li>Distributed traces to understand complete flows.</li>
      <li>Clear SLOs that define service expectations.</li>
    </ul>

    <p>AI can help define what to observe, how to correlate events, and which thresholds are relevant, but it is the architect who decides what information is critical to operate and evolve the system.</p>
  </li>
</ul>

<figure>
<img src="./AI_First_SDLC_Diseno.png" alt="AI First SDLC Design" loading="lazy" />
<figcaption>Fig 3. AI-First in the Design stage of the SDLC.</figcaption>
</figure>

<h2 id="summary-and-upcoming-blogs">Summary and upcoming blogs</h2>
<p>In this blog I have shared my vision of how an <strong>AI-First approach can transform the Planning, Requirements, and Design stages within the SDLC</strong>. I have emphasized the importance of adopting AI not as an isolated tool, but as an <strong>active collaborator that enhances human thinking</strong>, helping to structure ideas, identify risks, and generate artifacts more efficiently. However, I have also underlined the associated risks and the need to always maintain <strong>human control over critical decisions</strong>. In the <strong>next blog</strong>, I will dive deeper into how <strong>AI-First transforms the Development, Testing, and Observability/Operation stages</strong>, exploring practical cases, key tools, and best practices to maximize the value of artificial intelligence in each phase of the SDLC. <strong>Don’t miss it!</strong></p>

<p>As you saw in this blog, adopting an AI-First approach is not simply a technological matter, but a strategic and cultural one, starting from the very foundations of the software development life cycle, in the end:</p>

<blockquote>
  <p><strong>It is not just about modernizing the code, but about modernizing the way we think and work.</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Project BOB" /><category term="GitHub Copilot Agents" /><summary type="html"><![CDATA[AI-First within the SDLC - A silent reform in software development]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_SDLC/AI_First_SDLC_Portada1.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_SDLC/AI_First_SDLC_Portada1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">AI-First, the future of software development</title><link href="https://jdetrizep.github.io/en/AI_First_Futuro_Desarrollo/" rel="alternate" type="text/html" title="AI-First, the future of software development" /><published>2026-01-02T08:00:00-06:00</published><updated>2026-01-02T08:00:00-06:00</updated><id>https://jdetrizep.github.io/AI_First_Futuro_Desarrollo-en</id><content type="html" xml:base="https://jdetrizep.github.io/AI_First_Futuro_Desarrollo/"><![CDATA[<h1 id="ai-first-the-future-of-software-development-has-already-begun">AI-First: the future of software development has already begun</h1>

<h2 id="introduction">Introduction</h2>

<p>For a long time, the evolution of software development has been marked by changes in approach rather than changes in tools. <strong>API-First, Cloud-First, DevOps-First…</strong> all of these paradigms redefined priorities, but kept one constant: <strong>the human being remained the only real cognitive entity in the process</strong>. Tools assisted, automated, or accelerated, but they did not reason or actively participate in decision-making. That assumption is no longer valid.</p>

<p>Today, talking about <strong>AI-First</strong> means accepting that artificial intelligence is no longer a peripheral component, nor a “productivity plugin,” but rather <strong>a technical actor with the capacity for analysis, proposal, and execution, integrated directly into the software engineering flow</strong>. It is not about writing code faster; it is about how technical thinking is built when a second intelligence participates in the process.</p>

<p>From my experience working with advanced assistants —especially in enterprise environments, systems modernization, and complex architectures— I have reached a clear conclusion:
<strong>AI-First is not a technological decision, it is an epistemological one</strong>. It changes the way we understand technical knowledge, the developer’s responsibility, and the role of human experience.</p>

<p>When AI is capable of:
	•	Analyzing complete repositories,
	•	Proposing architectures,
	•	Refactoring legacy systems,
	•	Generating tests, documentation, and workflows,
	•	And learning from the organizational context,</p>

<p><strong>The real challenge stops being what AI can do and becomes how we govern its participation within the engineering process.</strong></p>

<p>This blog does not intend to idealize artificial intelligence nor present it as an automatic solution. On the contrary, it seeks to place <strong>the AI-First approach in its proper technical dimension</strong>, analyzing how it is <strong>transforming software development, which assistants truly embody this paradigm, and why the developer’s role —far from disappearing— becomes more strategic, more architectural, and more responsible than ever</strong>.</p>

<h2 id="-what-does-ai-first-really-mean">🧠 What does AI-First really mean?</h2>

<p>When I talk about AI-First, I am not talking about integrating artificial intelligence as an additional layer to the development process, nor about adding an assistant that “helps write code.” From my experience, <strong>AI-First is a shift in the way we structure technical thinking</strong>.</p>

<p>Traditionally, software development has been a linear and human-centric process: the developer analyzes, decides, designs, and executes; the tools merely accompany. Even with advanced automation, the reasoning always resided in a single mind. That model no longer describes today’s reality.</p>

<p>In an AI-First approach, <strong>artificial intelligence actively participates in the cognitive process</strong>, not as a substitute for the engineer, but as a second reasoning system, capable of analyzing context, proposing alternatives, and executing tasks under supervision.</p>

<p>This implies consciously assuming that:</p>
<ul>
  <li>AI is not invoked only when “needed,” but is present from the conception of the problem.</li>
  <li>Development ceases to be an individual activity and becomes a human-AI collaboration.</li>
  <li>The developer’s value shifts from writing code to defining criteria, validating decisions, and governing the use of AI.</li>
</ul>

<p>AI-First is not about using AI to program, but about <strong>programming knowing that an artificial intelligence is part of the engineering process</strong>.</p>

<p>The difference is subtle, but profound. While the traditional use of AI responds to:</p>

<blockquote>
  <p><strong>“How do I write this code?”</strong></p>
</blockquote>

<p>AI-First forces us to rethink structural questions:</p>
<ul>
  <li>What decisions can AI propose?</li>
  <li>Which must remain exclusively human?</li>
  <li>How is a solution partially generated by AI validated?</li>
  <li>Where does technical responsibility begin and end?</li>
</ul>

<p>In that sense, AI-First is not a productivity practice, <strong>it is an engineering discipline</strong>.</p>

<figure>
<img src="./AI_First_Infografo.png" alt="Conceptual diagram showing the transition from traditional development to the AI-First approach, highlighting the integration of artificial intelligence as a cognitive coprocessor in the software development cycle" loading="lazy" />
<figcaption>Fig 1. AI-First infographic.</figcaption>
</figure>

<h2 id="-visualizing-ai-first-from-reactive-tool-to-expanded-cognition">🧩 Visualizing AI-First: from reactive tool to expanded cognition</h2>

<p>When we try to draw AI-First, the challenge is not to show arrows or boxes, but to convey a <strong>cognitive idea</strong>: the transition from a model where AI responds to our requests, to one where AI actively influences how we think about technical problems.</p>

<p>In traditional approaches, <strong>AI operates as a reactive instrument</strong>: it executes tasks on demand, with isolated prompts and without global understanding. But in an AI-First approach, AI ceases to be an accessory and becomes a cognitive extension of the engineer.</p>

<p>This section proposes a mental visualization that not only compares models, but helps to feel the transformation.</p>

<h3 id="-1-from-ai-as-a-productivity-spring">🧠 1. From AI as a productivity spring…</h3>

<p>Imagine AI as a tool in your toolbox:</p>
<ul>
  <li>It is available when you need it</li>
  <li>It responds to what you ask it</li>
  <li>It speeds up isolated tasks</li>
  <li>It depends on your local context</li>
</ul>

<p>In this model:</p>
<ul>
  <li>You think first, AI responds afterward</li>
  <li>The technical process remains —almost— the same</li>
</ul>

<h4 id="-visual">📌 Visual:</h4>
<p>A tool in your hand, waiting for a prompt to act.</p>

<h3 id="-2-toward-ai-as-a-structural-cognitive-layer">🧠 2. …Toward AI as a structural cognitive layer</h3>
<p>Now imagine AI as a second technical mind that:</p>
<ul>
  <li>Understands the complete project</li>
  <li>Analyzes patterns, dependencies, and trade-offs</li>
  <li>Contextualizes decisions with technical memory of the system</li>
  <li>Proposes alternatives, not just answers</li>
</ul>

<p>In this new model:</p>
<ul>
  <li>Thinking is no longer isolated</li>
  <li>A continuous dialogue is generated between engineer and AI</li>
  <li>The solution emerges from a cognitive symbiosis</li>
</ul>

<h4 id="-visual-1">📌 Visual:</h4>
<p>Two “mental engines” —one human, one artificial— interconnected by flows of data, interpretations, and shared context.</p>

<h3 id="-3-from-answering-prompts--to-co-reasoning-technical-problems">🧠 3. From answering prompts → to co-reasoning technical problems</h3>
<p>In practice, this leap looks like this:</p>

<table>
  <thead>
    <tr>
      <th>AI as a tool</th>
      <th>AI as a cognitive coprocessor</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Responds to an isolated prompt</td>
      <td>Analyzes repository context</td>
    </tr>
    <tr>
      <td>Generates code fragments</td>
      <td>Suggests architectural paths</td>
    </tr>
    <tr>
      <td>Automates specific tasks</td>
      <td>Proposes and validates strategies</td>
    </tr>
    <tr>
      <td>Depends on your intent</td>
      <td>Proposes alternatives with judgment</td>
    </tr>
    <tr>
      <td>Is a resource</td>
      <td>Is a reasoning agent</td>
    </tr>
  </tbody>
</table>

<h4 id="-visual-2">📌 Visual:</h4>
<p>A continuum, not a rupture. An axis from prompt-AI toward cognitive-AI.</p>

<h3 id="-4-how-it-feels-to-work-ai-first">🧠 4. How it “feels” to work AI-First</h3>

<p>Beyond diagrams, AI-First is perceived as:</p>
<ul>
  <li>Less struggle with repetitive details</li>
  <li>More time to think about structures and trade-offs</li>
  <li>Less noise, more judgment</li>
  <li>More co-creation, less manual execution</li>
</ul>

<p>It is like moving from:</p>

<blockquote>
  <p>“Asking AI for answers”</p>
</blockquote>

<p>Toward</p>

<blockquote>
  <p>“Dialoguing with AI to build decisions”.</p>
</blockquote>

<h3 id="-what-is-the-essential-difference">💡 What is the essential difference?</h3>

<p>The difference is not technical: it is epistemological.</p>
<ul>
  <li>Using AI is obtaining results.</li>
  <li>Thinking AI-First is rethinking how we arrive at those results, what criteria we use, and how we govern AI’s intervention.</li>
</ul>

<figure>
<img src="./AI_First_Infografo2.png" alt="Visualization of the evolution from AI as a reactive tool toward AI as a structural cognitive layer, showing the transformation of technical thinking in software development" loading="lazy" />
<figcaption>Fig 2. Evolution of AI through AI-First.</figcaption>
</figure>

<h2 id="-ai-first-in-the-software-life-cycle-sdlc">🔄 AI-First in the software life cycle (SDLC)</h2>

<p>When we think about the software life cycle <em>requirements, design, development, testing, deployment, operation</em> we tend to see it as a <strong>sequence of discrete phases</strong>.</p>

<p>AI-First forces us to break down that separation, because <strong>if AI affects how we legitimize a decision, then it modifies the nature of the transition between each stage</strong>.</p>

<p>In a traditional SDLC, each phase is governed by a set of human assumptions:</p>

<ol>
  <li><strong>What must be solved</strong></li>
  <li><strong>How to solve it</strong></li>
  <li><strong>What is acceptable</strong></li>
  <li><strong>How to measure it</strong></li>
  <li><strong>Who is responsible</strong></li>
</ol>

<p>AI-First does not eliminate these assumptions, but <strong>distributes them between two reasoning systems</strong>: human and AI. 
This produces a qualitative transformation of the engineering process:</p>

<h3 id="-redefining-understanding-the-problem">🧠 Redefining <strong>understanding the problem</strong></h3>

<p>Traditionally:</p>

<blockquote>
  <p>The developer captures business intentions and translates them into requirements.</p>
</blockquote>

<p>AI-First:</p>

<blockquote>
  <p>AI collaborates in the formulation of the problem, detects ambiguities, suggests non-explicit limitations, and exposes tacit dependencies.</p>
</blockquote>

<p>AI does not replace human understanding, but <strong>expands its reach</strong> and reveals assumptions that would otherwise go unnoticed.
We are not just <strong>capturing requirements</strong>, we are <strong>conferring upon them a shared cognitive structure</strong>.</p>

<h3 id="-architecture-and-design-as-dialogue">🧠 Architecture and design as dialogue</h3>

<p>Software design has traditionally been a human activity with AI acting as a support tool (diagrams, sketches, autocompletion).</p>

<p>AI-First transforms design into an <strong>active dialogue</strong>:</p>
<ul>
  <li>AI articulates constraints and trade-offs across multiple dimensions</li>
  <li>Anticipates friction points before they exist</li>
  <li>Builds design variants simultaneously</li>
  <li>Maintains coherence between discrete decisions</li>
</ul>

<p>Design ceases to be a solitary art and becomes <strong>a space for co-reasoning</strong>, where each decision is examined under different optimization vectors.</p>

<h3 id="-development-not-just-generating-code-but-constructive-consistency">🧠 Development: not just generating code, but constructive consistency</h3>

<p>When AI participates from the implementation phase, development ceases to be a simple translation of design into code.</p>

<p>AI-First injects:</p>

<ul>
  <li>Coherence of style and architecture</li>
  <li>Validation of technical assumptions in real time</li>
  <li>Detectors of technical debt before it crystallizes</li>
  <li>Suggestions that respect prior patterns and contexts</li>
</ul>

<p>AI does not produce perfect code; <strong>it makes the code’s decisions more explicit and justified</strong>.</p>

<h3 id="-testing-as-a-conversation-with-the-software">🧠 Testing as a <strong>conversation with the software</strong></h3>

<p>Testing has traditionally been a verification activity: we confirm that something behaves as we expect.</p>

<p>AI-First turns testing into <strong>an intuitive way of exploring unconsidered inconsistencies</strong>. It not only generates tests, but:</p>

<ul>
  <li>Probes non-obvious edge cases</li>
  <li>Discovers contradictions between implicit assumptions</li>
  <li>Proposes adversarial scenarios based on learned patterns</li>
</ul>

<p>Testing ceases to be <strong>confirmations</strong> and becomes <strong>explorations of epistemological robustness</strong>.</p>

<h3 id="-integration-and-deployment-cognitive-orchestration">🧠 Integration and deployment: cognitive orchestration</h3>

<p>AI-First amplifies the visibility of each change:</p>

<ul>
  <li>Anticipates deployment impacts across connected services</li>
  <li>Simulates production states based on real data</li>
  <li>Warns of conflicts before they reach execution</li>
</ul>

<p>It is no longer “integrate and deploy,” it is <strong>orchestrating with awareness of risk and benefit</strong>.</p>

<h3 id="-operation-and-evolution-continuous-learning">🧠 Operation and evolution: continuous learning</h3>

<p>In an AI-First world, <strong>operating is not collecting metrics, it is interpreting them</strong> with the help of AI:</p>

<ul>
  <li>Detecting emerging patterns</li>
  <li>Correlating events with previous design decisions</li>
  <li>Feeding the engineering process back with accumulated knowledge</li>
</ul>

<p>This turns the SDLC into a <strong>continuous thinking circuit</strong>, not a line with discrete phases.</p>

<h2 id="-what-is-really-happening">🧠 What is really happening</h2>

<p>AI-First does not transform the SDLC by adding more automation.
<strong>It reconfigures the nature of reasoning at each stage</strong>:</p>

<p>Before:</p>

<blockquote>
  <p>AI responded to what the human asked.</p>
</blockquote>

<p>Now:</p>

<blockquote>
  <p>AI participates in the construction of the problem, the solution, and the evaluation.</p>
</blockquote>

<p>In other words:</p>

<blockquote>
  <p><strong>AI-First transforms the SDLC from a set of chained steps into a network of interdependent and co-reasoned decisions.</strong></p>
</blockquote>

<figure>
<img src="./AI_First_Infografo3.png" alt="Diagram of the software development life cycle (SDLC) with artificial intelligence at the center, showing how AI-First transforms each phase from requirements to operation and maintenance" loading="lazy" />
<figcaption>Fig 3. AI at the center of the SDLC.</figcaption>
</figure>

<h2 id="-code-assistants-with-an-ai-first-approach">🤖 Code assistants with an AI-First approach</h2>

<p>When we talk about code assistants under the AI-First paradigm, we are not enumerating what each tool can generate, but rather what kind of technical thinking each one enables or limits. The difference between assistants that “speed up tasks” and true <strong>AI-First agents</strong> is not in how much code they generate, but in how they transform the act of <strong>designing, reasoning, and deciding about a complex system</strong>.</p>

<h3 id="-1-project-bob--expanded-thinking-not-just-suggestions">🧠 1. Project Bob — expanded thinking, not just suggestions</h3>

<p>Project Bob is the assistant that comes closest to the metaphor of AI as a cognitive extension.</p>

<p>It does not limit itself to autocompleting or responding to prompts. Its key technical value lies in that:</p>
<ul>
  <li>It has access to the complete context of the project and the business</li>
  <li>It allows reasoning about architectural trade-offs</li>
  <li>It not only generates code, it proposes lines of thought</li>
  <li>It integrates with regulations, policies, compliance, and technical governance</li>
  <li>It acts as a design partner, not as a snippet generator</li>
</ul>

<p>In the continuum I proposed <em>from AI as a reactive tool toward AI as a cognitive coprocessor</em>, Project Bob is clearly at the end of structured and contextual reasoning. If technical thinking were a conversation, Bob does not just answer: it poses new questions. Bob does not just suggest solutions, it exposes technical hypotheses.</p>

<h3 id="-2-github-copilot-agents--agents-as-amplifiers-of-intent">🧠 2. GitHub Copilot Agents — agents as amplifiers of intent</h3>

<p>GitHub Copilot was the first tool to popularize AI “at the code level,” but its <strong>evolution toward Agents</strong> implies a conceptual transition:
from being an <strong>input-output extension to being configured as intelligent automation layers over established flows</strong>.</p>

<p>Copilot Agents does not replace your judgment, but:</p>
<ul>
  <li>Interprets complete parts of the system</li>
  <li>Can generate tests, documentation, and solution proposals</li>
  <li>Acts over broader contexts than simple functions</li>
</ul>

<p>From the AI-First perspective, Copilot Agents is not yet a complete cognitive coprocessor, but it is an accelerator of technical intent: it converts explicit decisions into contextualized executions. If AI were a second mind, Copilot Agents would be the first operational thinking assistant: it works while you decide which path to take. Copilot Agents accelerates your intent, it does not replace or generate it.</p>

<h3 id="-3-kiro--the-aspiration-toward-autonomous-cloud-native-agents">🧠 3. <strong>Kiro</strong> — the aspiration toward autonomous cloud-native agents</h3>

<p>Kiro (and similar tools oriented toward autonomous agents) points toward an interesting technical idea: <strong>AI that not only helps conclude tasks, but can anticipate complete solution paths</strong>.</p>

<p>Unlike a reactive model, Kiro:
	•	Seeks to close complete loops of tasks
	•	Can make flow decisions (under defined rules and objectives)
	•	Integrates with cloud services and pipelines as a contextual automation agent</p>

<p>At the level of technical thinking, it is situated closer to a provider of proposals than to a simple reactive assistant, although it does not yet have the degree of deep co-reasoning of an AI that maintains complete domain memory.
In terms of the continuum:</p>
<blockquote>
  <p><strong>Kiro is at the frontier of autonomous agents that propose paths and not just answers.</strong></p>
</blockquote>

<h3 id="-4-what-really-defines-an-ai-first-assistant">🧩 4. What really defines an AI-First assistant?</h3>

<p>Technically, a code assistant can be considered AI-First if it meets at least these qualities:</p>
<ol>
  <li>Deep context understanding. Not only of the active file, but of the domain, architecture, and constraints of the project.</li>
  <li>Active participation in reasoning. It goes beyond autocompleting: it proposes alternatives, explains trade-offs, and suggests paths.</li>
  <li>Capacity to execute flows, not just tasks. For example: testing, design validation, security review.</li>
  <li>Technical supervision and governance. Its output is auditable, explainable, and aligned with internal policies.</li>
  <li>Human-AI co-reasoning. It is not a replacement. It is an expansion of structured thinking.</li>
</ol>

<h3 id="-final-analysis-of-code-assistants">🧠 Final analysis of code assistants</h3>

<p>Not all assistants embody AI-First. Many are powerful from the productivity standpoint, but cognitively limited: they operate on prompts, not on context. The true AI-First revolution is not that AI generates code faster —that is already a commodity—, but that it can be an active part of the construction of the technical thinking behind a solution. And this is not achieved by generating code <strong>It is achieved by generating criteria</strong>.</p>

<figure>
<img src="./AI_First_Infografo4.png" alt="Visual comparison of AI-First code assistants: Project Bob, GitHub Copilot Agents, and Kiro, highlighting their capabilities for co-reasoning, contextual understanding, and autonomy in software development" loading="lazy" />
<figcaption>Fig 4. Code assistants with an AI-First approach.</figcaption>
</figure>

<h2 id="-the-future-of-software-development">🚀 The future of software development</h2>

<p>Looking at the future of software development from an AI-First perspective is not about describing new tools or cataloging functions. It is, above all, <strong>recognizing how the act of thinking software changes</strong> when artificial intelligence ceases to be an accessory and becomes <strong>an integral part of the cognitive process</strong>.</p>

<h3 id="-short-term-co-reasoning-and-expansion-of-technical-capacity">🔹 Short term: co-reasoning and expansion of technical capacity</h3>

<p>In the next <strong>1 to 2 years</strong>, we will see an accelerated transition from assisted development to <strong>co-reasoned</strong> development:</p>

<ul>
  <li><strong>AI as a continuous copilot:</strong> AI will cease to be invoked by isolated commands and will begin to be part of the <strong>flow of thinking</strong>, influencing:
    <ul>
      <li>Choice of architectural patterns.</li>
      <li>Real-time trade-off suggestions.</li>
      <li>Proactive detection of technical debt.</li>
    </ul>
  </li>
  <li><strong>Contextual domain memory:</strong> It will no longer be enough for AI to know code fragments: it must understand <strong>the problem domain, business constraints, and the team’s past decisions</strong> to make valuable contributions.</li>
  <li><strong>Reasoning about technical intent:</strong> AI’s input will have to transcend the “what” to ask the “why”: What is the business objective behind a requirement? What is the <strong>implied context</strong> behind a design choice?</li>
  <li><strong>AI as an auditor of criteria:</strong> Beyond generating code, AI will begin to:
    <ul>
      <li>Evaluate consistency between assumptions.</li>
      <li>Anticipate design contradictions.</li>
      <li>Propose alternative paths with <strong>logical justification</strong>.</li>
    </ul>
  </li>
</ul>

<p>This will imply a profound change for teams: <strong>not only will less code be written, but the very act of writing it will be questioned more</strong>.</p>

<h3 id="-medium-term-cognitive-agents-and-the-evolution-of-the-professional-role">🔹 Medium term: cognitive agents and the evolution of the professional role</h3>

<p>On the horizon of <strong>3 to 5 years</strong>, the AI-First vision will mature in forms that today seem conceptual, but will be practical and ubiquitous.</p>

<h4 id="-1-agents-specialized-by-role">🧠 1. Agents specialized by role</h4>

<p>We will not just talk about AI that generates code, but about <strong>cognitive agents with technical identity</strong>:</p>

<ul>
  <li><strong>Architect Agent:</strong> Proposes and evaluates architecture schemes.</li>
  <li><strong>Analyst Agent:</strong> Detects inconsistencies, risks, and non-explicit dependencies.</li>
  <li><strong>Quality Agent:</strong> Generates and adjusts test suites based on business objectives and risks.</li>
</ul>

<p>These agents will not be replacements, but <strong>specialized extensions</strong> of human capabilities.</p>

<h4 id="-2-persistent-project-memory">🧠 2. Persistent project memory</h4>

<p>Knowledge will not be only in documentation or in the minds of engineers, but <strong>in AI models that maintain a technical memory of the project</strong>, which will allow:</p>
<ul>
  <li>Continuous review of past decisions,</li>
  <li>Contextualization of new requirements,</li>
  <li>Suggestions aligned with the complete history of the system.</li>
</ul>

<h4 id="-3-technical-co-governance">🧠 3. Technical co-governance</h4>

<p>AI will not only suggest; it will participate in <strong>technical governance processes</strong>, supporting discussions about:</p>
<ul>
  <li>Quality criteria,</li>
  <li>Security policies,</li>
  <li>Architecture decisions,</li>
  <li>Regulatory compliance.</li>
</ul>

<h3 id="-and-the-human-role-in-this-future">🔹 And the human role in this future?</h3>

<p>Contrary to the simplistic narrative of “<em>AI replaces the developer</em>,” the AI-First future will demand:</p>
<ul>
  <li><strong>Superior critical reasoning:</strong> AI can propose multiple solutions; the human must <strong>choose which is the most aligned with context, risks, and real objectives</strong>.</li>
  <li><strong>Designing criteria, not just code:</strong> Productivity will no longer be measured in <em>lines generated</em>, but in <strong>defined criteria, justified decisions, and robust solutions</strong>.</li>
  <li><strong>Integrated supervision and ethics:</strong> The responsibility of ensuring that AI operates in a <strong>safe, explainable, and ethical</strong> way rests on the team, not on the tool.</li>
</ul>

<h3 id="-a-pragmatic-change-from-doing-to-thinking">💡 A pragmatic change: from “doing” to “thinking”</h3>

<p>If today the challenge is to integrate AI to produce incremental value, tomorrow the challenge will be:</p>

<blockquote>
  <p><strong>How do we structure engineering thinking so that it can coexist, collaborate, and evolve with another reasoning system?</strong></p>
</blockquote>

<p>The answer is not in listing tools, but in <strong>rethinking the engineering process</strong>:</p>

<ul>
  <li>Less noise in repetitive decisions.</li>
  <li>More energy on criteria and reasons.</li>
  <li>Less manual execution.</li>
  <li>More strategic supervision.</li>
</ul>

<figure>
<img src="./AI_First_Infografo5.png" alt="Projection of the future of software development with AI-First: specialized agents, persistent project memory, technical co-governance, and the evolution of the developer's role toward strategic thinker" loading="lazy" />
<figcaption>Fig 5. The future of development with AI-First code assistants.</figcaption>
</figure>

<h3 id="-conclusion-smarter-software-development">🌐 Conclusion: smarter software development</h3>

<p>We are not projecting <strong>more code generated by AI</strong>, but rather an <strong>engineering ecosystem based on co-reasoning</strong>:</p>

<ul>
  <li><strong>The short term</strong> brings an expansion of technical thinking: AI as a constant copilot.</li>
  <li><strong>The medium term</strong> brings specialized agents, shared memory, and co-governance.</li>
  <li>And in that future, <strong>the developer will not be displaced</strong>, but <strong>will indeed be redefined as a strategic thinker</strong>, an articulator of criteria, and a supervisor of reasoning.</li>
</ul>

<p>Software development will cease to be:</p>

<blockquote>
  <p>“how do we make the software work”</p>
</blockquote>

<p>To become:</p>

<blockquote>
  <p>“how do we make the software technically sustainable, cognitively robust, and strategically aligned”</p>
</blockquote>

<h2 id="-closing-ai-first-as-a-discipline-not-a-shortcut">🧠 Closing: AI-First as a discipline, not a shortcut</h2>

<p>Adopting an AI-First approach does not consist of integrating code assistants nor accumulating tools powered by artificial intelligence. It implies redefining the discipline of software development under a new reality: <strong>the coexistence between human intelligence and artificial intelligence within the same cognitive process</strong>.</p>

<p>The most advanced AI-First assistants —such as Project Bob, GitHub Copilot Agents, or emerging initiatives like Kiro— evidence a clear transition:
software development ceases to be a purely reactive and manual activity, and becomes an exercise in orchestration, supervision, and informed decision-making.</p>

<p>In this context, the developer’s role evolves.
They are no longer solely the one who implements solutions, but the one who:</p>
<ul>
  <li>Defines technical limits and criteria,</li>
  <li>Evaluates proposals generated by AI,</li>
  <li>Governs the responsible use of models,</li>
  <li>Guarantees quality, security, and alignment with the business.</li>
</ul>

<p>The true competitive advantage will not lie in who uses more AI, but in who knows how to integrate it with judgment, experience, and responsibility. AI-First does not replace the engineer; it demands a more conscious, more architectural, and more strategic engineer.</p>

<p>And it is here where the most important change occurs not in the code, but in the mindset. In the end:</p>

<blockquote>
  <p><strong>It is not just about modernizing the code, but about modernizing the way we think and work.</strong></p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Desarrollo asistido por IA" /><category term="Arquitectura de Software" /><category term="Project BOB" /><category term="GitHub Copilot Agents" /><category term="Kiro" /><summary type="html"><![CDATA[AI-First - The future of software development has already begun]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/AI_First_Futuro_Del_Desarrollo/AI_First_Portada.png" /><media:content medium="image" url="https://jdetrizep.github.io/AI_First_Futuro_Del_Desarrollo/AI_First_Portada.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Project BOB and the AI-First approach</title><link href="https://jdetrizep.github.io/en/Project_Bob_AIFirst/" rel="alternate" type="text/html" title="Project BOB and the AI-First approach" /><published>2025-12-23T08:00:00-06:00</published><updated>2025-12-23T08:00:00-06:00</updated><id>https://jdetrizep.github.io/Project_Bob_AIFirst-en</id><content type="html" xml:base="https://jdetrizep.github.io/Project_Bob_AIFirst/"><![CDATA[<h1 id="beyond-the-assistant-my-experience-with-project-bob-and-the-ai-first-approach">Beyond the assistant: my experience with Project BOB and the AI-First approach</h1>

<h2 id="introduction">Introduction</h2>

<p>In recent months I have had the opportunity to evaluate <strong>Project BOB</strong>, not out of curiosity about a new tool, but from the daily reality of two roles that constantly intersect: <strong>Solutions Architect and active developer</strong>.</p>

<p>It was not a lab test or a controlled demo. I decided to use BOB in real-world scenarios:</p>
<ul>
  <li>development <strong>from scratch</strong>,</li>
  <li><strong>modernization of existing code</strong>,</li>
  <li>daily work with version control,</li>
  <li>and <strong>DevOps</strong>-oriented practices.</li>
</ul>

<p>The question was not whether BOB could “help,” but <strong>how deeply it could integrate into the software development life cycle</strong> and whether it truly represented an <strong>AI-First</strong> approach beyond the marketing.</p>

<figure>
<img src="./Portada_Project_Bob2.png" alt="Illustration of Project BOB, IBM's AI assistant, working together with a developer on Java code modernization tasks and software architecture analysis" loading="lazy" />
<figcaption>Fig 1. Project BOB in action.</figcaption>
</figure>

<h2 id="my-work-context">My work context</h2>

<p>My main focus has been <strong>Java</strong>, developing modern applications and evaluating modernization processes, particularly a migration from <strong>Java 17 to Java 21</strong>. In parallel, I have run tests on <strong>IBM i</strong>, working with <strong>RPG Full Free, SQLRPGLE, and DB2 for i</strong>.</p>

<p>All of this on <strong>Git repositories on GitHub</strong>, trying to maintain a clean and disciplined DevOps flow.</p>

<p>I came in with high expectations. I had seen BOB in action at <strong>IBM TechXchange 2025</strong> and the concept was clear: it was not just another assistant, but something different. The real test was to see how it behaved when the code, the dependencies, and the architectural decisions were real.</p>

<h2 id="strength-1--real-autonomy-working-by-tasks-not-by-prompts">Strength #1 — Real autonomy: working by <em>tasks</em>, not by <em>prompts</em></h2>

<p>The clearest strength I have identified in Project BOB is its <strong>autonomy to execute complete tasks</strong>. BOB does not limit itself to responding to isolated prompts; it understands a <strong>task</strong> as a functional unit that must be solved from start to finish.</p>

<figure>
<img src="./Bob_Tareas.png" alt="Screenshot showing the Project BOB interface managing complete tasks autonomously, from context analysis to command execution and dependency resolution in a Java project" loading="lazy" />
<figcaption>Fig 2. Project BOB handling a task.</figcaption>
</figure>

<p>In practice, this means that BOB can:</p>
<ul>
  <li>analyze the full context of the project,</li>
  <li>run console commands when necessary,</li>
  <li>adjust code,</li>
  <li>update configurations and components,</li>
  <li>and resolve dependencies without turning the flow into a fragmented conversation.</li>
</ul>

<h3 id="real-example">Real example</h3>

<p>While developing a <strong>Java</strong> application that communicated with <strong>AWS</strong> services, I defined clear, concrete tasks. BOB was able to develop those complete processes without creating excessive dependency or forcing me to guide every step.</p>

<p>This is key: <strong>AI does not replace you as an analyst</strong>, but it also doesn’t turn you into someone who just “feeds prompts.” The focus returns to validation and technical decision-making and, most importantly, to the final result.</p>

<h2 id="strength-2--commit-review-ci-from-the-very-first-moment">Strength #2 — Commit review: CI from the very first moment</h2>

<p>Another point of enormous value is BOB’s ability to <strong>review the commits</strong> you make in the project. Every time you commit changes, BOB can:</p>

<ul>
  <li>analyze what was modified,</li>
  <li>assess the impact of the change,</li>
  <li>detect potential errors,</li>
  <li>and alert you to integration problems.</li>
</ul>

<p>This approach promotes something fundamental in DevOps: <strong>detecting problems as early as possible</strong>.</p>

<p>In day-to-day work, this naturally encourages the use of <strong>micro-commits</strong>:</p>
<ul>
  <li>easier to understand,</li>
  <li>easier to revert,</li>
  <li>and much healthier for a continuous integration flow.</li>
</ul>

<p>Code quality improves not because processes impose it, but because feedback arrives at the right moment.</p>

<figure>
<img src="./Bob_Commit.png" alt="Demonstration of Project BOB performing automatic commit review in Git, analyzing code changes, detecting potential errors, and providing immediate feedback for continuous integration" loading="lazy" />
<figcaption>Fig 3. Project BOB handling commits.</figcaption>
</figure>

<h2 id="strength-3--documentation-and-action-plans-not-just-observations">Strength #3 — Documentation and action plans, not just observations</h2>

<p>BOB doesn’t stop at merely pointing out problems. One of its most useful capabilities is <strong>documentation accompanied by strategic improvement plans</strong>.</p>

<h3 id="real-example-1">Real example</h3>

<p>I had a project without a README and I asked BOB to document it. The result was a complete README that included:</p>
<ul>
  <li>how the project should be managed,</li>
  <li>its structure and layers,</li>
  <li>the overall functionality,</li>
  <li>and recommendations for deployment in production environments.</li>
</ul>

<p>This kind of documentation is not just there to “tick a box”; it <strong>raises the project’s quality standard</strong> and makes maintenance, support, and onboarding easier.</p>

<h2 id="when-i-really-felt-it-works-with-me">When I really felt it “works with me”</h2>

<p>One of the most revealing moments was when, upon opening a project developed in <strong>Java 17</strong>, BOB automatically identified the context and <strong>proposed modernizing it to Java 21</strong>.</p>

<p>Afterward, it:</p>
<ul>
  <li>reviewed the <strong>POM</strong> file,</li>
  <li>analyzed dependency versions,</li>
  <li>and began connecting technical decisions without me having to guide it step by step.</li>
</ul>

<figure>
<img src="./Bob_Modernizacion.png" alt="Example of Project BOB analyzing and modernizing Java code from version 17 to 21, showing dependency analysis in the POM, library updates, and proposals for architectural improvements" loading="lazy" />
<figcaption>Fig 4. Project BOB handling modernization.</figcaption>
</figure>

<p>The same thing happened with commits: BOB gave me observations before the code reached a shared branch. This allowed problems to be caught <strong>at the most basic point of development</strong>, when fixing them is cheaper and less risky.</p>

<p>In a traditional flow, you usually have to explicitly ask: “review,” “validate,” “document.” With BOB, that friction is noticeably reduced thanks to its autonomy. It’s as if it truly “worked with me” and didn’t just respond to my orders.</p>

<h2 id="ai-first-when-ai-stops-being-a-tool">AI-First: when AI stops being a tool</h2>

<p>From my experience, <strong>AI-First does not simply mean integrating AI into the IDE</strong>. Nor is it just about automating tasks. To me, AI-First means that <strong>AI stops being an additional tool and becomes the center of the project</strong>.</p>

<p>When AI occupies that central role, it:</p>
<ul>
  <li>orchestrates complete tasks,</li>
  <li>understands the global context,</li>
  <li>participates in every stage of the DevOps flow,</li>
  <li>and forces us to rethink how we work as developers.</li>
</ul>

<p>I have always held an idea that makes even more sense here:<br />
<strong>we don’t just modernize the code, we also modernize the way we think and work</strong>.</p>

<h2 id="what-changed-in-the-way-i-develop">What changed in the way I develop</h2>

<p>Two aspects changed very clearly, which I can attribute directly to using BOB and to the AI-First approach.</p>

<p>The first was <strong>documentation</strong>. I had never documented my projects with this level of depth and consistency. Having an AI that understands the architecture and the intent of the code raises the standard almost without any extra effort.</p>

<p>The second was the <strong>rhythm of commits and reviews</strong>. By reviewing more and earlier:</p>
<ul>
  <li>code quality improves,</li>
  <li>testing increases,</li>
  <li>the number of bugs is reduced,</li>
  <li>and development becomes more agile, but also more disciplined.</li>
</ul>

<h2 id="from-the-detailed-prompt-to-collaborative-work">From the detailed prompt to collaborative work</h2>

<p>Before, much of the time went into <strong>explaining context</strong> and detailing prompts. With BOB, that model changes.</p>

<p>I no longer need to describe every step exhaustively. BOB knows the project, understands its state, and responds in a much more accurate way. My role now focuses on:</p>
<ul>
  <li>reviewing,</li>
  <li>validating,</li>
  <li>and following up.</li>
</ul>

<p>The time is invested in <strong>thinking</strong>, not in micro-instructing. And that, in my experience, makes a big difference in productivity and quality. The focus remains on decision-making, but with an AI that truly understands the context and acts autonomously to support development.</p>

<p>All of this leads me to reflect on which aspects remain exclusively human, and which can be further enhanced by AI.</p>

<h2 id="what-i-would-never-delegate-even-in-an-ai-first-approach">What I would never delegate, even in an AI-First approach</h2>

<p>Although the AI-First approach is powerful, there are responsibilities that remain human. In my case, <strong>architecture and deep technical analysis</strong> are not delegated.</p>

<p>Business domain knowledge, long-term maintainability, and functional validation require specialized judgment. AI accelerates, accompanies, and suggests, but <strong>the final responsibility remains human</strong>.</p>

<p>While BOB can propose architectural or technical improvements, the decision to adopt those recommendations always rests with the developer or architect responsible for the project, ensuring that the solutions are solid and aligned with business objectives.</p>

<h2 id="opportunities-for-improvement-taking-ai-first-to-the-next-level">Opportunities for improvement: taking AI-First to the next level</h2>

<p>Despite the obvious strengths, there are areas where BOB and the AI-First approach can evolve even further, especially for complex enterprise environments and large teams. From my experience, I identify three key opportunities:</p>

<h3 id="integration-with-agile-boards">Integration with agile boards</h3>

<p>A clear improvement would be <strong>direct integration with agile management tools</strong> such as:</p>
<ul>
  <li>GitHub Projects,</li>
  <li>Azure Boards,</li>
  <li>Jira.</li>
</ul>

<p>Today, BOB can document stories and tasks, but creating them is still manual. Integrating it with the boards would close the cycle between <strong>analysis, documentation, and execution</strong>. Automating the creation and updating of tasks based on the analysis of code and commits would allow a smoother flow aligned with agile practices, reducing administrative load and improving the traceability of activities.</p>

<h3 id="multi-repo-and-microservices-scenarios">Multi-repo and microservices scenarios</h3>

<p>In modern architectures with <strong>multiple repositories</strong>, especially in Java microservices, a key question arises:<br />
how do you help when the context is distributed?</p>

<p>Exploring how BOB can understand relationships between repositories and cross-cutting impacts would be an important step for real enterprise environments. This would allow BOB to offer more holistic recommendations, considering dependencies between services and making coordination easier in teams working on multiple fronts simultaneously. It remains a challenge to ensure that the AI maintains a coherent view of the complete system when the code is fragmented across several repositories.</p>

<h3 id="integrations-governance-and-autonomy">Integrations, governance, and autonomy</h3>

<p>The areas with the most room to evolve are:</p>
<ul>
  <li>integrations,</li>
  <li>governance,</li>
  <li>and autonomy in large teams.</li>
</ul>

<p>I am currently analyzing practices for <strong>responsible adoption</strong>, such as mandatory code reviews and clear controls over the use of AI. These improvements would make AI-First truly materialize across all processes. For example, establishing policies that define when and how BOB can be used in different stages of development, as well as audit mechanisms to ensure the quality and security of code generated or modified by the AI. In addition, fostering team autonomy to adapt the use of BOB to their specific needs, without losing control over the project’s critical decisions. This is especially relevant in large organizations where coordination and governance are essential to success.</p>

<h2 id="conclusion">Conclusion</h2>

<p>Project BOB shows that <strong>AI-First does not replace the developer or the architect</strong>, but it does redefine their role.</p>

<p>When AI understands the context, orchestrates complete tasks, and accompanies the DevOps flow, development becomes <strong>more agile, more disciplined, and of higher quality</strong>.</p>

<p>The challenge is not only technical but cultural: learning to work with an AI that is no longer just another assistant, but a <strong>central copilot of the process</strong>, without losing the human judgment that guarantees solid and maintainable solutions.</p>

<p>That is where, from my experience, <strong>AI-First truly makes sense</strong>, and where I see the future of software development in the coming years. As these tools evolve, the collaboration between humans and AI will be the key to reaching new levels of productivity and quality in software development. It is up to us to take advantage of this potential without losing sight of what makes us unique as software professionals. Because at the end of the day, technology is only a means to enhance our creativity and our ability to solve complex problems. And in that sense, Project BOB is a significant step toward that collaborative future.</p>

<p>In the end, as I always say:</p>
<blockquote>
  <p>“It’s not just about modernizing the code, but about modernizing the way we think and work.”</p>
</blockquote>]]></content><author><name>Jorge De Trinidad Zepeda</name><email>jorgedetrinidad@outlook.com</email></author><category term="Project BOB" /><category term="AI-First" /><category term="Inteligencia Artificial" /><category term="Desarrollo de Software" /><category term="Arquitectura de Software" /><summary type="html"><![CDATA[Beyond the assistant - My experience with Project BOB and the AI-First approach]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jdetrizep.github.io/Project_Bob_AIFirst/Portada_Project_Bob1.png" /><media:content medium="image" url="https://jdetrizep.github.io/Project_Bob_AIFirst/Portada_Project_Bob1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>