Soundlogo
March 16 - 17, 2010

Overview

Development Process & Methodology

Abstracts Tuesday | Abstracts Wednesday

Emerging Technologies/Cloud Computing

Abstracts Wednesday

Agile in the organisation

Abstracts Tuesday | Abstracts Wednesday

Mobile solutions

Abstracts Tuesday

Three screens and the cloud

Abstracts Tuesday

Successfull Devliery of Agile Solutions

Abstracts Tuesday

Conversation Corner

Abstracts Tuesday | Abstracts Wednesday

Tracks Tuesday - March 16

Keynote

Reinventing Software Design

Michael Feathers

Michael FeathersWe live in odd times. The Structured and Object Oriented Design techniques have run their course. In today's world, teams either practice no real design at all, or they practice make-shift design within a soup of invasive technologies, frameworks and physical architecture choices. Moreover, the User Experience community is using the word 'design' to mean something completely different from what we have used the term for within software development. In this keynote, Michael Feathers will explore this problem and present a different view of design and design process which may address these issues.

.NET

Refactoring - Glänsande cromelister eller en solid grund?

Anders Bratland

Anders BratlandRefactoring – Glänsande cromelister eller en solid grund? Ibland känns det som att koden inte är riktigt så bra som den borde vara. Kanske är det en ”code smell” vi har hittat. Istället för att bara svära över att koden saknar dokumentation och är rörig lär vi oss hur vi angriper problemet och gör något åt det. Vi går igenom dom vanligaste refactoringmönstrena, visar massor av exempel och svarar på den viktiga frågan ”Hur inför man refactoring i en organisation?”.

Intentions & Interfaces - Making Patterns Concrete

Udi Dahan

Udi DahanThe pattern movement is shifting into high gear. Not only are more patterns coming out, but they are at higher levels and have deeper meanings than ever before. Unfortunately, many developers are having problems incorporating these patterns in day-to-day development. In this session, we will see the practical aspects of intentional, interface-based programming that are at the core of almost all advanced patterns. From validation to data access and service layers, you will leave this session being ableto write more maintainable, intention-revealing code than before.

Declarative WCF/WF Services in .NET 4.0

Alan Smith

Alan SmithOne of the main developments in Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) is the declarative services model. Developers can now use eXtansible Application Markup Language (XAML) and visual tools to author services and workflows and leverage the close integration between WCF and WF. This demo intensive session will focus on declarative service programming using the latest versions of Visual Studio 2010 and .NET 4.0. The Visual Studio workflow designer will be demonstrated using both the flowchart and sequential workflow models to interact with WCF services. The concept of durable services will be explained and demonstrated using interactive and visual scenarios.

Single Sign On for ASP.NET Web Applications

Keith Brown

Keith BrownFor years, Windows has supported a rich, built-in authentication and authorization framework. If you can assume clients will have a Windows account, you can rely on Windows integrated authentication to validate client identity, and use impersonation, ACLs, and role-based security to authorize access to resources. But that model only works if all of your users have Active Directory accounts in a trusted domain. It's difficult to turn one of these applications to face the Internet to support remote employees, partners, and so on. This talk will introduce you to claims-based identity, which allows you to factor authentication and some authorization decisions out of your applications and into a central identity service. This model makes it much easier to achieve Internet-friendly single sign on. It also makes it easier for your application to receive richer identity information, and paves the way for cross-realm federation, should you ever need to integrate with another organization or another platform (Java, for example). In this talk, you'll be introduced to Windows Identity Foundation as the identity API for web applications.

Introduction to to TDD in .NET

Roy Osherove

Roy OsheroveIn this talk we’ll introduce Test Driven development and the steps it takes to be successful with it. We’ll discuss the reasoning behind test-first development and see what it’s like to do a little feature using TDD. Finally we’ll talk some numbers and compare two teams with and without TDD.

Testing, testing. A first-look at the new testing capabilities in Visual Studio 2010

Mathias Olausson

Mathias OlaussonThe new release of Visual Studio will include a large set of powerful testing features. Whether you're into manual or automated testing there will be things you want to check out! We'll look at the many of the exiting new features in VS 2010, including:  Test planning and execution  Issue tracking with rich bugs  Eliminating the "works on my machine / cannot reproduce" scenario  Automated UI Testing  Virtual Lab Management

Java

Construction Techniques for Domain Specific Languages

Neal Ford

Neal FordDomain specific languages have been the Next Big Thing for years now, but they have quietly started penetrating the development world. This talk covers language techniques in Java, Groovy, and Ruby on how and why to create DSLs. This session demonstrates with motivation for converting APIs into DSLs, and various patterns, anti-patterns, and best practices for how to achieve the optimum effect. This talk also covers the very important topic of implicit context, and how language constructs can allow you to write less verbose and more expressive code.

Lightweight Killer Apps with Nothing But Vanilla Java EE 6

Adam Bien

Adam BienThe complexity and bloat often associated with Java EE are largely due to the inherent complexity of distributed computing and exaggeration of some architectures (and architects); otherwise, the platform is surprisingly lean. EJB 3.1 actually consists of annotated classes that are even leaner than classic POJOs; it would be hard to find anything more to simplify. JSF 2.0, JPA 2.0, Bean Validation, JSR-299 and JSR-330 makes Java EE the perfect, vendor-neutral platform for web and enterprise development. This session discusses the essential ingredients of a lean service-oriented architecture (SOA), then explains how to implement one in Java EE without compromising maintainability. I'll start by describing aspects of SOA implementation that lend themselves to procedural programming, then discuss domain-driven (aka object-oriented) design with lots of code and some demos.

Open Source Debugging Tools for Java

Matthew McCullough

Matthew McCulloughThis session will survey a wide range of tools across the Java space. We'll look at utilities such as VisualVM, jstatd, jps, jhat, jmap, Eclipse Memory Analyzer, jtracert, btrace and more. Open Source is not just a suite of libraries you consume within your application, but now reaches into the space of tools to help you troubleshoot and improve your applications. The price of these tools eliminates barriers to their use and their open source nature allows you to mix and match them into compositions that work well for your application's unique debugging needs. These tools will help you peel away layers of your application to expose bugs and performance xeilings. We'll interactively analyze the heap and garbage collection cycles of both local and remote applications, take snapshots of heap, query the heap for heavy usage, leaks and augment running code without reboot and without breaking a sweat. After attending, you'll never look at Java debugging the same way again

Rapid Application Development with Apache Wicket

Andrew Lombardi

Andrew LombardiThe model supplied by Java Web Frameworks is broken. As software engineers start to break away from the shackles of a Struts-type model, a new model based on object oriented programming and a clean separation of concerns has emerged with Apache Wicket. The framework has a simple component hierarchy allowing for reusability without pain. This session you will work with a real project built with Apache Wicket and we'll concentrate on components, forms, i18n, validation and AJAX support. We'll explore how to get started with Apache Wicket very quickly, and speak to how they differ with other popular Java frameworks. Attend and learn to enjoy web application development again, reduce complexity in your codebase and create more reusable and readable code.

Java Programming in a Multicore World

Angelika Langer

Angelika LangerWith the increasing availability and use of multicore processors Java developers need to acquire some understanding of the Java memory model. This is because multithread applications that work nicely on a single-core processor might exhibit "inexplicable" deficiencies when running on a multicore processor platform. The reason may be differences in the caching strategies applied by different processors. In order to illustrate the issues this tutorial explains the Java features for multithread programming. Key topics include: old and new locks, volatile and atomic variables, memory model, visibility and reordering issues, lockfree programming.

Performance Tuning with Cheap Drink and Poor Tools

Maurice Naftalin

