The failure process is stochastic in nature, a deterministic model would not always be accurate in describing the process. In this paper we present a novel condition-based maintenance decision framework to optimize the planning schedule. Components in the system of concern is categorized into condition stages, a probability transition matrix is defined as the probability for a unit to transit from one condition to the next. The condition vector can be iteratively calculated using simple matrix operation. The maintenance decision can be optimized with constraint on the reliability or constraint on the maintenance budget. The optimization is done using genetic algorithm. A demonstration example is given in the analysis of a system under fatigue degradation. The example showed the flexibility of the proposed framework in optimizing the maintenance plan as well as considering the failure consequence cost. A dynamic maintenance framework is presented that uses the on-field observation to update the degradation matrix. The update would decrease the uncertainty and affect the maintenance planning, so that the budget could be spent on the most needed parts.