Engineering Process

Keith VanderLinden
Calvin University

Systems Engineering

Systems engineering conceives of, designs, builds, and deploys the entire ML/Data system to satisfy the specified business requirements.

The result must be reliable, scalable, maintainable, and adaptable.

cf. DMLS Figure 1-1

Software vs ML/Data Engineering

Software Engineering

  • Data/code are separate.
  • Only code is versioned.
  • Code-bases are small.
  • Code can be unit-tested.
  • Code updates are infrequent.

ML/Data Engineering

  • Data/code are coupled.
  • Data/models are versioned.
  • Datasets can be huge.
  • ML is hard to test.
  • ML system updates are frequent.

Systems Engineering Process

Software Engineering

  1. Analysis
  2. Design
  3. Implementation
  4. Testing
  5. Deployment &
    Maintenance

ML/Data Engineering

  1. Project Scoping
  2. Data & Model Engineering

     

     

  3. System Deployment
  4. System Monitoring
  5. Business Analysis

ML Product Design