Agile in Practice

Host: Stig Efsen

This track focuses on agile practices, techniques, and tools. Leading practitioners present and explain their latest experiences and pitfalls in implementing agile principles e.g. XP, Scrum and Lean Software Development.

Cloudy Computing

Host: Gregor Hohpe

Cloud Computing is an exciting emerging technology which will impact everything from the IT Data Center to Personal Mobile Devices. Unlike traditional monolithic applications most cloud applications will be composed of multiple services leveraging the programmable web. Applications need to work when occasionally disconnected as is common for mobile applications. SAAS applications rely increasingly on the browser as a platform with increased reliance on JavaScript and RIA such as Ajax. This track will feature key players in this relatively new field.

Essential Development Skills

Host: Michael Feathers

Technology changes constantly and we spend a lot of time keeping up with it. At the end of the day, however, technology is not as important as the way we approach our work - the skills and practices we bring with us when we approach a problem. In this track, we'll concentrate on the nuts and bolts of being an effective developer no matter where technology leads us.

Java Now

Host: Eberhard Wolff

This track will provide a landscape for all that is new in the Java space and highlight interesting cases exploring some of the lessons learned in building complex solutions in Java.

Types of Architecture

Host: Frank Buschmann

The talks in this track outline the considerations that architects must take to address these factors: how does the business model impact architecture, how do I achieve operational excellence, how does my type of application domain impact the choice of architectural style and technology, and what are the impact and opportunities of the latest advances in hardware. A special focus of the track is product line engineering, where in practice all three factors, are especially challenging to meet, and the impact of multi-core on our architectures,since there we have true parallelism on a single chip.

iPhone Application Development

Host: Patrick Linskey

The iPhone has gained much attention, in part because of the application platform it provides, as well as featuring new ways to implement and distribute mobile applications.

The platform has resurrected Objective-C as a relevant programming language, boosted interest in JavaScript on the mobile platform, many people are experimenting with making advertisement-based free software, working with synchronization in new ways, as well as utilizing the platform's unique features like accelerometer, gps, sms-services, etc.

In this track we will give you an overview of what it means to be developing applications for the iPhone platform, we will provide advise for choosing implementation technologies, and you will hear this from people who have several years of experience with these matters.

Documenting Design and Architecture

Host: Frank Buschmann

In this track we present and discuss various approaches to architecture documentation, ranging from using views, over the telling expressiveness of design stories and pattern-based descriptions, to "re-engineering" a documentation by vizualizing the architecture realized in code. Goal of the track is to offer you a choice of architecture description approaches so that you can use the mix that is most relevant and most communicative for your project.

Is REST turning SOA's promise into reality?

Host: Stefan Tilkov

Many people feel disappointed with WS-* web services and turn to REST as an alternative solution to turn SOA's promises into reality. Like SOA, REST is building up severe hype momentum. But are we in for the next disappointment? This advanced track shows how REST works in practice, what the open questions are and how we might answer them.

Topics covered: REST security, modeling transactional systems, hypermedia in machine-to-machine communication, patterns and anti-patterns, Atom & AtomPub, performance and scalability.

Web-Oriented Data

Host: Kim Dalsgaard Rasmussen

Web-Oriented Data: More and more data is being made web-accessible, and as this happens entirely new problems and solutions see the light of day - going far beyond the traditional view that all data should go into a relational database and be accessed using SQL. Suddenly the focus changes to how to handle graphs of data, how data can be made available and how to link to data stored elsewhere.

In this space, a wide range of technologies and ways of thinking about data is gaining momentum, including HTTP/REST-access to data, AtomPub feeds, graph databases, and RDF/Semantic Web technologies.

In this track, you will get a sampler of concrete technologies in this field that are useful today; web-oriented data frameworks, projects or products that you can go home and use tomorrow.

Browser as a Platform

Host: David Geary

Over the past few years, the browser has emerged as the dominant platform for writing applications, and software development has undergone a profound shift, from operating-specific applications to web applications that run in the browser.

