Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Embedding software engineering best practices i...

Avatar for Marketing OGZ Marketing OGZ PRO
September 18, 2026
0

Embedding software engineering best practices into AI projects

Avatar for Marketing OGZ

Marketing OGZ PRO

September 18, 2026

More Decks by Marketing OGZ

Transcript

  1. Embedding software engineering best practices into AI projects Merel Theisen

    Data Expo – 10th of September CONFIDENTIAL AND PROPRIETARY Any use of this material without specific permission of McKinsey & Company is strictly prohibited
  2. Agenda 1. About me 2. Challenges of building AI systems

    3. Software engineering best practices 1. Modularity 2. Separation of concerns 3. Observability 4. In practice: Healthcare GraphRAG 5. Q&A 2
  3. About me • • • • • Pronouns: she/her ⭐

    Iʼm from the Netherlands 󰐗 Studied CS at UCL 󰏅 Iʼve been working as a Software Engineer for 10 years 󰟧 Currently Principal Software Engineer at QuantumBlack ✨ Iʼve been the tech lead for Kedro for over 4 years 🚀 • Open source Python framework • Part of Linux Foundation AI & Data • Brings structure, standardisation and trust to data and AI pipelines for scalable and reliable impact Contact [email protected] 3
  4. Under-engineering refers to building AI pipelines without sufficient structure, where

    prompts, agents, and configuration are loosely connected and hard to reason about. This leads to solutions that are less robust, less efficient, and harder to scale. It typically arises from tight deadlines, rapid experimentation, or limited engineering knowledge. Teams usually under-engineer data and AI pipelines, from traditional ML to agentic workflows, creating code with hidden complexity and accumulating technical debt Technical debt is intentional or accidental decisions that make code difficult to understand, maintain, extend and fix. Much like a loan, you pay a higher cost later, because it decreases the team's agility as the project matures. 5
  5. Why does this happen? AI is moving faster than our

    ability to engineer it Many data and AI pipelines are deployed to production before they are ready to scale AI adoption is accelerating, but impact at scale remains constrained As a result, impact remains fragmented and difficult to sustain Fragmented workflows: Solutions are built as isolated pilots, tightly coupled to tools, teams, and specific use cases, with limited standardisation across projects Lack of reproducibility: Logic, data, prompts, and configuration are scattered, making results difficult to recreate Limited visibility & explainability: Workflows act as black boxes, especially in agentic systems where behaviour is non-deterministic and hard to trace Weak engineering foundations: Pipelines evolve from notebooks and prototypes, creating hidden complexity and significant rework for production 6
  6. From chaos to clarity: Structuring AI projects for scalability and

    impact FROM… …TO Disconnected experiments and inconsistent workflows Structured, reproducible AI pipelines that deliver value 7
  7. “Itʼs an approach or process thatʼs understood to help build

    software thatʼs superior in terms of speed of execution, shipping with higher quality, or building more maintainable code.ˮ GERGELY OROSZ, AUTHOR OF THE PRAGMATIC ENGINEER 9
  8. 10

  9. Modularity • Breaking down a complex software system into smaller,

    independent modules. • Each module is responsible for a specific function or feature and operates independently. • Modules should be loosely coupled, meaning that they should not depend on each other too much. • Enhanced readability and understandability of the system • Allows for reusability • Easier collaboration • Makes it easier to test smaller chunks, which can be faster and help find bugs 12
  10. 13

  11. Separation of concerns • Different parts of software system should

    be designed to address different concerns ‒ E.g. separate user interaction layer, data access layer and business logic layer • Separation of concerns helps to improve the readability, understandability, and maintainability of software systems. • It also makes it easier to change and evolve the system over time. 15
  12. Configuration What is configuration? Parameters Hyperparameters Experiment Parameters for machine

    learning models/LLMs, such as learning rate, train/test split, and model version. Hyperparameters for deep learning models, such as number of layers and number of neurons. Experiment configuration, such as the number of trials, the random seed, and the logging level. • “Settingsˮ for your AI system • A way to define requirements for data, LLM models and parameters in different environments • Helps keep credentials out of your code base • Keep all parameters and prompts in one place What does configuration help you do? Location of Data Credentials Prompts/evals Paths to files and directories, so the code knows where to find and save the data it needs. Also specify required columns or filters. Connection information for databases and other data sources, such as server address and credentials. System and agent prompts that can be versioned, evals, LLM as judge configuration. • Machine learning/AI code that transitions from prototype to production with little effort • Makes it possible to write generalisable and reusable systems that do not require significant modification to be used EXPERIMENT OR MODEL DATA ACCESS 16
  13. 17

  14. Observability • A measure of how well you can understand,

    diagnose, and troubleshoot a system purely from its external outputs, without changing code. • Logging: structured, timestamped records of discrete events, used for debugging and audit trails • Metrics: quantitative measurements (latency, error rate, throughput) tracked over time to monitor system health • Tracing: following a single request's path across distributed services to pinpoint bottlenecks and failures 19
  15. 20

  16. Healthcare GraphRAG • Takes 55,500 synthetic patient records, builds a

    knowledge graph, indexes it into a vector database, and exposes an agentic Q&A interface. • Five modular pipelines: 1. Data ingestion 2. Graph construction 3. Graph update 4. Vector indexing 5. Query answering 22
  17. 23

  18. 24

  19. 25

  20. Summary • AI systems need structure: without intentional design, pipelines

    stay fragmented, hard to reproduce, and difficult to scale beyond a pilot • Modularity and separation of concerns keep prompts, agents, data and logic loosely coupled, so systems are easier to understand, test and evolve • Observability through logging, metrics and tracing makes non-deterministic, agentic behaviour explainable and trustworthy • Together, these software engineering practices turn disconnected experiments into structured, reproducible AI pipelines that deliver lasting impact 26