One of the most important features of any IT system is the database. It is very important to get the structure of the underlying data correct before you start the processing - a carefully designed database can remove the need for complicated validation, for example.