We consider a complex system consisting of N identical components that are expected to function properly during a given prior (mission time). Due to the possibility of failure before completion of the mission time, one allows for maintenance as well as burn-in, the latter in order to cope with the problem of ‘infant mortality’. We present a two-level (Bayesian) Dynamic Programming approach to determine the optimal timing of the maintenance interventions and durations of burn-in, including maintenance-induced burn-in. We also discuss ways to reduce the ‘curse of dimensionality’.