Wednesday, October 24, 2007

[Pub] ICEBE Conference: Agile Business Process Management with S&R

Currently the International Conference on E-Business Engineering (ICEBE) is taking place in Hong Kong. I am presenting a paper dealing with agile business process management, a joint work with Josef Schiefer.

The core consideration is, that business strategies that were successful in the 80s and 90s are not necessarily successful in todays fast changing and connected economy. We seem to be moving from traditional over dynamic/virtual enterprises to a general structure of agile enterprises. Haeckl an all suggest a move from "Make-and-sell" towards a "Sense-and-Respond" strategy.

Speaking of agility: what does agility mean: it is generally spoken the capacity of a system to react to unforseen changes in the systems environemnt. We all know, that the software industry faced and still faces issues, as meanwhile requirements often change even during the engineering process, so that it is often not clearly known in the beginning which product is needed in the end. The consequence is clear: software developers have to "embrace change", meaning that they have to develop their software in a way, that change requests during the process can be handled.

Business process management will, this is our theory, follow the same route in the next years. Top-down plannes processes will not support changes in the business infrastructure and will be a legacy. Future business IT will have to cope with ever changing processes. Adaptiveness will take precedence over short-time efficiency considerations and plan-driven operations. In other words, the faster competitor will win, not the one who is (in thery) more efficient.

This apparently also poses significant challenges on software engineers who have to deal with such infrastructures in the future.

In our paper we go into more depth and introduce the architecture and implementation of sense-and-respond systems that allow agile reaction on real-world events. To sum it up:
  • We need real-time business information with minimal latency
  • Automatic discovery of situations and exceptions and generation of appropriate reactions
  • Generating more accurate forecasts in near-realtime using "live" and historic data
  • Integration of internal and external data sources
  • Not only "backend infrastructure": Focus on tool support for various target groups and problem domains
For more information, check out our paper and also download the presentation to get the figures.

Tuesday, October 23, 2007

[Pub] Enterprise Integration Patterns with Apache Camel

In the recent Infoweek magazine I wrote about Enterprise Integration Patterns following the excellent book from Gregor Hohpe and the Apache Camel project that intends to support the implementation of these patterns. Hohpe describes in his book a set of patterns that often occur in enterprise integration projects such as message construction patterns, routing, transformation (format conversion...), filtering, splitting and aggregation of messages and so on.

Apache Camel is now a project, that implements a domain specific language (and alternatively an XML based one) that should simplify the implementation of typical patterns. Several examples can be found on the Camel website, e.g. for content-based routing or content enricher.

Btw.: I just figured, that James Strachan added some screencasts to demonstrate Apache Camel!

Particularly interesting about Camel is the fact, that it can be deployed as component following the Java Business Integration (JBI) standard. JBI is a standard following the Java specification request mechanism and describes how ESB components and the required ESB bus infrastructure cooperate.

As a JBI component it can be used e.g., in the enterprise service bus Apache Service Mix and provide important ESB features like advanced routing or filtering.

Friday, October 19, 2007

[Tech] Introduction to Spring 2.5

Spring has become the de facto standard for enterprise Java development and is also a focal point in our best practice examples. Rod Johnson, the founder of the Spring framework writes a nice introduction article to Spring 2.5. The new version of Spring has many interesting enhancements compared to version 1. In this article Rod Johnson explains the major new features of Spring 2, including:
  • Custom XML configuration and how to deal with them
  • There can now be used Spring Annoations to configure applications
  • Some enhancements about JDBC abstraction
  • Simpler usage of transaction management, by using the new XML configuration
  • Better integration with AspectJ to do AOP
About the above mentioned points, the article also gives a birdview of Spring and what Spring is.

Monday, October 15, 2007

[Event] OLPC Presentation, Podcast

Last week Aaron Kaplan and Christoph Derndorfer from OLPC Austria presented the OLPC (one laptop per child project) at Vienna University of Technology. The presentation was vivid, also because several laptops were presented and the interaction was demonstrated (including a drop from approx one meter height).

Presented topics included the idea of the project but also several details to technical implementations and Software Engineering aspects. To provide this information to a larger number of people I recorded a (German) podcast with Aaron and Christoph today. It is an enhanced podcast, so please do not miss the pictures, screenshots and links.

For the English speaking audience I recommend the "main" information source of the OLPC projects:

Friday, October 05, 2007

[Event] "One Laptop per Child" Presentation: a SE challenge

On monday Oct. 8, OLPC Austria presents the one laptop per child project (initiated by MIT media lab). The laptop is a fascinating piece of technology (not "just" a cheap laptop as some might assume) and the projects is proceeding, but there is still a lack on special software developed for that device.

