A software product becomes less valuable for its consumers over time due to technological and economic obsolescence. As a result, firms have an opportunity to introduce and sell upgrades that provide higher utility to consumers compared to an older and out-of-date software product. In a market that is growing and consists of homogeneous customers, we prove that the optimal upgrade intervals are monotonically increasing throughout the product's life cycle solely because of demand and cost considerations. This finding is in conformity with empirical evidence, thus validating our theoretical model. We then present comparative statics results to show that increase in the rate of obsolescence or network externalities may sometimes increase upgrade intervals for early upgrades and decrease these for later upgrades in the product's life cycle, but increase in market growth rate always decreases these intervals. Further, when successive software upgrades are forward compatible, upgrade intervals are longer than when they are not. Finally, we present three separate extensions of our model to showcase the robustness of our results. Since upgrade development costs depend on upgrade intervals, these insights help managers understand how costing for upgrades changes over the product's life cycle.