I came in late on this talk - I had to drive to Maindenhead for the afternoon, and just got in after about 20 minutes of the even was done. So here I am - and he's talking about AOP (Aspect Oriented Programming). He sees it as the next step up from OOP - not as big a step - OO from C (etc) was a much bigger step. He sees AOP as a great way to separate concerns, and sees a direct correlation with Use Cases.
Question - While RUP is not the same as Objectory (a side question), what got lost/changed? Objectory 3.8 became the Rational process 4.0 (and then evolved forward from there). Anything lost? A few technology things that he had to accept, never happy with the complexity of architecture in RUP. Analysis was diluted in RUP - partly because it's hard to support via tools (ed - nothing to sell :) ) - so they ended up shortcutting there. Scrapped analysis because it did not fit in Rose (modeling had been supported in Objectory). There are actually still Objectory users (people do like Smalltalk tools :) ).
Objectory looked at the system as a set of models. A lot of things changed in the Rational tools (into view concepts). We identify models, so renaming the concepts was a little overkill. Does not like the term "Executable Architecture". The architecture should remain stable, while models and code will evolve.
Question - What about MDA? Are models (possibly in UML) just high level programs? Even those who are opposed to MDA are actually modeling - it's what we do. MDA means that we create a platform independent model (an architecture). While there are people trying to work on model to code compilers, thus far we only have one way systems, very limited, no real environments. Likes the idea, but thinks we aren't there. Those waiting for MDA are speculating with their company's money.
Side note - modeling survived from Objectory into RUP. Objectory did not handle project management - cared about modeling. In 1989, Objectory sold for $22k per seat. Sold 300 licenses.
Question - Most people associate Ivar with Use Cases. What is he most proud of? Never thought that Use Cases would be so well known and important. Very satisfied with that. Introduced component based development to Ericsson in 1968 - Sequence Diagrams, beginnings of message passing between components - a lot of things that became the foundation of later work.
Question - Which innovation earned the most money? The mistranslation of the original Swedish would have come out "Usage Case" - having it come out as "Use Case" worked.
- Professionalism in Software Engineering - with XP and Agile, more emphasis on craft/art - we don't seem to aspire to engineering. Is that forwards or back? The split view of software as a profession or craft has always been there. Progress is up and down - one of his favorite languages - Smalltalk - is coming back. Has worked to understand how to develop software and identify models and processes to simplify it. Ivar believes that it is an engineering effort whereby we can learn to be better. Refuses to believe that it is a craft at which only a few can be good.
Question - "XP Doesn't help you grow an organization" (quote from Ivar). Lots of good in XP - agility and speed. Has always viewed his work as improving agility and speed. The idea has always been to understand and model the steps involved. XP is substantial in terms of what we can gain from it. XP is something Ivar would use for every new project he would start up. XP has put together a lot of pre-existing good ideas. As soon as something succeeds, we need to grow the organization. The original team will leave - can a lightweight process support the ongoing development and maintenance? His new company, founded with his daughter and developing intelligent agents - uses a lightweight RUP. User Stories (Use Cases). Used Analysis, some model driven design, did most of the work in code. As the project grew, they needed more processes.
Does not disagree with XP - the knowledge is in the heads of people, and if they leave, away it goes. A process like RUP leaves that knowledge behind to be picked up. So XP is a way to begin, but not necessarily how to proceed at all times, especially after growth. RUP does not need to be heavyweight
Question - Any (technical) regrest? Got this question at an OOPSLA conference. Good friend of Dave Thomas. In 1988 he was visiting Ivar in Sweden. Looked at Objectory. He suggested two things:
- Write up how Use Cases work in 125 pages or less
- Let me design a tool for you that supports it, for $100k
Thought that writing such a slim book and such a slim tool was not useful. Thinks now that it would have been fun and useful
Question - What are you doing next? Look at automation (all of software is about automation). Look back 100 years - Ericsson did first switch in 1923 with relays. When he joined, each new feature became much more expensive - software got around that. Now, we are back to the point where adding new features are getting to be more and more expensive. How much of the software we get (in phones,etc) do we really use? 10 percent? 20 percent? We need active software that figures out what you want to do and teach you (instead of passive tech, like what we have now). His company (see above) is in that space. Thinks this will take awhile, and keep us all busy :)