Let me take some time to quote and comment a friend of mine:
Forget about the “creation” part of the job. As you are developing your first application, you are not creating something. You are building something. Mind you, it’s not like building a bridge as in engineering or a plane.
from Software development is not an art. It’s a craft. by Maxime Rouiller
Developer are not just craftsman they are also artist. It’s even more true for architect. Architecture is not just about building something by assembling parts and make sure its functional. Most building architect will spent almost as much time on the look of building as on its internal structure. If that wasn’t true, our cities would have been only an ugly pile of grey steel and concrete. But when we look around we can clearly see things that are as beautiful as they are useless like sculpted arches, round towers or multicolour spotlights.
This is also true in sofware design. You just have to compare Vista to the first version of Windows (Windows 3.1 in my case) to see how much more beautiful it is today than back then. Does that make it more useful? Does that make it stronger? Does all that is really necessary? No, no and no. In fact, some will tell that this is so useless that Microsoft shouldn’t have spent a dime on all those things. But now the trend is to talk about “user experience” and how it is important to feel great when you use a product as they said at MIX09 opening keynote. In some very successful product advertisement you don’t even see the product itself but people happy just because they own that product.
Building an application, even today, is not just putting parts together to make it work. Software development is not mature enough to be considered an exact science. You just have to think about how difficult it is to commit youself when you have to give an estimate on how long it would take you to build something. Why? Baecause every case is unique. In my life (tank god) I rarely had to build exactly the same thing twice. That would be boring for me. Every time I start something new I have to think about what would be the best solutiion to the problem in hand. Even with the same problem, solution may change based on the customer priority and constraints.
I think that develeoper and architect alike are not only craftsman, they are also artist. Let them express themselves, you will be surprised. Where are now on the eve of new era of tools that will open new possibilities of expression, tools like the Expression Suite. The reign of ugly and boring application is over. Over the next year we will witness all kind of new designs and user experiences.
Time will tell us which will survive and which will not.