• I agree with Steve although I would the subject into different words.

    Scientists build maintainable code and do not incorporate the latest technology without considering the ramifications. I know an architect who incorporated Linq to SQL in an enterprise application while Linq was in Beta. When Linq went RTM it had a different set of behaviors than in Beta and the enterprise application blew up.

    Scientists also build secure applications. If security considerations are not foremost in your design of application software regardless of the stated specifications you are asking for trouble.

    My next statement is probably going to get me into trouble. Agile programming is a function of artistry. There is no fixed deadline, no defined specifications, no defined architecture and little consideration for documentation.

    In my mind the only place for artistry is in the prototyping of a solution that will ultimately be documented and thoroughly tested.