Maurice NaftalinPerformance tuning commonly described as a black art. But this description only works to point out a deficiency how performance is approached. In fact, performance is often approached in an ad-hoc fashion resulting in moments when "magic happens". During the session we will turn art into science by introducing a methodology that improve our ability to diagnose and repair performance bugs. The methodology will be introduced as we work to improve the performance of an application ways to improve the performance.

IBMi

Rational Application development tools strategy and latest announcements for IBM Power.

George Farr

George FarrThis session will provide details on the recent announcements from Rational for IBM Power systems development tools. The session will provide information on the key Rational application development tools for IBM Power. We will also cover our future strategy tooling direction for Power systems.

Rational Power tools latest announcements, the details

George Farr

George FarrIf you are a Power System user come to this session to take a tour on the latest tooling for IBM i as well as AIX. In addition, we will discuss the latest in compilers for Power systems and more specifically the new enhancements to RPG and COBOL.

Power i, modern ILE RPG and PHP - the obvious choice for our new application!

Mats Lidström

Mats LidströmA centralized system to handle the documentation of Musical Work copyright information is being created. The project collaborators are Swedish Stim and English PRS for Music. The system must be able to handle large quantities of data and be integrated with many external systems. I am going to show why we chose "Power i" as our platform, and how we, with help from RDI, ILE and embedded SQL, built our application. The user interface is built using PHP and MySQL, with inspiration and components from the open source world.

No nonsense ILE RPG on the web

Niels Peter Sørensen

Niels Peter SørensenThis session will start from scratch and go through the basics of building and deploying a simple RPG business process as a web application. The session will also present how the created application and web site are administered regarding menus and user authorization. No prior experience with Websydian or web development is required to benefit from this session. After attending the session the attendees will have the basic knowledge of how to set up WebsydianExpress with a predefined transport layer and web site and start developing web applications with existing RPG applications. Target group: RPG developers wishing to extend their existing RPG applications to the web with no prior knowledge of web development or HTML.

What’s New in DB2 for i?

Mike Cain

Mike CainCome and find out how the DB2 for i 6.1 features that can help your IBM i databases and applications take a giant leap forward. You will learn how these new database features and functions can be used to improve your applications and to reduce your design and development time. You will also be hearing about the self-learning capabilities of the SQL Query Engine and the productivity gains delivered by the enhancements to the DB2 OnDemand Performance tools in System i Navigator. We will also take a look into the future of DB2 for i.

SQL Programming DB2 for i SQL OLAP Functions

Mike Cain

Mike CainIn the spirit of doing a LOT more with less, we will cover the V5R4 and 6.1 SQL OLAP functions. In general, analytic functions are valuable because: * They simplify the expression of complex but commonly asked business questions * They are efficient * They are fast compared to other methods of running calculations Come and learn how you can be more productive and provide information faster with SQL and DB2 for i.

Testing

Agile Testing Strategy

Emily Bache

Emily BacheTesting is not just for testers any more. One of the most important parts of an agile transition is getting us developers to change our attitude and start writing tests alongside our code. Many teams are adopting a policy of writing unit tests for all new features, and some even plot the rising code coverage at every build. All this testing activity has reverberations around the whole project team, not least for the dedicated testers. What will they do with their day when the software they are given has already passed several thousand automated unit tests? Project managers may start wondering if all these green tests are in fact a green light to ship the product. What if some tests are missing, how would they know? In this talk I'd like to take a look at the big picture of testing on an agile project, and talk about how developers and everyone else on the team should reason about their agile testing strategy.

Text-based Acceptance Testing with TextTest

Geoff Bache

Geoff BacheTesting a program by monitoring changes in it's plain text log files is an old idea, but one which has fallen out of fashion lately. This talk aims to show you that with a tool like TextTest, it can not only work, but work well. Well enough to enable agile development, especially in situations where for example xUnit breaks down. This is a technique and a tool that I have developed over the past decade at Jeppesen, for automating maintainable black-box tests that work entirely outside of the code. In this talk I will demonstrate how the tool works in practice, and examine the advantages and disadvantages of this approach in general.

Är det en bugg, en CR eller ett förbättringsförslag?

Henrik Andersson

Henrik AnderssonSpelar det någon roll? Borde vi inte istället fråga oss om det är ett beteende i produkten som vi vill förändra eller ej? Det jag ifrågasätter är behovet av de tungrodda ändringsprocesser man ofta implementerar. Man gör något väldigt komplicerat av något som i grunden inte är så svårt. Lösningen på detta problem är att behandla information direkt och inte spara undan den till senare. Ska något rättas gör det då direkt annars lev med beteendet. Skippa alla olika benämningar som buggar, förändringar, förbättringar o.s.v. Anpassa er process utefter era behov och ändra den när behoven ändras.

Introducing Exploratory Testing Champions

Henrik Andersson

Henrik AnderssonThis is how I introduced Exploratory testing at a Swedish based telecom company. Astonishing that we did it in only 8 days to an organization with 80 testers! This was possible by intruducing the role Exploratory Testing Champion. The objective is to give a road map and a tool kit to enable you to set up a similar project. I present a background to Exploratory testing, scope, contents and results of the workshops , responsibillites and expectations of the Exploratory testing Champions. I will present real facts from this live case, schedule, statistics, comments from praticapants and where we are today.

Data-Driven Transaction Based Unit Tests

Engin Yorgancioglu and

Engin YorganciogluUnit testing is a fundamental complementary activity in robust software development. It promotes reliable code and drives testability into design, as well as helping discover defects at an early stage where they can be eliminated with relatively low cost compared to later stages. “Data-Driven Transaction-Based Unit Test”s (DTUT) helps fast unit test development with increased test-case maintainability in applications based on similar architectures to that of application-under-test, namely ROTA framework based on Microsoft’s Enterprise Development Reference Architecture (EDRA). With this approach, writing trivial unit-tests is reduced to inserting a row in the test database. Transaction-level scope of tests allows achieving high coverage quickly with the option of intensifying unit tests in critical areas of the system.

Storytesting

Bill Wake

Bill WakeAgile teams measure their progress by looking at delivered stories—features that users value. Many agile teams produce solid unit tests (e.g., using Test-Driven Development). Such tests are great, but they only establish that the parts are working; to ensure that we’re doing the right thing at the story level, we have to test at that level as well. Storytesting is the process of creating acceptance tests (preferably automated) that customers can understand and value. You’ll take away ideas for how to write effective storytests, how to divide the work, and tools and trends. (This session will mostly be tool-agnostic, focused on techniques over tools.)

Development Process & Methodology

One for all, all for one - Why working together is more efficient

Chris Hedgate

Chris HedgateThe real difference between agile thinking and other ways of developing software is the emphasis that agile methodologies put on people and collaboration. Born out of the will to succeed, as opposed to the fear of failure, agile thinking advocate creating an environment where people working in teams can self-organize around their work. They are encouraged to collaborate to find better ways of working, rather than trying to control and direct them. While hardly anyone would disagree with the positive effects of this, in practice it turns out to be a difficult shift of mindset to implement it. Since we are raised to reward people as individuals, agile practices often seem counter-intuitive. Having two developers work together on one task must be very ineffective, right? How can we be sure that someone on the team will take that boring task no one wants to do? In this session we will explore these counter-intuitive practices to find out why they are more effective in the end. You will also come away armed with knowledge and tools to help make the mindset shift happen in your organization.

Effective retrospectives - the key to an effective team

Chris Hedgate

Chris HedgateHaving a retrospective means to reflect in a group over work done, with the purpose of finding better ways of working. With their focus on continuous improvement Scrum and other agile methods have made retrospectives more popular than ever. Effective retrospectives however include so much more than simply answering the questions what went well, what went wrong and what do we want to change. Effective retrospectives gives the group a chance to explore their strengths and weaknesses together, define work rules and a common goal to strive towards. Regular retrospectives are one of the best techniques to support a group in it's development into a high-performing, self-organized team. Do you feel that your group's retrospectives have become boring and monotonous, and that they rarely lead to any real improvements? Then you should come to this session, where I will provide concrete ideas on how you can improve your retrospectives for a better result. Your group will get to know each other better, have more fun together and most importantly find ways to perform better.

