"forward-engineering" vs. "reverse-engineering"

causal explanation
 
How?