<<< Previous speaker Next speaker >>>

Dave Thomas, Bedarra Research Labs

Dave  Thomas

Dave Thomas has a wide spectrum of experience in the software industry as an engineer, professor, consultant, architect, executive and investor. Dave is founder and CEO of Bedarra Corporation; which provides virtual CTO and CEO, business mentoring and seed investment to emerging companies. Recently formed Bedarra Research Labs undertakes speculative research on applications of emerging software technologies.

Dave has many years of experience in structured documents including the design of laser printer controllers, early commercial applications of Tex. He has advised on the IBM B2B strategy, and is on the MS Customer Advisory Council and with OLL contributed to the SCORM elearning standard, and authoring tools. He is Chairman of Xia Systems, Online-Learning.com (OLL), and a director of Stilo/Omnimark, Bitflash, Amikanow and Synop and several other software companies.

Dave is best known as the founder and past CEO and president of Object Technology International Inc. (formerly OTI, now IBM OTI Labs) and led the commercial introduction of object and component technology. The company is often cited as the ideal model of a software technology company.

Dave was the principal visionary and architect for IBM VisualAge Smalltalk and Java tools and virtual machines including the initial work on popular multi-language Eclipse.org IDE. OTI pioneered the use of virtual machines in embedded systems with Tektronix shipping the first commercial products in 1988. He was instrumental in the establishment of IBM's Pervasive computing efforts and in particular the Java tooling.

Dave is an adjunct research professor at Carleton University, and the University Of Queensland and is widely published in the software engineering literature. He is a popular humorous albeit opinionated keynote speaker. Dave remains active in various roles within the technical community including ECOOP, AOSD, Evolve, and Agile Development Conference, Agile/XP Universe and OOPSLA Onward. He is a founding director of the Agile Alliance and most recently a founder of Open Augment Consortium. Dave writes expert columns in Otland Online in Germany, and the Journal Of Object Technology in Switzerland where he also serves on the editorial board.

Presentation: "Panel DDD"

Track:   Domain-Driven Development

Time: Tuesday 16:45 - 17:30

Location: Nortvegia

Presentation: "Programming In the Large  The Challenges of Building Applications using Modern Object Technology"

Track:   Keynote

Time: Wednesday 09:00 - 10:00

Location: Conference Hall 1


In this talk we discuss our experiences building large commercial software products, IT applications and embedded systems. We focus on the challenges of component based development using class libraries and frameworks and the costs and benefits of achieving wide spread reuse both in internally and by customers/partners.

Programming in the Small can leverage best people, best practices and best tools - our industry has made excellent progress in this area. However, Programming in the Large requires developers and managers to deal with large preexisting code bases, enterprise applications, industry standards, coopetition and defacto platforms and their associated complex class libraries and frameworks.

We present the realities of industrial class libraries and business frameworks, which are in stark contrast to the "objects are simple and beautiful music from the OO pied piper" In this hostile reality, the need for expertise, tools and processes shifts from agile interactive development of well-designed assets to coping with accidental complexity of the platforms and class libraries. Unfortunately, in IT organizations, the plethora of open source solutions often increases rather than decreases the complexity. Development often becomes defensive programming which results in reduced productivity, functionality and barely containable quality.

We challenge the popular wisdom of Java/C# objects for everything and in particular their use in pervasive computing and many IT applications. The construction of software can be compared to the construction of a house that requires the use of multiple different building materials and tools. We argue that software construction also requires an appropriate mix of technology and tools that must be matched to the problem and the people delivering it.

Finally, we discuss the next wave of tools designed to hide the object mess from MDA promised "executable UML" versus alternatives such as executable XML, and domain oriented programming.

Password protected Download slides