Emergent Design

Neal Ford

Neal FordMost of the software world has realized that BDUF (Big Design Up Front) doesn't work well in software, but lots of developers struggle with this notion when it applies to architecture and design. Surely you can't just start coding, right? You need some level of understanding before you can start work. This session describes the current thinking about emergent design, including both proactive (test-driven development) and reactive (refactoring, composed method) approaches to discovering design. The goal of this talk is to provide nomenclature, strategies, and techniques for allowing design to emerge from projects as they proceed, keeping you code in sync with the problem domain.

How Agility Allows Us to Build One of the World's Biggest Rails App

Neal Ford

Neal FordWhile others have been debating whether Rails can scale to enterprise levels, we've been demonstrating it. ThoughtWorks is running one of the largest Rails projects in the world, for an Enterprise. This session discusses tactics, techniques, best practices, and other things we've learned from scaling rails development. I discuss infrastructure, testing, messaging, optimization, performance, and the results of lots of lessons learned, including killer rock-scissors-paper tricks to help you avoid babysitting the view tests!

The Pair Programming Show

Niclas Nilsson and Hans Brattberg

Hans BrattbergNiclas Nilsson Do you want to introduce pair programming? Or did you try pair programming but it didn't work? Are you wondering if it's worth it? Then, this play is for you. In this live play you'll follow a team as they go through stages and struggles of learning pair programming. You'll see anti-patterns in practice so you can recognize them, and you'll learn the small subtle things that is the difference between wasting time and a high productivity. Get the popcorn ready and open your mind. Pair programming can be a big boost - if it's done right.

Phronetic Leadership – how to lead knowledge creating companies

Ola Ellnestam

Ola EllnestamIn the world of software development, knowledge is king. The company that can create knowledge and harness the capabilities of their employees will stand a much better chance than other companies and they will ultimately dominate the market. People are generally very good at creating knowledge under the right circumstances. But what does that look like and how do you create such an environment? In this talk you'll learn why you want to lead software teams and organizations in a different way, and how.

Artisanal Retro-Futurism

Brian Marick

Brian Marick"Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism" - a problem with Agile is that everyone wants to be it. Who wants to be thought of as the opposite of Agile? Torpid? Sluggish? Rigid? So I resolved to capture the essence of Agile with a phrase so obscure that no one could say "Why, I'm that, of course!" without having to understand what "that" was. Although the name is deliberately obscure, each word does in fact matter, and the whole does in fact capture a bit part of what I think Agile is all about.

Making Sense of Lean and Agile with Getting Things Done (GTD)

Erik Lundh

Erik LundhDavid Allen’s GTD, Getting Things Done, is a set of simple things you can implement in your daily life to greatly reduce stress and become more efficient in your personal and work life. A lot of GTD can easily be mapped to how people behave when Lean and Agile is successful. We explore the basic set of GTD tools and how they can help us to be both Lean and Agile. We will cover: Natural Planning (maps to XP Planning Game), GTD Workflow for transforming wishful (stressful thinking) to actions, Ready For Anything – how to prepare for the unexpected.

Design Thinking as a Development Process & Methodology

Humayun Rashid

Humayun RashidWe submit that design thinking is a better way to manage the software life-cycle of a business solution. Traditional software methodologies are built on static and sequential life-cycle models and fail to adequately handle the dynamically changing business climate and needs of today. They are also weak in bridging the gap between different stakeholders and service providers representing wide variety of increasingly complex subject matter expertise involved. We present an outline of the design thinking methodology that can address these challenges by using a more natural method that have worked well in wide variety of industries like retail, construction, consumer electronics and entertainment industries

Facilitation Patterns and Antipatterns

Steven List

Steven ListFacilitation skills are essential for anyone. In fact, everyone facilitates whether they know it or not! Do you work on a team, manage an organization, or otherwise work with others? The opportunity to facilitate will come up.

Steven “Doc” List will lead you to explore the common patterns & antipatterns that come up in facilitation, for the facilitator and the participants. Weʼll have some fun by taking on roles, and exploring the behaviors that work and that donʼt work. The session will include some time on specific activities and techniques that can be used for effective facilitation.

To Make a Long Story Short: Splitting User Stories

Bill Wake

Bill WakeWhen user stories mix both high- and low-value functionality, or embody too many or unrelated customer needs, the flow of value slows. Until the whole story is finished, nobody benefits from its most valuable parts. Even worse, lower-value parts of this story block higher-value parts of the next one. Large stories can increase project risk because the core part of a story is often the riskiest part. While agile methods support incremental development, large stories can force a particular overall path even when the team would be better off taking advantage of earlier feedback. Join Bill Wake as he examines bundling and unbundling, splitting and merging. He shares concrete techniques that can split stories along high-level, user-experience, non-functional, and complexity lines. Take away a toolkit of at least twenty ways you can split user stories to increase value flow and customer satisfaction

Beautiful teams and leaders

Roy Osherove

Roy OsheroveIn this talk we'll explore what makes teams great, productive and effective, and also explore the idea of team leadership and how successful team leads can influence and drive, grow and coach their team mates to be more effective, successful and happy at their job. we review both practices and princinples at the team and the team lead level: from automation to communication and coaching.

Mobile Solutions

TDD and Android

Marcus Ahnve

Marcus AhnveThe entry barrier for Java developers to Android development is low as Android supports large parts of Java SE. But what is the situation regarding the support for automatic unit and integration tests? Marcus has practiced TDD since 2001 and has over the years become an avid supporter of Behaviour Driven Development. The talk describes how to develop an Android application using test driven development.

Integrating iPhone Applications with Backend REST Services

Adrian Kosmaczewski

Adrian KosmaczewskiIn a world of interconnected services, any iPhone application must be able to access online services to provide a rich user experience, raising concerns of compatibility, security, and performance. This talk will provice an overview of the techniques required to connect a native iPhone application, developed using Apple's iPhone SDK, to backend REST web services, highlighting different approaches and tradeoffs.

Introduction to iPhone development

Adrian Kosmaczewski

Adrian KosmaczewskiThe iPhone has changed the mobile software development landscape in the past few years, generating buzz but also providing software developers with a new platform, based on proven technologies. The aim of the talk is to provide an introduction to the programming environment, programming language, tools, frameworks and other elements required to create iPhone applications.

Android for Java Developers

Marko Gargenta-Marakana

Marko Gargenta-MarakanaWhile Android programming is based on Java, there are some important philosophical differences and Android-specific constructs to consider. Android for Java Developers is an action-packed, hands-on presentation that takes you through the anatomy of an Android application. The sample application includes most major Android building blocks (Activities, Intents, Services, Broadcast Receivers, Content Providers) to illustrate the philosophy of Android application development. It assumes basic Java knowledge.

Android Internals: Learn how Android works

Marko Gargenta-Marakana

Marko Gargenta-MarakanaIn this talk we take a step back from the Dalvik virtual machine (i.e. the Java SDK) and explore the often-overlooked (and somewhat poorly documented) Android Internals and NDK. Marko Gargenta shows us the anatomy of Android system, how various parts work as well as how to use JNI and NDK to write our own native libraries to be called from our Android applications. We will learn how Android system starts up, what major pieces run as part of the C library, how each application is isolated from others, what they use to communicate between them.

Android User Interface: A deeper look at how to use XML and Java to build a rich Android User Interface.

Marko Gargenta-Marakana

Marko Gargenta-MarakanaOne of the main differences between Android and Java is its new User Interface set of libraries. In this talk we explore how to use the hybrid approach to developing user interface in Android. We'll see pros and cons of XML-based declarative approach and how to incorporate it with Java-based programmatic approach. You will see some basic concept of Android user interface and learn what's possible.

