Examples of units with two performance characteristics that degrade over time are ubiquitous in reliability engineering. In this article, we develop a flexible model for bivariate degradation data pertaining to units in which the degradation processes corresponding to the performance characteristics are likely dependent on each other. The proposed model has two features: the degradation processes are marginally modelled by gamma processes, and the dependence between them is modelled by a shared frailty term that is assumed to follow the generalized gamma distribution. We show that this model is far more flexible and efficient than many of the commonly used models for capturing dependence between the performance characteristics. A computational technique for the maximum likelihood estimation, based on Monte Carlo simulation, is developed for the proposed model. Then, the method of estimation is evaluated through an elaborate Monte Carlo simulation study. The joint reliability function of the unit with two performance characteristics and its estimation are also discussed in this general setting. The proposed model is extended to the case of multiple performance characteristics. Finally, a case study is presented in which a real degradation data pertaining to fatigue cracks is analysed through the proposed model to demonstrate its usefulness.