by John-Henry Harris
This talk will provide a unique insight into the core design processes applied by the Creator team at LEGO. John-Henry will cover all steps along the way, from concept generation to product verification, testing and sign-off. He will show you how real design thinking can influence not only product features, but also how your ideas could be perceived on a global scale. There is more to being a LEGO designer than meets the eye, and this presentation could change the way you think about your stash of bricks forever. It will appeal to anyone who has an interest in creative design, logical building, or just wants to be an 8 year old for half an hour!
Keywords: LEGO, Design, Process, Innovation, Global Design, Creative, Fun, Toys, Systematic Creativity, Logic, Insight, imagination, Play, Reasoning
Target Audience: Anyone with an interest in understanding or learning how systematic creativity, imagination and design thinking can really help in any software development process. Also anyone who is curious about the LEGO Design Process, its core design principles, or who just want to see some cool LEGO models!
We're seeing too many pitiful implementations of Scrum. Cases where Scrum is viewed as a set of simple practices, which are imposed on the development team. Without any connection to the business and no urge to serve customers early and continuously through valuable software. By playing a game 'live on stage' and explaining how to use Lean's pull system, we're making a point to use Scrum with more guts, more fun, more impact and more results! When time allows we'll show a very successful large scale Scrum implementation in the Netherlands.
Keywords: Scrum, Lean, Fun, Game, Agile, Results
Target audience: All Managers, their managers and everyone reporting to managers.
Inspired by Patrick Debois' presentation last year on DevOps we decided that, as developers, we could put on our Ops hats so that we could keep our server configurations DRY (Don't Repeat Yourself).
In the last year we have used both puppet and chef, two relatively new configuration management tools. Together we've set up a server and some development virtual machines using Vagrant and Puppet for a startup. Vagrant makes it easy to create virtual machines from chef/ puppet scripts and destroy them at will. Willem is also using Chef to create a deployment pipeline at the Dutch national archive.
While doing this, we learnt that each time we logged in to our servers, we were building up technical dept for our configuration management. Hence 'Server login considered harmful'. We use Vagrant to keep ourselves honest: as long as we can't recreate a server completely from our scripts, we are not done.
Come to this presentation to learn from our DevOps mistakes and successes, see if you can benefit from the tools we use, and if you also have experience, there is room to exchange ideas.
by Anton Keks
Nowadays Java is clearly the most popular programming language for building of complex enterprise systems. Unfortunately, quite quickly these systems tend to become huge, overly complicated and tremendously difficult to maintain while doing very little. This leads people to seek for alternate programming languages and technologies, but the problem is not so much in the language itself, but in the architecture and design that is frequently applied to Java-based systems. Should we try to fix our thinking first? I'll show a way to do it.
Keywords: Java, simplicity, design, architecture, craftsmanship
Target Audience: developers and architects
by Peter Hilton
The Play framework has brought high-productivity web development to Java with three innovations that changed the rules on Java EE: Java class and template save-and-reload that just works, a simplified stateless architecture that enables cloud deployment, and superior ease-of-use. Following Play's rapidly-growing popularity, Play 2.0 will be released in early 2012 with innovations that are not just new in the Java world: type safe view templates and HTTP routing, compile-time checking for static resources, and native support for both Java and Scala.
Type safety matters. After dynamically-typed programming languages such as PHP and Ruby set the standard for high-productivity web development, Play built on their advantages and has created a type safe web development framework with extensive compile-time checking. This is essential for applications that will scale to tens of thousands of lines of code, with hundreds of view templates. Meanwhile, Play avoids the architectural-complexity that is promoted by Java EE-based approaches. The result is that Play 2.0 first enables rapid initial application development and then Play 2.0 helps you build big, serious and scalable web applications.
Keywords: Scala, Java, web
Target Audience: Developers who build web applications
We all have that Eureka moment when we build a product or feature that is wildly successful. The next challenge however, is to scale it - and very quickly. In this talk we will cover the basic traps of scaling using the current infrastructure stack and how technologies like MongoDB, the leader in the NoSQL market, can be used to scale on-demand your data persistence and caching layer.
by Andy Gross
Many technology case studies are predictably simple – covering problems, solutions and the benefits received by the user. However, the rose-colored lens of marketing departments all too often glosses over the actual hard work and tough decisions needed to get to the desired result. This session intends to take a deeper look at some popular use cases around Riak – delving deeper into the configurations and the trade-offs made by the users. Attendees of this session will come away with a greater understanding of the flexibility of Riak, as well as how Riak solves serious data problems in interesting ways, and learn where Riak might not be the best fit.
by Trisha Gee
The Disruptor is an open source concurrent programming framework developed by LMAX, a financial exchange based in London. While it is currently fashionable to talk about using languages or frameworks to hide away concurrent programming, the Disruptor provides a way to do quite the opposite - to enable developers to think about how to parallelise their architecture in a straightforward and easy to code fashion. In this presentation, Trisha Gee from LMAX will show examples of how to use the Disruptor to share data between threads, proving that concurrent programming doesn't always have to be complicated.
Keywords: Java, concurrency, performance, design
Target Audience: developers
by Zef Hemel
Keywords: static analysis, parsing, DSL
Target Audience: developers
Couchbase Server is a simple, fast, elastic documented oriented database. It is simple by making it easy to develop apps where application logic is mapped to data storage through a natural, document oriented approach. It is simple to monitor and manage in production as well, and elastically allows administrators to add and remove resources to a cluster at any time, without interrupting application processing. Couchbase Server's speed comes from its actively managed cache, compatible with (and builtupon) memcached. Indexing, analytics and other advanced ways of managing and managing the data in a Couchbase cluster are easily available through the definition of Couchbase views. These are built upon flexible, incremental map-reduce functions defined for a given database.
Couchbase co-founder J.Chris Anderson will give session attendees a hands-on tour of a Couchbase Server cluster. Following this, J.Chris will show how this comes together with common programming languages. Attendees of the session will learn how they can apply Couchbase Server and its fast, scaleable approach to managing the data behind interactive web apps.
by Mark Rendle
In this talk, we'll look at where the Windows Azure platform is at and where it's going. If you thought Azure was just a platform for ASP.NET and SQL Server applications, prepare to be pleasantly surprised. I'll share some examples of projects where I’ve used alternative .NET technologies, the first-class support for Node.js (which includes a full SDK for working with the Azure platform services), and NoSQL solutions like MongoDB and RavenDB. And hopefully some of the über-cool things that are under NDA as I write this abstract will have been made public, so we can talk about those too! Seriously, there's some awesome stuff coming.
Keywords: azure, cloud, node.js, ravendb, mongodb
Target Audience: developers, architects
The new generation of cloud platforms are a great way to host your Java web applications: simple deployment and easy management. But what are they like with a real application? Find out what was involved in migrating the web application behind grails.org to Cloud Foundry.
This talk covers the techniques required for data migration, caching, file uploads and more. It also highlights the impact that the cloud has on your application design and how you might need to adjust your thinking.
Keywords: cloud, clustering, web applications
Target Audience: Intermediate to expert Java developers of server-side applications
by Sjoerd Mulder
HTML5 has many new features. These include the new "video" and "audio" elements, as well as the integration of SVG (Scalable Vector Graphics) content that can replace the use of generic "object" tags. These features are designed to make it easy to include and handle multimedia and graphical content using open standards on the web without having to resort to proprietary plugins and APIs.
The presentation will show how the existing Windows-only desktop application which requires redistribution for each new exam is replaced with a web-based application. And by replacing this application with a modern browser instantly providing access to all platforms (Windows, Mac and Linux) while maintaining and furthermore improving the same user experience.
In this presentation we will show you that the browser has become a serious platform. Maybe the only platform for applications in the future?
Target Audience: developers, architects
by Wanda Marginean
Is your business strategy and development aligned?
It’s a simple question that stumps even the highest performing organizations. When development teams adopt Agile, the business still needs answers to simple questions about delivery dates, return on investment and cost. When the business doesn’t clearly rank program and investment priorities, development doesn’t have the opportunity to optimize their work beyond the sprint and release level.
Wanda will explain and show how to use Agile and Lean principles to address the realities of the PMO, maintain a healthy portfolio of projects, increase investment visibility and create alignment between development and business strategy.
Keywords: Agile, Lean, portfolio management, visibility, strategy and execution, roadmap, planning, Rally
Target Audience: executives, portfolio managers, project managers, product owners, team leads
by Ian Robinson
Doctor Who is the world’s longest running science-fiction TV series. Battling daleks, cybermen and sontarans, and always accompanied by his trusted human companions, the last Timelord has saved earth from destruction more times than you’ve failed the build.
Neo4j is the world’s leading open source graph database. Designed to interrogate densely connected data with lightning speed, it lets you traverse millions of nodes in a fraction of the time it takes to run a multi-join SQL query. When these two meet, the result is an entertaining introduction to the complex history of a complex hero, and a rapid survey of the elegant APIs of a delightfully simple graph database.
Armed only with a data store packed full of geeky Doctor Who facts, by the end of this session we’ll have you tracking down pieces of memorabilia from a show that, like the graph theory behind Neo4j, is older than Codd's relational model.
by Jan Machacek
Jan will show where, how and why we have used Scala to implement portions of typical Java EE applications. Discover what Scala promises to deliver and what the reality really is. Jan will discuss the journey Cake Solutions took over the last 2 years in using Scala in their Spring-based Java EE projects. Find out where Scala fits in your Java EE applications--from embedded DSLs, through the ordinary Java EE components implemented in Scala, through BDD-style testing approaches. Jan's talk will not show Scala in rose-tinted glasses; he will show the problems he and his team has encountered in adopting it, but he will also highlight the exceptional benefits you will gain from it.
After the talk, you will have heard the "war stories" of adopting Scala in experienced Java EE team. You will then be able to decide whether Scala is right for you, your teams and your applications.
Audience: this is more of an overview talk, not getting into the intricate details of Scala syntax or features, but a [hopefully] well reasoned argument for Scala in your Java EE projects. This is suitable to everyone, even without any Scala/Spring/JEE experience.
by Jos Dirksen
REST is slowly becoming the standard way to expose APIs for your application. Whether it's an internally used application or a high-available cloud based service, REST APIs are often the way to go. There are many frameworks out there that help you in building REST APIs: Rails, Play, JAX-RS etc. But, by just exposing your resources using the standard HTTP verbs, you aren't there yet. Building a great REST API that will be easy to use by your clients, is secure, supports links and can be easily maintained (e.g versioned), is more involved. This session will explain how you can create a easy to use, secure REST API using HATEOAS (Hypermedia as the Engine of Application State), link relations and a HMAC based authentication scheme. This session will show, using a concrete example, how to get your REST API to the next level. This session doesn't show how to implement these schemes with a specific framework, but focusses on how to use and apply these concepts in a practical example and how your clients will interact with your API.
Keywords: REST, HATEOAS, Richardson Maturity Model, HMAC, Architecture, API
Target Audience: Medior, Senior. They should know what the basic idea behind REST is.
There are no two projects alike as there are no two snowflakes alike. It's simple math really when you count all possible permutations of variables in the project's environment. And some are more complex than the others - people is one example. So how do you manage your project when the reality tells you, you can't? Do what nature has been doing for billions(*) of years - let it go and let the perfect system emerge from the chaos.
In this talk we'll take a look at how emergent design and evolution theories go hand in hand with Agile. We will define the functionally complete system for Agile - a universal minimum of principles, ideas, paradigms and tools, which, when you embrace them, will allow you to succeed in any environment. Finally we will learn how to facilitate instead of manage - a subtle change that will allow you to discover new frontiers.
Keywords: Agile, patterns, evolutionary design, hive mind architecture, creativity, motivation, facilitation, technology
Target audience: Agile developers, Agile facilitators, long-running projects members
It's 2012... The proliferation of data your business or organization needs to deal with is mind blowing. As data grows, traditional and modern databases fall short in their data retrieval and analysis capabilities. ElasticSearch was built exactly for that - its a distributable, scalable and extremely fast search engine which leverages the latest advances in open source search technologies to bring you and your data closer. This session will introduce you to ElasticSearch, its ease of use and some of its capabilities.
Keywords: Search, NoSql, Big Data, Cloud, Analytics
Target Audience: Semi to full technical people, from developer to technical directors who encounter the need to access their massive data in the most efficient way. From simple search functionalities to more complex big data analysis (such as Logs analysts).
by Tim Fox
In this talk Tim will be explaining why the growing number of mobile and internet enabled devices demand applications that can efficiently handles 10s if not 100s of thousands of concurrent connections, and how that leads us to an asynchronous programming model.
by Mark Rendle
Zen and the Art of Motorcycle Maintenance is a book about Quality; what it is, where it exists, and how we may try to attain it. In this talk, I will use passages from the book to introduce ideas on how we, as software developers, might try to improve the Quality both of the software we create and of ourselves. I'll talk about what "Quality" means in the context of software, how to measure it, and the importance of close interaction with users at all stages of application development.
Keywords: software, quality, attitude, improvement, zen
Target Audience: developers, designers, architects
We as developers have many biases that often we need to take a step back from in order to gain perspective. This session will deliberately go after many of our sacred cows and show how they are really just us over-optimizing a belief. All of these lead to a single generalized rule and a strategy for how to avoid these situations.
Keywords: IOC, DRY, Patterns, Frameworks, Insanity
Where does it want to go tomorrow? Agile is not the new kid on the block anymore. And Agile has been taken from the dark catacombs of bits and bytes into the brighten daylight of managers and coaches and will hopefully now show its new form. This track will show you how Agile is still working within the scope of software development combining values and principles from different agile methodologies but also how Agile helps entire organizations learning and getting value for money.The session had one message: Using Agile and Lean on an organizational level kicks ass!
Intrinsic motivation is better than extrinsic motivation, because it’s the key to flow, the centre section between burnout and boreout where you are most productive. Flow is what you can achieve by considering three principles, i.e. autonomy, mastery and purpose. You need autonomy to adjust yourself between burnout and boreout to achieve flow. Mastery is the desire to improve yourself, and it’s essential to flow. Purpose is in what direction you should steer when you master stuff. On an organizational level, management innovations should address autonomy, mastery, and purpose. In the session, I gave plenty of examples from Semco, Whole Foods, and my own company, it-agile. Also, I addressed potential resistance when it comes to management innovations, and I made clear that managment innovation is the best kind of the different types of innovation (operational, product, strategic, management innovations).
by George Fairbanks
How hard is it for an architect to be a master-programmer, or a programmer to be a master-architect? One might assume this is easy because both programmers and architects work with the same materials (software) and have the same goal: the design and construction of quality software. In reality, it is quite hard because programmers and architects focus on different aspects of the same software system, aspects that are intricately interconnected. To be a master-builder means understanding programming and architectural aspects separately and being able to reason through the interconnections.
The essential problem is that while we have good descriptions of individual concepts (e.g., encapsulation, design patterns, code indentation style, application frameworks, modules, layers, typing, callbacks, functional programming, quality attributes, domain modeling, code invariants, architectural styles) we lack a clear understanding of how all those concepts fit together and how they interact on real projects.
Until we can relate all these concepts, programmers and architects will only occasionally succeed in being master-builders. This talk presents a conceptual model that relates many of these design concepts and implementation concerns and is a first step towards a clear description of how they all fit together.
Keywords: software architecture, software design, conceptual model
Target Audience: developers, architects
by Bill Dudney
Responsiveness is critical to the success of your iOS app. When someone starts an app they typically need the information right away. The less they have to wait the happier they will be. But, optimizing an app without data is a loosing proposition. To know where to optimize you need to know where the hot spots are.
In this session we will learn how to use Instruments to find and fix performance bottle necks. We'll look at three critical areas:
These three areas of performance analysis and improvement are critical to the success of any app. Come to this session and learn the to make your app fly!
Keywords: iOS, iPad, iPhone, performance
Target Audience: iOS Developers
by Karl Krukow
While there is much to be said about Clojure and it's ecosystem, this talk focuses on Clojure's concurrency model which combines pure functions and persistent data structures with the concept of managed references. We'll discuss managed references, including vars, refs (STM), agents and atoms. We'll also look a bit deeper at the persistent data structures, the "magic sauce" makes this model feasible performance-wise.
HaMIS at Port of Rotterdam is a real life story about an Agile and Scrum introduction, how we deal with architecture and quality and the most important: achieved results. HaMIS is a large project that gradually replaces a large outdated business critical system and prepares Port of Rotterdam for port expansion named: Maasvlakte 2.
Edwin de Werk (agile project manager and coach) and Viktor Grgic (agile architect and developer) will tell you a story about how passionate developers deliver great results and how we solve complex migration problems, take architectural decisions and experiment with new ways of working together and new technologies.
Target Audience: Managers, Projectmanagers, architects and all other roles that are involved in introducing Agile and Scrum in a company.
by Simon Brown
Applying the building metaphor to software doesn't necessarily work, although in medieval times the people that architected buildings were the select few that made into the exclusive society of master-builders. The clue here is in the name and a master-builder really was a master of their craft. Once elevated to this status though, did the master-builder continue to build or was that task left to those less noble? Fast-forward several hundred years and it seems we're asking the same question. Join us as we look at how master-builders fit into our modern world of software development before looking at how my own role has evolved over the years.
Keywords: Software Architecture, Software Development, Process, Java, .NET
Target Audience: Software developers and architects
One month before we went live with the ING Mobile Banking app, the management team told us that we also had to support the iPad. After shouting "can't be done!" a few times, we got some extra developers and went to do it anyway. We did get it done in time but along the way we ran into lots of problems, took a lot of wrong turns, produced some unwieldy legacy code, and generally made life hard for our future selves. This talk will show you what we did right, what we did wrong, and what we did to fix it.
Keywords: iOS, iPhone, iPad, Development, Lessons Learned
Target Audience: Developers familiar with the the basics of the iOS platform who are curious about what it takes to turn an iPhone app into a universal app with iPad-specific features.
24th–25th May 2012