Developing iPhone applications in .NET

Paul Rayner

Paul RayneriPhone development opens up a world of opportunities for developers that invest the time to learn this exciting platform. And Monotouch allows developers to create C# and .NET-based applications that run on the iPhone while taking advantage of the iPhone API’s and their existing libraries and skills.

Experience a quick start to iPhone application development using the language and libraries that you are already familiar with, and prepare to learn something new about how to use what the iPhone API’s have to offer. Gain a solid understanding of the basics of iPhone development in .NET, and get up and running quickly building the next killer iPhone app.

How to successfully deliver large iPhone projects on time and within budget

Johan Sanneblad

Johan SannebladHow do you successfully plan iPhone projects that take thousands of hours to execute? What competences are needed and how should they work in parallel to ensure that the project is delivered on time and within budget? Johan Sanneblad has together with his team at HiQ delivered five commercial iPhone projects the past year, the biggest one being Telia Navigator that was launched in February 2010. Johan will during his talk present his work process going from pre-study to implementation, outline the resources required during development, and conclude with lessons learnt from developing large iPhone applications such as Telia Navigator.

Agile in the organisation

Closing the Gap Between Business & IT

Agneta Jacobson

Agneta JacobsonClosing the Gap Between Business & IT Smart practices the key to successful collaboration Although modern businesses are becoming more and more dependent upon information technology in general - and software in particular - in many organizations the gap between the business and IT seems to be growing not shrinking. The fact that it is so easy to recognize that there is a gap is itself quite damning, and indicative of the challenges many businesses face to enable their information technology to be the difference that makes the difference - the thing that secures their position as leaders in the internet age. In this talk Agneta Jacobson, will examine where the gap comes from, discuss how shared practices can help to close the gap, and examine some of the practices that are needed to create an atmosphere of true collaboration between business and IT. Learn how you can transform an adversarial and counter productive relationship into one of true collaboration and exponentially increase the value generated by your investment in IT.

Agile systems for agile business - agile business with agile systems (?)

Tom Stenström

Tom StenströmWe have for quite a long time spoken about Service Oriented Architetures and the way this affetcs how we view and build software solution today. One area that we now see coming up as a result of creating SOA Based systems is the dynamics this triggers in organisations. Building dynamic and agile systems creates new possibilities and challeges within the organisation. Let’s have a look at how some of these interactions can be implemented today to create systems that can mirror the changing business processes and “bridge the gap” in new ways.

How many Agile coaches does it take to change an organisation?"

David Harvey

David HarveyThere's much discussion amongst Agile (and now Lean) practitioners about how the approaches we take to product development are engines for organisational change. Nevertheless, given the current state of the economy, of organisations and of technology within those organisations, people adopting agile often only hear "faster and cheaper". Drawing on David's experience of introducing Agile into large and small companies, and using examples from the history of organisational change and current thinking in cognitive psychology and social complexity, this talk will explain just what sort of change Agile generates, and offer some useful guidelines to those trying to change their organisations through Agile and Lean development. Outline of talk: * How organisations learn - or fail to * What sort of change is Agile? * Immunity to change: observations from cognitive psychology * Why changing teams is easier than changing organisations: lessons from social complexity * Change the world or go home

Beyond Budgetting

Bjarte Bogsnes

Bjarte BogsnesThe world has changed - what about the way we lead and manage? Beyond Budgeting and implementation in Statoil - The case for change - why the entire performance management model must be addressed, not just project development - The Beyond Budgeting model - a coherent change of both processes and leadership - International implementation examples - The Statoil model

Taxiing, Climbing and Crusing Agile Teams

Thomas Nilsson

Thomas NilssonThere’s the Shu Ha Ri and Dreyfuss models of individual learning and there has been some discussions on if this applies to organisations too. This talk will present a model of maturity of teams that might be more appropriate. The model has provided a structure enabling coaching of large organisations transitioning into agile to be more effective. In particular, examples will be presented showing how, and why, strategies on pair programming, TDD, standups and retrospectives might differ depending on how mature an agile team is.

Three screens and the cloud

Developer Designer Workflow

Robert Folkesson

Robert FolkessonI det här seminariet undersöker vi hur utvecklare och designers kan arbeta effektivare tillsammans för att bygga nästa generations webbupplevelser. Vi tittar på hur Expression Studio integrerar med Adobes produkter och visar hur du kan dra nytta av nya funktioner i Silverlight 4 och Expression Studio som ger ett förbättrat arbetsflöde mellan designers och utvecklare.

Three screens and the cloud

Allan Knudsen

Allan KnudsenThe Azure platform introduces new opportunities as well as challenges to companies and organizations. In this presentation we will discuss the overall platform, business models and future strategies for Microsoft with its cloud initiatives.

Architecting the cloud

Christofer Löf

Christofer LöfAs architects and developers it’s important to understand the technologies and processes that builds the cloud. Even though most applications can run as is in the cloud, to really leverage the infrastructure and services, solutions has to be carefully designed and implemented. Learn from the source of patterns and recommendations for developing in the cloud.

Windows Azure AppFabric

Kristofer Liljeblad

Kristofer LiljebladWith the annonucements of Azure, Windows Azure AppFabric also became known. These technologies will help developers create scalable service-oriented solutions with Windows Communication Foundation and other related technologies. But how can we leverage the Windows Azure AppFabric both in the cloud and locally?

Building RIA with Silverlight and WCR RIA Servicecs

Fredrik Normén

Fredrik NorménI denna session kommer ni att få se hur ni kan bygga Rich Internet Application med Microsoft WCF RIA Services och Silverlight 4.0. Ni kommer även få se hur WCF RIA Services kan användas tillsammans med MVVM pattern och Commanding.

Successfull Delivery of Agile Solutions

Agile, not Anarchy

Peter Eeles

Peter EelesThere are many myths surrounding the agile movement. One myth is a lack of control that ultimately leads to chaos! Nothing could be further from the truth. In this session, Peter will discuss key decisions that are made on an agile project and how to objectively measure "in flight" progress so that the project is steered toward a successful outcome.

We face the same challanges as you do!

Alan Brown

Alan BrownIBM is, as you might sometimes forget, a large software development company. That means that we face the same challenges and obstacles as our customers do in our SW development projects. We also use our own tools and solutions in order to solve them, with Agility@Scale as the backbone.

How do you plan and manage an agile development project?

Alan Brown

Alan BrownHow to you get the “big picture” and the long perspective in an agile project with short planning cycles?

Agility@Scale in practice

Jean-Yves Rigolet

Jean-Yves RigoletThe IBM Lab in Paris has managed to scale agility in the ww geographically distributed RTCz development team. In this session, Jean-Yves Rigolet, the Rational Team Concert for System z Scrum Master, gives an overview of the team, their processes, successes, and lessons learned.

Agile development relies on agile test

Annika Kortell

Annika KortellTo succeed in agile development you need a solid agile test organisation. The tester’s role is more critical in an agile development project and their efforts should be more relied on then ever. Annika has a long experience from various test projects and methodologies. In this session she shares her experiences in different agile projects, and how you get successful with agile test.

Agile Requirements Best Practices

Robin Bater

Robin BaterAgilists know that any investment in detailed documentation early in a project will be wasted when the requirements inevitably change. Instead, the fundamental idea is that you do just barely enough modeling at the beginning of the project to understand the requirements for your system at a high level, then you gather the details along the way. Robin shares best practices for modeling in an agile context.

Conversation Corner

Should a professional developer always use TDD?

Emily Bache

