You are maintaining existing production code - Your team is procedural-only - Your compiler has limited OO support - The domain is primarily batch data transformation - Short-term delivery is the priority