When you first learn how to play pool, you hit the ball with the stick and hope something falls in. After a while, you learn that really playing requires you to call your shot, and then make it.
Agile methods build in this same “call-your-shot” dynamic. Each iteration, we make a prediction about what features will be present, and put them in. Every day, if we do Scrum-style standups, we’ll say what we as an individual commit to do, and what commitments we kept from the day before.
Just as in pool, we can’t hit every shot. Once in a while we’ll mess up. But overall, we’re transparent about how we want to make and keep commitments that others can rely on.