Emily BacheThis is one of several scheduled "fishbowl" discussions, which aim to get the conversation going in this corner of the conference. This particular fishbowl will initially contain Michael Feathers and Geoff Bache. The idea is that you have 5 chairs, you may only speak when you sit on a chair, and one must be empty at all times. If someone sits on the last chair, someone else must get up. The chairs are initially occupied by two or three of the conference speakers, to get the discussion going. Other conference participants are encouraged to join in by sitting on an empty chair. Anyone sitting in the fishbowl who finds they no longer have anything they really want to say, should consider giving up their place.

Developers have too many responsibilities: analysis, design, coding, testing...

Emily Bache

Emily BacheThis is one of several scheduled "fishbowl" discussions, which aim to get the conversation going in this corner of the conference. This particular fishbowl will initially contain Marcus Ahnve, Niclas Nilsson and Rikard Thulin. The idea is that you have 5 chairs, you may only speak when you sit on a chair, and one must be empty at all times. If someone sits on the last chair, someone else must get up. The chairs are initially occupied by two or three of the conference speakers, to get the discussion going. Other conference participants are encouraged to join in by sitting on an empty chair. Anyone sitting in the fishbowl who finds they no longer have anything they really want to say, should consider giving up their place.

The Dire Need for Encryption in Webapps

Matthew McCullough and Tim Berglund

Tim BerglundMatthew McCulloughThis fishbowl will initially contain Matthew McCullough and Tim Berglund. An informal study shows as many as 70% of today's public facing web apps are not using hashing of passwords and are storing customer data in the clear. As professional engineers, we need to step up to our responsibility to secure customer information. In this fishbowl, we'll discuss approaches being taken to encryption on the wire, in the DB and on disk. This can have implications all the way back to domain driven design and separation of concerns. We'll solicit inputs on what folks at the conference are struggling with in this area, why encryption usage is so rare, and what we can do as thought-leaders to increase customer data security in our applications. The idea with a fishbowl discussion is that you have 5 chairs, you may only speak when you sit on a chair, and one must be empty at all times. If someone sits on the last chair, someone else must get up. The chairs are initially occupied by two or three of the conference speakers, to get the discussion going. Other conference participants are encouraged to join in by sitting on an empty chair. Anyone sitting in the fishbowl who finds they no longer have anything they really want to say, should consider giving up their place.

In conversation

Steven List

Steven ListSteven "Doc" List - available in conversation corner. This is your chance to talk to selected conference speakers and raise all the burning questions you have following their presentations. Do you have feedback, positive or negative? Take this opportunity to share your ideas in a relaxed, informal chat.

In conversation

Thomas Nilsson and Humayun Rashid and Rik Arends

Humayun RashidRik ArendsThomas NilssonThomas Nilsson, Lieke Arends, Rik Arends and Humayun Rashid - available in conversation corner. This is your chance to talk to selected conference speakers and raise all the burning questions you have following their presentations. Do you have feedback, positive or negative? Take this opportunity to share your ideas in a relaxed, informal chat.

Introduktion till Silverlight4

Dag König

Dag KönigDen här presentationen går igenom de nyheter som finns i Silverlight 4, såsom: Webkamera- och mikrofonstöd, utskriftsstöd, högerklick, ICommand, Elevated Trust och mycket annat.

Tracks Wednesday - March 17

Keynote

How you can manage new organizations in the old way?

Diana Larsen

Diana LarsenIn Agile work environments smart people work in teams to self-organize their work and produce higher quality results faster and more reliably. Management’s traditional focus on closely monitoring, supervising, controlling, and tracking individuals and their work no longer serves business needs as it once did. However, going “Agile” doesn’t eliminate the role of management. In new organizations, managers shift their focus from controlling work to facilitating the flow of value to customers. In this keynote, Diana Larsen will survey ways managers can build on past experiences and current strengths to meet the challenge of leading new organizations.

.NET

F# for Parallel and Asynchronous Computing

Don Syme

Don SymeConcurrency is increasingly important for many applications, and the shift to manycore brings abundant parallelism to the desktop. The web, Silverlight and distributed systems increase the demand for asynchronous solutions. F# is a succinct and expressive typed functional programming language for the .NET platform that makes major contributions to productivity in parallel and asynchronous programming, making these both fun and easy. This talk will quickly review the core concepts of the F# language, and show how ideas like immutability, functional design, async workflows and agents can be used to meet the challenges of today’s real world applications. Microsoft will be supporting F# as a first class language in Visual Studio 2010 and we'll take a look at what you need to know to start being productive with F#.

Patterns for Parallel Programming

Tiberiu Covaci

Tiberiu CovaciEvery five to ten years the world of computer programming is facing now a new paradigm shift, like GUI, object orientation, or generics. Right now we are facing a new paradigm shift, the multi-core one. Successful research in this area has been done for the past 30 years, but we are still not using the results efficiently. A pattern is a working solution to a recurring problem, and parallel/multi-core programming has its own problems which led to a set of patterns. Come to this interactive session to learn about the existing patterns in the area of parallel/multi-core programming and how they can be used..

Design For Testability

Magnus Härlin

Magnus HärlinWhen designing maintainable software a common goal is to strive for low coupling and high cohesion. This will also give a more testable design. In this session some of the steps towards those goals will be covered. We'll look closer at Inversion Of Control and Separation Of Concerns. How to take advantage of the patterns used to be able to test each component on its own by removing the external dependencies when testing. The end goal of testability is to create rapid feedback cycles in your development process in order to find and eliminate flaws in your code.

Entity Framework + Domain-Driven Design = true?

Jimmy Nilsson

Jimmy NilssonThe interest for Domain–Driven Design (DDD) is growing rapidly in .NET land (especially regarding the basic building blocks for a start). One reason for that is that Entity Framework (EF) seems to become more DDD-friendly in upcoming releases. In this presentation we will have a closer look at how EF fits with DDD and lots of ideas will be discussed of how to deal with different situations.

Guiding Principles for an ASP.NET MVC Application

Scott Allen

Scott AllenAlthough the release of the ASP.NET MVC is still relatively new, many of the patterns and principles surrounding the framework have been around for a long time. In this session, I want to demonstrate the principles you should follow when working with the MVC framework. These principles are not rules, but ideals and values you should cherish and keep in the forefront of your mind when building MVC applications that need to survive and evolve beyond a single release. We'll talk about separation of concerns, look at trouble free controllers, and see how to keep views plain and simple.

Java

TBA

Eugene Ciurana

Eugene Ciurana

Google App Engine Java Applications HOWTO

Andrew Lombardi

Andrew LombardiGoogle App Engine for Java is the most recent contestant in the war for the low-cost, high-availability cloud computing environments. This presentation introduces the technology and its operational model, how it’s alike and how it differs from running Java apps in traditional app server environments, and what kinds of things developers and app designers will need to plan, build, deploy, and maintain Java applications that will run on Google’s App Engine infrastructure. What will be covered In this session you will learn how to develop applications for the Google App Engine ecosystem. It will include an overview of the App Engine environment for Java and Python, then shift focus to Java-specific development and the differences, advantages, and features.

Modular Web Applications with OSGi

Andy Wilkinson

Andy WilkinsonEnterprise Java development is being revolutionised by the use of OSGi. The improved support for building modular applications, and the ability to dynamically add, remove, and replace functionality at runtime is presenting fresh opportunities and challenges to developers. In this session we will look at the current state-of-the-art for modular Web applications with OSGi and in a series of live demonstrations, show that truly modular Web applications are now a reality. Attendees should have an understanding of OSGi basics and be familiar with Java Servlets.

Do you really get class loaders?

Jevgeni Kabanov

