The truth I've discovered is that DESIGN is the most
important aspect of the development process... if you get the design right, the rest of
the project flows downhill like water... to the extent that you have the design wrong, you
spend the rest of the project fighting the design to make the project work.
The primary job of a developer is to discover the
business problem , imagine a solution , and then work towards excitement and
implementation of the new business paradigm.
Most of the hard and imaginative and IMPORTANT work is
done before and in parallel with the coding process, and it consists of talking to
people, showing them options (and primarily screen shots and workflows) and working
with them make their jobs as easy , and their customers as happy as possible within
committed resources.
(In more concrete terms though, I work to keep things
simple, and yet provide a data rich and intuative interface to a flexible and appropriate
data model )