The early days of web application development were difficult. Browsers and HTTP were not originally envisioned as a platform for applications, and developers could not count on standards such as JavaScript and CSS always behaving the same in all browsers. Because of those drawbacks, web application development was difficult in the early days, as developers had to implement stateful applications using a stateless protocol.

Today, the browser has truly emerged as a viable application platform. Web application frameworks, such as JavaServer Faces 2.0, Google Web Toolkit, Ruby on Rails, and Flex have made it much easier to implement powerful web applications with rich user interfaces similar to those found in desktop applications.

In this track we will explore web application frameworks and other emerging technologies that have propelled the browser into the forefront of application development.

Business Drivers and Challenges in Software Development

Host: Michael T. Nygard

Faced with immense challenges, IT managers today are required to deliver software projects that are highly scalable, secure, infinitely fast, and completed in no time: but how? A look into the business drivers and values that impact operational IT is increasingly important with regards to meeting the business requirements. This track is composed of handpicked speakers and IT specialists, and the theme for the day is the synergy between business and IT, with a focus on the gaps that often exist across business and IT and their different approaches to software development. Topics:
  • Achieve greater value of an aligned business and IT strategy
  • Establishment of a technical IT architecture that supports changing business requirements
  • Achieve competitive advantage with far less risk of failure
  • Estimation and prioritization of key business IT projects
  • Optimizing productivity through true leadership
Target audience: This track is designed for anyone who makes decisions about IT investments, managers that work with IT implementation and technology experts who wish to improve collaboration between business and IT.

The Heart of Agile

Host: Linda Rising

This track will feature engaging speakers who will take us beyond what we currently think of as "agile" and help us return to our roots. This track is about the mushy stuff, the important stuff. We, therefore, want this track to be fun and enjoyable and useful for attendees. We aim to help you in your struggle to be even more agile.

Programming Languages

Host: Mads Torgersen

What is it with programming languages? The Turing Machine already does it all, bless its heart. Why do new languages keep cropping up? Why invest time and energy in learning pesky syntax and new features all over when the doodles I had to internalize last year/last decade/back in school do the job just fine? Enough already!

Or not. Languages frame the way we think. Change the language; suddenly you can see new ways of solving your old problems, or maybe even new problems that you didn't even know you could try to solve. Sometimes the thinking carries over even when the language does not. Sometimes changing the language saves the project. Sometimes your neighbor is having more fun.

Expand you mind, get inspired: find out what's new with languages.

Solutions: Developer Tools

Host: TBA

There are a vast variety of developer tools available on the market and in the open source community and every developer has a favorite. In this track, a number of the most popular developer tools will be presented for you to evaluate if you are using the right tool for the job.

Solutions: Software Solutions

Host: TBA

Come and hear the latest from some leading software vendors on the market.

.NET Platform

Host: Beat Schwegler

In this track we will take a look into experiences, technologies & tools that will help you work more effectively in a .NET project. Hear stories on tips, tricks and best practices from experienced lead developers and architects that will help you get that .NET/based project done faster, easier, and with fewer lines of code.

Solutions: Spring in a Day

Host: Arjen Poutsma

The Spring Framework and technologies are gaining momentum in enterprise Java Development. This track provides an opportunity to share insights on the latest advancements in Spring technology. Topics will range from web architecture, grails, enterprise integration and large-scale production systems. Sessions will be led by many of the core developers of the Spring Framework and Apache projects and creators of Spring.

The Concurrency challenge

Host: Karl Krukow

By now "The free lunch" ended more than five years ago; server core counts are ranging from 8 to 864, and yet the concurrency revolution has still to occur: concurrent programming is not yet mainstream. As in-process concurrency is gaining importance three methodologies are competing for programmer adoption: classic locks, transactional memory and share-nothing actors.

This track aims to push this revolution forward by giving an overview of techniques and methodologies that can make efficient and correct(!) concurrent programming mainstream. Programming languages have an important role here in providing programming models and compiler support to deal with complexity and efficiency issues. Hence, important programming language concurrency models are covered as well as more basic concurrency problems and solutions. Prepare to be surprised and amazed!