Requirements engineering brengt functionele en kwaliteitsvereisten boven water, analyseert, specificeert, valideert en beheert ze. AI-functionaliteit vereist daarnaast gedragsvoorbeelden, beleid voor onzekerheid en escalatieregels.
Softwareontwerp verdeelt verantwoordelijkheden over componenten, definieert interfaces en maakt afwegingen expliciet. Goed ontwerp begrenst de reikwijdte van AI-onzekerheid en houdt deterministische regels deterministisch.
Computational thinking en programmeerfundamenten geven engineers de woordenschat voor decompositie, abstractie, algoritmen, toestand, complexiteit en falen.