Knowledge Nugget

Examples of architectural decision criteria to decide between MLE and SWE development approach
person Author: Process Fellows
  • Rule-based vs. data-driven decisions: Classic software development is ideal if you can formulate clear, explicit rules (e.g. “If A, then B”). ML is suitable when rules are difficult to define but patterns in the data can be recognized.
  • Availability and quality of the data: ML requires large, high-quality data sets. If you don't have enough data or the data is very noisy, ML will probably not work well. Classical development does not require large data sets, but rather precise logic.
  • Expected generalization ability: ML is strong if you want a system to learn from examples and make predictions for new, unknown data (e.g. image recognition, speech input). Classical development is better if you can specify a deterministic output for every possible input.
  • Maintenance effort and explainability: Classical software is usually easier to debug and explain because the logic is explicitly specified. ML models are often black boxes - it can be difficult to understand why a particular decision was made.
  • Frequency of rule changes: If rules change frequently, ML can be more flexible as it can adapt through training. If the rules remain stable, classical development is more efficient.
  • Real-time requirements: Classical software is often faster and more predictable as no complex calculations are required. ML can be computationally intensive, especially when real-time inference is required.
  • Cost and implementation effort: Classical development can be cheaper and faster if a deterministic solution exists. ML often requires expensive resources (computing power, model training, data preparation).
Mapped with these items:
  • Automotive SPICE 4.0
    • SWE.2 Software Architectural Design
    • MLE.2 Machine Learning Architecture