JAX 2009: Agil & Modell-basiert!? (“Agile Modeling!?”)

(Disclaimer: this text was written while listening to the presentation – please be forgiving with errors that might result from both listening and writing)

My second presentation on the JAX 2009: Jochen Seemann, CEO of MID, a former employee of Rational and Microsoft (where he worked on the DSL tools), talks about combining agility and model based approaches. I know that MID Innovator is a powerful tool for IT process modeling with UML but have never used it personally. Since my Ph.D. thesis is also concerned with model-based agile approaches I was very curious about hearing what MID is offering and believes to be the future of model-based and agile approaches.

Jochen quickly made it clear that he is talking about MDA (and consequently UML) as the base for model based approaches. He also pointed out that Microsoft, his last employer, inherently uses agile (iterative and incremental) development techniques internally although they never would call it by that name.

Initially he pointed out that the community quickly learned that we require models on very different abstraction levels in order to model software and commented that UML tools currently do not cost more than ordering a book (from Australia). Nonetheless all tools today still feel like Visio, where you draw diagrams and can’t do much more. He included the MID tools in this subset of tools which I personally found sympathetic. But he stressed that he is no fan of the typical hideous UML diagram.

While he believes that tool support has become a lotter better in the last 10 years, he still sees too much focus on model transformations, model structures and the heavy weight feel often coming with such tools.

He then presented an example scheme also used for MID consultants when building EJB3 applications – which to me definitely proved the “heavyweight and overcomplicated” aspects often connected with MDA and UML. He noted that today the focus seems to move from transformations and code generation to requirements engineering and precise communication with business stakeholders… a point I whole-heartily agree with. He mentioned the idea of Software Factories initially described by Microsoft – a concept I also believe to be very interesting and worthwhile to make real progress in software development. And I do not agree that often with Microsoft 😉 Read the book – it’s really interesting.

He then provided a more precise focus of MID – supporting huge development teams citing examples of communication and health care companies with 100 and more modellers alone. I have no experience at all with such large teams – I’m more comfortable with SMEs and teams of at most 20 or so people involved in one project. Thus I decided to listen attentively from this point onward.

Next he explained the general structure of the Scrum method – important for a complete presentation, boring for me. Good to have network access. He proceeded to the topic of Application Lifecycle Management (ALM) the underlying idea being to integrate everything you need for an agile approach in one software tool suite. My first thought was that these tool suites naturally also address non-agile project methods, probably even better due to their rather prescriptive nature. We at QuinScape handle ALM with a set of open source tools and currently do not use an integrated ALM tool suite so I cannot really comment on how well an ALM platform fits together with agile processes.

A major concept of ALM seems to be to trace the status of work items checked into the integrated version management system. Both code and work items are managed in one system which in theory allows a complete coverage of which requirements are affected by which code, etc. I always wonder how often I really need to know that. I like the Mylyn approach – but I also like the effect that it is very tightly integrated with my preferred IDE and allows for a rather simple handling. Additionally ALM does not seem to support model based approaches very well.

Consequently ALM 2.0 adds repository support for models and connects them to work items. According to Seemann it’s not simply possible to regard models as code artifacts because in large teams you need a closer integration of models, requirements and work items in order to allow for better concurrent work. But the necessity to closely integrate all aspects of ALM (e.g. version management, issue management, version management) is according to Seemann one of the most pressing needs in order to manage large and huge project teams.

While Seemann (as I expected) praised the MID products at times I did not find this overwhelming. He tried to appear as honest and neutral by also talking about the weakness of MID products which is okay for me. For me the presentation did not really shed light on the question how 100+ persons can model in an agile manner – just tracing requirements, models and changes is not the answer to that as anyone knows who follows
Scott Amblers argumentation.

All in all I’m personally very happy to work on projects of a more manageable size since this allows us to try a lot less documentation intensive approaches and the management aspects are just that – aspects of a project but not the main driver for methods and strategies. Nonetheless I pull my hat for the colleagues working in such projects – impressive.

Comments are closed.