Jevgeni KabanovClass loaders are at the core of the Java language. Java EE containers, OSGi, NetBeans modules, Tapestry 5, Grails and many others use class loaders heavily. Yet when something goes wrong, would you know how to solve it? In this session we'll take a tour of the Java class loading mechanism, both from JVM and developer point of view. We'll see how different delegation systems are built, how synchronization works, what is the difference between finding classes and resources, what wrong assumptions has been made and are now supported. Next we will look at typical problems that you get with class loading and how to solve them. ClassNoDefError, IncompatibleClassChangeError, LinkageError and many others are symptoms of specific things going wrong that you can usually find and fix. For each problem we'll go through a hands on demo with a corresponding solution. Finally we'll take a look at the complicated class loading mechanisms like the ones used in OSGi and Tapestry 5. We'll look in detail at the benefits they have and problems they might cause.

JavaFX Designer - Developer Workflow

Martin Gunnarsson and Pär Sikö

Pär SiköMartin GunnarssonMany JavaFX presentations focus on what the code looks like and how the language works, but they rarely show how to actually get started. JavaFX is said to be both designer and developer friendly but how do you get the designers involved? In this presentation we'll show what a typical JavaFX workflow may look like, starting with a fresh installation of the JavaFX Production Suite and Adbobe Photoshop, and going all the way to a complete application.

Building software using Rich Clients Platforms (Eclipse RCP/NetBeans RCP)

Rikard Thulin

Rikard ThulinIn this talk, I will discuss the fundamental ideas and technologies behind the two leading Rich Client Platform, Netbeans RCP and Eclipse RCP. Building a user interface that is non trivial requires a lot of UI pluming. Using a RCP enables you to focus on implementing real business value. Real world experience and conclusions will be presented as well. When walking out of this session you will know when to use a RCP and be able to select between Netbeans RCP and Eclipse RCP based on your requirements.

Modular Web Applications with OSGi

Ben Hale

Ben HaleEnterprise Java development is being revolutionised by the use of OSGi. The improved support for building modular applications, and the ability to dynamically add, remove, and replace functionality at runtime is presenting fresh opportunities and challenges to developers. In this session we will look at the current state-of-the-art for modular Web applications with OSGi and in a series of live demonstrations, show that truly modular Web applications are now a reality. Attendees should have an understanding of OSGi basics and be familiar with Java Servlets.

WEB

BDD in Web Development

Thomas Lundström

Thomas LundströmBehavior-Driven Development describes a methodology in which all stakeholders of a software development project may come together and specify the product’s behavior. In this talk, I will show the audience how a team would go about to build features on the web with support from BDD and open sourced web test automation tools, namely Cucumber and Webrat. I will keep the talk demo-heavy to let the audience feel the power and ease of BDD. The intended audience is developers, architects and testers who wish to find better ways to specify and test web applications.

Ajax Library Smack down: Prototype vs. jQuery

Nathaniel Schutta

Nathaniel SchuttaAjax is everywhere, from the local newspaper to sites that the CEO surfs. Contrary to popular belief, it isn't rocket science, especially with the right library. In this talk, we'll explore the popular Prototype and jQuery libraries showing how they can simplify typical Ajax techniques and make JavaScript easier to work with. We'll look at how each library wraps the XHR object, smoothes out events, and how they each make use of the humble $.

Making Web Apps Suck Less

Nathaniel Schutta

Nathaniel SchuttaWe've all used web applications that had us screaming at their creators - unfortunately sometimes we're the ones being cursed. Believe it or not, there are some simple steps we can take to ensure that our users have a great experience. We'll talk about the role of testing, easy ways to make a web site perform as well as where Ajax can help give a richer experience.

Ajax.org HTML5 and Developing collaborative applications in the cloud.

Rik Arends

Rik ArendsThe new wave of Collaborative have a huge domain of possible UX and scalability requirements. How can developer tooling support exploring the world of collaborative UX effectively? What value can an integrated developer environment in the cloud have for you? How can we push the browser platform to explore new ways of interacting with the user and the outside world? In this talk we will try to answer these questions and look at some of the projects we are doing at ajax.org to push these boundaries.

Real-time 3D Ajax Charts Across All Browsers

Rik Arends

Rik ArendsOne of the most significant limitations of Web browsers as an application platform is the difficulty in rendering and displaying graphics in real time, especially across different browsers. For the Ajax.org charting engine Rik has developed a way to render 3D vector graphics, across different Web browsers. With flash being absent, this approach is also currently the only route for realtime web-charts on the iPhone and iPad, and it even runs fast in Internet Explorer. This session covers development methods on achieving this level of performance and how to leverage the technology in applications. We unveil several remarkable performance differences between browsers and their versions and look at the future of high performance Javascript driven graphics. All ajax.org technology is available under LGPL opensource license.

Testing

I think I finally understand MOCKS

Brian Marick

Brian MarickTo my lasting embarrassment, I reviewed the very first paper on mock objects, "Endo-Testing: Unit Testing with Mock Objects" (Mackinnon, Freeman, Craig), and completely missed the point. Like many people since, I mistook mocks for stubs. That confusion was quickly cleared up–and yet, as I came to hear more about what’s sometimes called the “London School” of test-driven design, particularly as represented by Nat Pryce and Steve Freeman2, I remained puzzled by the consequences of mocking. Representatives of the school described it as placing the emphasis on defining the interactions between objects, rather than on defining classes. It was easy to accept that intellectually, but I didn’t understand what it meant for program design or the act of programming. Now I do, I think, and I think I’ve hit upon an interestingly odd way to explain it: 1. In the early days, what we now call test-driven design (TDD) was known as test-first programming. The name changed after practitioners realized how to create tests that (a) ran fast and (b) didn’t break wholesale when the underlying code changed. They did it by building programs that had properties we knew all along were important: high cohesion and low coupling. But until TDD, the short-term cost of those properties kept us from enjoying their long-term benefits. TDD made them–and good design in general–matter to us right now because we care about ease of work. So we did what we should have done all along. 2. Mocks make programming even easier, especially when programming is done in “sashimi”3 or “tracer bullet”4 style, where classes are changed or modified in the order that user input would encounter them. 3. More importantly, programmers using mocks have more control over the pacing or cadence of their work. Working with mocks leads to a steadier pace than ordinary TDD. 4. The desire to control pace produces designs even more uncoupled and cohesive. In the talk, I’ll explain my claims in more detail, using examples from a web application I’m writing in Ruby and Objective-J5. I’ll also discuss the weaknesses of mocks (mainly expectation mismatches) and how they can be handled.

Two helpful TDD thought patterns - A Russian Doll - Full of Clockworks

Erik Lundh

Erik LundhAnother take on Inside-Out/Outside-In thinking in test-driven development. Two simple, connected thought patterns, with examples, that helps you avoid serious but all too common mental pitfalls of different takes on test-driven development like TDD, BDD, ADD. Too often both beginners and seasoned TDD-ers skip all the tests for the hard part of a piece of code. We find that the hard The Russian Doll pattern helps us think in clean onion layers of tests. We learn to recognize a Clockwork and switch design space to TDD its gears, not just the interface, thus saving a lot of debugging.

Making GUI testing productive and agile

Geoff Bache

Geoff BacheAutomated testing via the GUI has got itself a bad reputation - and with good reason. It is associated with bloated, expensive tools, horrible proprietary languages and maintenance nightmares. The prevailing wisdom has become that the best thing to do is to minimize testing through the GUI and instead go directly into the code via an API. But does it have to be like that? The heart of the problem is one of coupling. Tests that go through the GUI end up too tightly coupled to it, and hence break when it changes. What if we had an abstraction layer in between, a "GUI interpreter" that mapped the possible actions in the current GUI to carefully chosen domain-language statements? We could have high-level, readable tests that describe user intentions rather than GUI mechanics. PyUseCase is a tool that enables you to work in exactly this way. I've been using it for several years to testing rich client applications written with Python and GTK (similar tools exist for Java and .Net). In this talk I hope to demonstrate how productive this approach to GUI testing can be.

