The enterprise fizzbuzz does exactly what is asked of in the spec, allow room for expansion, split all responsibilities into modules which could be concurrently worked on by many different people/teams, and the testing ensures that miscommunication doesn't ruin a code base. In my books, that's clean.