Which software development model focuses on refining a software system's current version in each subsequent development cycle?

a) iterative model

b) waterfall model

c) extreme programming model

d) incremental model