When I find myself designing an application that is complex, either in terms of its length or its logical dependencies, my natural instinct is to take a wizard approach. Wizards are cool; forms are dull. Product managers love wizards because they are so Web 2.0. Developers like wizards because they involve more programming expertise than just cranking out forms. But even when dealing with complexity, wizards are not the slam-dunk answer for creating an optimal user-interface design solution. Breaking up a task into smaller steps does not always provide a better user experience.