Introducing Exploratory Testing into the organization

Johan Jonasson

Johan JonassonTraditional testing methods teach us that explicit and testable requirements need to be developed and formalized in order for testers to design relevant test scripts or test cases. These scripts must be written in such a way that even a tester with limited or no experience from working with the system under test will be able to execute the scripts in an exact and repeatable manner to ensure that we test the same every time. Exploratory Testing, as coined by Cem Kaner in the early 1990s, is an approach that complements traditional scripted testing. It encourages and emphasizes simultaneous learning, test design and test execution. Its strength lies in empowering testers to ask themselves, what is the best test I can perform next, without being limited to a prewritten script or set of rules for their testing. This talk gives an overview of Exploratory Testing and how it can be structured for traceability and credibility without losing out on the creativity and freedom of the approach. It will also present experiences from a real world introduction of the concept and discuss the positive impact that adding Exploratory Testing can have on the overall quality of testing in a heavily scripted test organization.

Exekverbara krav med Nbehave

Morgan Persson

Morgan PerssonNbehave är ett av många BDD ramverk inom .net. Nbehave försöker främja kommunikation mellan kravställare, utvecklare och testare. Denna session kommer att ge dig en introduktion till BDD och demonstrera funktioner i Nbehave.

Development Process & Methodology

Lean Software Development och Scrum i symbios

Rickard Eriksson

Rickard ErikssonAtt jobba agilt för att ta fram ett stöd för verksamhetens behov samtidigt som man skapar förtroende, förutsägbarhet och kvalitet kräver att man hittar rätt avvägning mellan struktur och lättrörlighet. Ta del av hur Elicit och Specialfastigheter samarbetade för att på sex månader gå från behov till ett fullt integrerat och produktionssatt inköpssystem. - Agila metoder och verktyg för att definiera kundvärde och hålla kundfokus i leveranserna – så fungerar det i praktiken. - Använd Lean-metoder på ett plan och Scrum på ett annat – förtroende, effektivitet och leveransprecision. - Se helheten. Det enskilda projektets förhållande till andra projekt, drift, förändringsbehov, avvikelsehantering m.m. – principer för att få ut bästa effekt av ITIL.

Individuals and interactions, how hard can it be?

Marcus Widerberg and Chris Hedgate

Chris HedgateMarcus Widerberg"I know you believe you understand what you thought I said, but I'm not sure you realize that what you heard is not what I meant." - Unknown author The first value in the agile manifesto is 'Individuals and interactions over processes and tools'. While this is easy to agree with, interactions between individuals are all too often frustratingly ineffective. There are many opportunities for a thought to get corrupted on it's path from deep inside your mind, going through your mouth into my ears and finally arriving in my mind. Based on my understanding of what you meant I respond with something completely different from what you were expecting to hear. We can avoid these problems by increasing our awareness and knowledge of what happens in a discussion. In this session you will participate in a hands-on exercise where we will break down an interaction into small steps. We will hear, see and feel what happens both on the inside and outside of two individuals during an interaction. By participating you will improve your own interactions, and you will also be better equipped to lead your team through effective discussions.

Flow where you can, pull where you must - a practitioners guide to Kanban

Joakim Sundén

Joakim SundénKanban is a software development methodology that implements the pull and flow elements of lean thinking. It’s an alternative to agile methods such as Scrum when you want to change the culture of an organisation in a lean/agile direction, or when the nature of work does not suit time-boxed iterations, e.g., maintenance. But it is also a tool that can enhance other methodologies through visualisation of the workflow to highlight problems, limiting work in progress to eliminate waste etc. I introduce Kanban from a practitioners point of view which let you get started with Kanban right away, regardless of what methodology you use today.

Creating a Climate for Project Team Success.

Diana Larsen

Diana LarsenWork climate influences team and individual productivity, performance and commitment. Create a climate that stimulates success by providing seven conditions teams need to reach (or exceed) their potential.

Seven Years Later: What the Agile Manifesto Left Out

Brian Marick

Brian MarickAlthough the Agile Manifesto has helped many organizations change how they build software, the agile movement now suffers from backsliding, overselling, and a resulting backlash. Brian Marick believes that is partly because the manifesto is focused outwardly; it tells the business how the development team will work with it. What it does not talk about is how the team must work within itself and with the code. Watch Brian’s presentation to find out whether you're really doing agile or if you are agile in name only.

The A-Team as agile pioneers

Nick Oostvogels

Nick OostvogelsWho doesn’t like the A-team? This popular TV show of the eighties is built around a team of 4 highly skilled individuals, each with their unique strengths and skills. Together they manage to solve the most challenging ordeals. During this session, we will compare them with the different roles in an agile development team and try to gain more insight in team collaboration and responsibilities.

Tips for creating a self-organizing team

Yves Hanoulle

Yves HanoulleIn the agile world we keep talking about self-organizing teams. There is also the idea that self-organizing teams are self-created. In this presentation I show my ideas on how you can actually help a team to become self-organizing. Objective(s) of the session: I want participants understand after this session how they can help a team to become self-organizing. Contents: I will share ideas on creating self-organizing teams that I have gathered over the years out of multiple trainings, leadership books and experience. Theory from:  The core protocols  Teamwork is an individual Skill (Christophe Avery)  The Seven habits of effective people (Covey)  Situational Leadership  Bruce Tuckman  Virginia Satir  x-teams (Deborah Ancona +Hendrik Bresman)  Leading Geeks (Paul Glenn)  Organization Consulting A gestalt approach (Edwin Nevis)\

Kanban – Vägen till struktur i det oförutsägbara

Anna Herting

Anna HertingMed målet att få ett flyt i arbetet och att ständigt förbättra våra arbetssätt använde vi Scrum i vårt förvaltningsteam. Det kontinuerliga inflödet av supportärenden omöjliggjorde dock en strikt planering av allt arbete i sprintar.

Gradvis har vi istället infört Kanban i teamet. Detta har inom företaget väckt andras intresse och andra team, med helt skilda arbetsuppgifter, har följt efter.

Införandet av Kanban har varit en väg med en del svårigheter och det är ett arbete som aldrig blir färdigt. Ständig anpassning och förbättring är del i arbetet, men alla teamen har också kommit närmre det strukturerade flöde vi söker efter.

Kanban and Scrum - making the most of both

Henrik Kniberg

Henrik KnibergThere's a lot of buzz on Kanban right now in the agile software development community. Since Scrum has become quite mainstream now, a common question is "so what is Kanban, and how does it compare to Scrum?" Let's clear up the fog. What are these things? Where do they complement each other? Are there any potential conflicts? The purpose of this session is to clarify Kanban and Scrum by comparing them, so you can figure out how these may come to use in your environment.

Experience of years agile coaching

Jimmy Nilsson

Jimmy NilssonLots of big enterprises all over the world are getting started with lean, agile, agile practices, and so on. They therefore take help from agile coaches to make the transition effective. factor10 has been providing such services for some years and in this presentation I have gathered common traps, lessons learned, and success stories from our own projects. The presentation ends with a discussion of what has proven to really help a lot. What it is might come as a suprise.

Emerging Technologies/Cloud Computing

Let it crash: using Actors for fault-tolerance, scalability and concurrency

Jonas Bonér

Jonas BonérThings will go wrong. Regardless how much you plan, design and test. Failure is imminent. It is a natural (although unappreciated) state in the life-cycle of software applications. Implementation of truly fault-tolerant and highly available applications requires a different way of thinking. Instead of trying your best prevent failure; embrace it and manage it. These ideas are not new. They have recently been popularized by the Erlang language they have been used in for example the telecom industry to build systems that never stop, with availability up to 9 nines (99.9999999).

In this session we will show you how to write applications using Actors. How Actors can be used to not only scale out the application on multi-core and multiple nodes, but also to write systems that never stop, systems that self-heal.

