Seoul by Ivar Jacobson

October 27, 2003 

This is the third time that I have been in Seoul this year. I must like Seoul and Koreans very much because going from San Francisco to Seoul is a twelve-hour flight! It is actually longer between San Francisco and Seoul than from Stockholm to Seoul. Most Europeans would not have guessed that.

One objective for this trip was to meet Samsung Electronics - a company that have impressed me very much. They are world-leaders in so many areas and technologies. Their people are world-class and they work very hard. I think they shape the future.  

IBM Rational in Korea had arranged for me to talk at the Korea University. Rational and the university celebrated an agreement on using Rational Rose. It is so refreshing to talk to students. They are so immediate and spontaneous. Lots of laughs, autographs and photos.

There is one thing I would like to ask you. What do you think is the most important property one needs to be successful in software development? The answer is being SMART. I think we should teach students what it means to be smart, so we always recognize non-smart behaviour.

Being smart means that you do what you need to do, no more and no less. For instance, when applying RUP, do it right, do it as agile as possible. I have never believed in just buying RUP and have your people apply it. They will do too much or they will just give up. When I meet customers and get project reviews, I often see that people are not allowing themselves to be smart. Often they work too hard and do too much, or they do too little and have given up. You need to apply as little process as possible, but NOT less. The trick is to know what is less. For that you need experience.

Smart is not the same as intelligent. I know many people who are very intelligent but not smart. Smart requires that you have knowledge, not just experience. Smart is not just about how to apply techniques, it is also about how to deal with customers, managers, and the unexpected.

As an example, I see agile as a property you get from a process like RUP by being smart. Personally I think RUP applied in a smart way is the most agile we can be.

I would like to see more on this subject. If anyone has seen a book or a paper that develops the meaning of smart, I would love to read it.