You would need to take the knowledge test and the drive test. You can take the knowledge test anytime, but you would need to be 18 to take the drive test. If you are under 18 when you take the knowledge test, you would need to have a parent or guardian come with you to sign the parental consent form. You will also need to bring a certified birth certificate and social security card. If you are over the age of 18 when you come in, you will also need to bring in two pieces of mail with your name and address on it. You can make a checklist of everything you need to bring at https://iowadot.gov/mvd/realid/success.aspx.
You would need to take the written test, and then the driver's test. You don't have to wait till you're 18. You can get a learner's permit from age 15 on up.
Thanks! Your answer is awaiting moderation.