It will be a practical session with a lot of examples and we'll introduce you to a framework supporting this style of writing applications on the JVM called Akka Transactors (which has both a Java and a Scala API). Akka not only supports Actors but also Software Transactional Memory (STM) which together gives you transactional actors, so-called Transactors; making Actors even more versatile and powerful.

Distributed Version Control Systems

Marcus Ahnve

Marcus AhnveDistributed Version Control Systems (DVCS) such as Git, Mercurial and Bazaar has had a major breakthrough the last two years, especially within the open source community. Several large projects like the Linux kernel, Ubuntu, Open Solaris and Ruby on Rails use a DVCS. What is the advantages of an DVCS, what are the differences between a DVCS and traditional VCS's and are there advantages using them outside the open source world? The talk demonstrates how the most common DVCS's work, the differences between them and how to use them effectively.

Ruby for C#-ers

Thomas Lundström

Thomas LundströmMicrosoft is about to release a 1.0 version of IronRuby, which makes the Ruby language more and more interesting for .NET developers. This is a presentation on how Ruby works, for those who mainly have been in C# and VB land. I'll show an introduction in Ruby, similarities and differences between the philosophy in Ruby and C# code and how to do interop between Ruby and already existing C# code. The main audience is developers and architects who have been using C# the last couple of years and above.

Making data look good using Java, JavaFX and Groovy

Pär Sikö and Martin Gunnarsson

Martin GunnarssonPär SiköEvery day weʼre surrounded by vast amounts of data, potentially interesting numbers that usually just sit in log files, databases and within embedded systems. In this presentation, weʼll show how you can bring this data out into the daylight, making it look better than ever. The star of the show is Knut, a very user friendly open source application written in Java and JavaFX, that can be used to create fancy displays for data from almost any source. Weʼll show how Knut works, how we built the application, and share valuable lessons from the development process.

Managing Grails with JMX

Tim Berglund

Tim BerglundGrails has enabled your team to achieve productivity levels you never knew possible for web applications on the JVM. Now that you’re deploying real applications inside your enterprise, you’d better equip them with the kind of production-class monitoring and control capabilities that will endear you to the operations team like never before. Learn how to instrument key Grails configuration data structures with JMX, and control and monitor other parts of your Grails app with this standard Enterprise Java technology. See who’s logged in and what the database connection pool is doing. Dynamically change parameters in Config.groovy. Trend response times and gather stats on key integration points. Take control of your Grails app!

Agile in the organisation

Taylorism and Mass Production - Why The Software Factory Fails

Marcus Ahnve

Marcus Ahnve* Why do we separate development from maintenance and operations? * Why do system architects chose frameworks and write UML diagrams but do not write any code? * Why do we measure how many lines of code a developer writes? The theories of Frederick Taylor and those that followed them still today sets the norm for how organizations are managed. What we see as normal and common ways to organize work have their historical roots in early 1900's steel mills. These practices make agile adoption difficult, hinders empirical processes and self organizing teams. The talk provides an explanation to why IT-organizations are managed like factories, why these fail, and how to start the change into a succesful agile organization.

Drinking from the source - A report from a lean enthusiast’s pilgrimage to Toyota

Joakim Sundén

Joakim SundénWe learned lean manufacturing from Toyota decades ago and later applied the principles to a variety of different industries, e.g., software development. Today Toyota has its own automotive software department. Could we learn something from studying the way Toyota develops software? Or from other Japanese companies that picked up TPS and lean early on? These and other questions led me and a group of other lean enthusiasts to go on a ‘pilgrimage’ to Toyota and other lean companies in Japan, guided by the Poppendiecks, to drink directly from the source. This seminar is a report from that journey and contains some shocking truths about the birthplace of lean

Systemic Software Development for Agile Teams

Andrea Provaglio

Andrea ProvaglioWe know that the success of a software development project (delivered on time, on budget, with the most valuable features for the users and without major defects), plus the short-term and long-term quality of the technical artifacts, are hardly just a technical matter. Instead, it’s the way all the people involved in the project – inside and outside the team – are able to communicate and collaborate that makes the difference. After all, software is created by people for the people. In a systemic approach, all the individuals inside and outside the team are interconnected by a web of relations and are part or the same system, that has its own history, structure, dynamics and rules for being healthy. Understanding how the system works as a whole and how individuals interact according to those rules is therefore essential to build effective and efficient teams. In this session we’ll consider organizations and teams from a systemic perspective; we’ll talk about leadership and guidance as a fundamental cohesive force, about how guidance may become dysfunctional, about what happens when it does and which countermeasures can be taken; we’ll proceed with discussing the systemic characteristics of most popular Agile and Lean methods, and with applying this understanding to choose the method that may better suit a given team and/or project. In brief, we’ll learn how incorporating organizational systemic, guidance, collaboration and communication in an industrial software development process may turn out to be a critical success factor.

Checklist for the Agile Manager

Jurgen Appelo

Jurgen AppeloAgile management is an often overlooked part of Agile. There are many books for agile developers, but very few for agile managers and leaders. However, when organizations adopt agile software development, not only developers and project managers need to learn new practices. Development managers and team leaders must also learn a different approach to leading and managing organizations.

Surveys and polls have proved that management is the biggest obstacle in transitions to Agile. Every person who aims to be a manager someday needs to learn what the manager’s new role is in software development organizations. This presentation will help them.

Product Owner – a Collaborative Role

Arne Åhlander

Arne ÅhlanderIn many Agile methods the Product Owner role is mentioned. The main responsibilities of Product Owners is to create and maintain a Product Backlog, a prioritized list of functional requirements.

In this seminar you will learn how to work successfully as a Product Owner for an Agile team. Especially the collaborative part of being a Product Owner is covered.

Success criteria as well as pitfalls will be covered.

G Forces in the Organization

Kent Beck

Kent BeckSoftware G Forces describes what happens when software development goes from deploying annually to quarterly to monthly to weekly to daily to hourly. While the "tidal" forces these shifts profoundly reshape software development, the changes required of the organization are even greater. This talk will introduce the G Forces model and discuss the organizational impact of making more frequent deployments on business models, sales, and marketing as well as software development.

Conversation Corner

Do agile teams need a coach or a leader or a manager?

Emily Bache

Emily BacheThis is one of several scheduled "fishbowl" discussions, which aim to get the conversation going in this corner of the conference. This particular fishbowl will initially contain Diana Larsen, Jimmy Nilsson and Jurgen Appelo. The idea is that you have 5 chairs, you may only speak when you sit on a chair, and one must be empty at all times. If someone sits on the last chair, someone else must get up. The chairs are initially occupied by two or three of the conference speakers, to get the discussion going. Other conference participants are encouraged to join in by sitting on an empty chair. Anyone sitting in the fishbowl who finds they no longer have anything they really want to say, should consider giving up their place.

Which agile method is best for my project?

Emily Bache

Emily BacheThis is one of several scheduled "fishbowl" discussions, which aim to get the conversation going in this corner of the conference. This particular fishbowl will initially contain Henrik Kniberg and Erik Lundh. The idea is that you have 5 chairs, you may only speak when you sit on a chair, and one must be empty at all times. If someone sits on the last chair, someone else must get up. The chairs are initially occupied by two or three of the conference speakers, to get the discussion going. Other conference participants are encouraged to join in by sitting on an empty chair. Anyone sitting in the fishbowl who finds they no longer have anything they really want to say, should consider giving up their place.

In Conversation

Magnus Härlin

Magnus HärlinMagnus Harlin - available in conversation corner. This is your chance to talk to selected conference speakers and raise all the burning questions you have following their presentations. Do you have feedback, positive or negative? Take this opportunity to share your ideas in a relaxed, informal chat.
Scandinavian Developer Conference is organized by
Visit us at www.iptor.com