The scheduling problem of an Agile Earth Observation Satellite is to schedule a subset of observation tasks among a set of candidates during their visible time windows in order to gain a maximum collected profit. Each pair of two consecutive tasks should satisfy the "time-dependent" transition time constraint, which contributes to the difficulty of solving the problem. To tackle this problem, a concept of "minimal transition time" which only depends on the observation start time of the previous task, is introduced. On this basis, we develop a fast and effective Iterated Local Search algorithm. A local search insert procedure is specifically designed to deal with time-dependent transition times and time windows. The experimental results on a variety of instances show that our algorithm performs very well in terms of solution quality and computation time and outperforms the state of the art.