This goal of this presentation is on the one hand to introduce the project, show some actual scenarios and the hardware, but also to get involvement (e.g. from our faculty) in developing software for that device.

The presentation will be held in German and takes place on:

Oct. 8 2007, 16:00- 18:00
Vienna University of Technology
Lecture room: HS 13 "Ernst Melan"

presenter is Aaron Kaplan from OLPC Austria, I will introduce the event.

[Event] Software and Systems Essentials Conference 2007

From June 4-6 the 1st Software and Systems Essentials Conference 2007 took place in Munich, Germany. An important goal of the conference is bringing together people from business, industry, and academia who are working in software engineering and information technology with its various aspects. Discussions and exchange of experiences between users in public and industrial contexts and vendors of software solutions (regarding software development frameworks) were in the main focus of the event.

Main topics of the conference were software processes and the exchange of experience on the individual application in various contexts (e.g., in the public application domain), project management regarding systematic systems development processes, and software quality.

We gave a presentation in the track "Company-wide Software Processes" titled with "Methoden-Tailoring zur Produkt- und Prozessverbesserung: eine Erweiterung des V-Modell XT" (D. Winkler, S. Biffl):
Software processes support the construction of high-quality software products. Software processes defines the sequence of steps along the project course. In common industry a wide range of different software processes exist, which focus on individual project requirement (e.g., application domain, project type, size). Nevertheless, these common software processes must be adjusted to be applicable to individual project needs (customization & tailoring). Processes define the sequence of steps what have to be done when. A missing link is the support of suitable methods which support engineers in constructing the product (how the product should be developed).
The talk introduces a concept for a method tailoring approach which enables tailoring of a common software process (based on the V-Modell XT) and the selection of an appropriate method set for project application.
The slides of our presentation are available for download (the slides and the other material from this conference are in German).

Beside presentations and discussions of academic and industry papers, "state of the art" presentations focus on relevant topics for industry and best software engineering practice:
  1. Professionelle Softwareentwicklung sichert Standortvorteile (Georg Schmid, Bayrisches Staatsministerium des Inneren)
  2. On Models and Ontologies – or what you always wanted to know about Model-Driven Engineering (Gerti Kappel, TU Vienna)
  3. Erfolg reproduzierbar machen (Reinhold E. Achatz, Siemens)
The keynote slides are available to the conference participants via the conference website.

Dietmar Winkler (edited by Alexander Schatten)

Wednesday, October 03, 2007

[Event] Euromicro/SEAA Conference Publications

In this recent posting I wrote about the Euromicro 2007 conference. We actually presented two technical papers and one "work-in-progress" paper at Euromicro SEAA 2007:

Early Software Product Improvement with Sequential Inspection Sessions: An Empirical Investigation of Inspector Capability and Learning Effects (D. Winkler, B. Thurnher, S. Biffl)
Early defect detection and remove of defects helps increase the software quality and decrease rework effort and cost. Software inspection – a static verification and validation approach – spots on defect detection in early development phases (e.g., in requirements documents and design specifications). Furthermore, inspection promises to be a vehicle to support learning, even for less-qualified inspectors. Main findings, which were reported in the paper, are (a) the inspection technique UBR (usage-based reading) better supported the performance inspectors with lower experience in sequential inspection cycles (learning effect) and (b) when inspecting objects of similar complexity significant improvements of defect detection performance could be measured.

Download Presentation

Aspects of Software Quality Assurance in Open Source Software Projects: Two Case Studies from Apache Projects (D. Wahyudin, A. Schatten, D. Winkler, S. Biffl)
Nowadays, open source software (OSS) solutions provide mission-critical services to industry and government organizations. Nevertheless, empirical studies on OSS development practices raise concerns on risky practices such as unclear requirements elicitation, ad hoc development processes, little attention to quality assurance (QA) and documentation and poor project management. This paper introduces a QA framework for open source projects and presents some preliminary results on two cases studies from OSS projects regarding a couple of variables, e.g., defect detection frequency, defect collection effectiveness, defect closure time, and ratio of verified solutions.

Download Presentation
A Quality Assurance Strategy Tradeoff Analysis Method (S. Biffl, C. Denger, F. Elberzhager, D. Winkler)
The third paper introduces a based concept for balancing existing quality assurance approaches for software process and product improvement along the process life cycle. The selection of a suitable set of methods depends strongly on the project context and is based on measurable quality attributes. Decision makers need to assess and compare the overall effects of QA method combination and the tradeoffs between involved QA strategies and to identify tradeoffs of individual methods. The proposed QATAM assessment method of different strategies is originally based on the Architecture Trade-Off Analysis Method (ATAM).

Download Presentation

Dietmar Winkler (edited by Alexander Schatten)