Your current filters are…
by Neal Ford
Agile has matured to the point of mainstream success. Even large companies have discovered that it helps them build better quality software faster. But the agile practices that are mainstream today have been around for a long time. What is the next wave of innovation in the Agile world going to bring?
Agile software development works because of feedback loops, and to make it better (or repair what’s broken), you identify missing feedback loops, or replace broken ones. This talk uncovers two feedback loops missing from most projects. The first uses Behavior Driven Development & Cucumber to incorporate business analysts, testers, subject matter experts, and developers on one platform for requirements definition and verification. The other anaemic feedback loop in many organisations involves the last mile to production: you have error prone, horrific manual releases that everyone hates. Continuous Delivery delivers proven techniques and tools to make “Done” better.
The Windows Communication Foundation (WCF) has had basic support for building HTTP-enabled services since .NET 3.5. But now new & powerful features are available that let you design and implement an even more HTTP- and web-centric view on your service-oriented applications. Christian will show you how to build WCF services that can leverage the full power of HTTP. Come and learn how to create & expose HTTP-based services and also consume REST APIs in .NET and on mobile platforms.
by Simon Brown
One of the major points of disagreement about software relates to how much up front design to do, with people being very polarised as to when they should do design and how much they should do. “Just enough” sits somewhere in the chasm between big design up front’s analysis paralysis and emergent design’s refactor distractor, but how much is “just enough”? Join us to find out.
Reactive Framework is a new library that uses the new IObservable interface and LINQ to create a compelling new programming model that allows you to build “event” based code with declarative LINQ statements. This talk introduces the Reactive Framework and shows how it can greatly simplify your code.
by Allen Holub
This session attempts to dispel some of the fog surrounding cloud computing. We’ll define what “cloud” actually means, and then go on to look at the two primary architectures available for cloud-based deployment: the virtual-machine model (as characterised by Amazon’s EC2 service) and the application-server model (as characterised by Google’s App Engine), and look at the general cloud infrastructure provided by both Amazon and Google. We’ll finish up with a quick discussion of how cloud applications differ from other applications, and the sorts of programming problems that are unique to cloud apps.
Herb Sutter famously coined the phrase “the free lunch is over” back in 2005, when it became clear that processor clock speeds were no longer obeying Moore’s law. If developers wanted applications to go faster they could no longer rely on greater clock speeds, they would need to think differently and restructure their code to take advantage of multiple cores in order to get better and better performance. It turns out parallelising all but the most trivial piece of code is challenging. .NET 4 attempts to assist the developer by providing support in the framework to assist parallelising algorithms through the use of parallel constructs like Parallel.For, and Parallel LINQ and a variety of concurrent data structures. The framework vendors would like you to believe that the free lunch is now back, but whilst they can deliver a moderate free lunch, if you truly want a gut-busting free lunch you will have to deploy a range of tricks for your algorithm to take full advantage of those multiple cores.
by Ingo Rammer
This session will give a point-by-point analysis of the fifteen key lessons the speaker has learned from his involvement in dozens of software architecture reviews, i.e. the things which will make or break a project, or at least cause severe budget overruns, technical and organisational issues.
NET 4 introduced the new ‘task’ abstraction, and C#5 will take advantage of integrating this task abstraction into the language via the async and await keywords. Furthermore, the new task abstraction promotes a new way of architecting asynchronous behaviour; in this talk we will explore how to take advantage of these new keywords and other new types and features being exposed in the next version of .NET to deliver far simpler asynchronous Windows UIs.
by Nate Schutta
For the last few years, the web has been all atwitter about Web 2.0 (and even the occasional reference to Web 3.0). Yes, the days of static web applications are officially over and while libraries like jQuery and Prototype make it easier to build modern applications, ultimately they are papering over issues in the web standards (and the browsers that implement them). Today we’re building to standards that are from the palaeolithic era of web design, but that’s changing – and HTML5 is a large part of that. In this talk, we’ll discus just what HTML5 is and why it matters. We’ll show how you can build to HTML5 today and which browsers support what. Thankfully, after many years of stagnation, the future of web applications looks bright!
by Dave Wheeler
M-V-VM (or Model, View, ViewModel) is a critical pattern for modern WPF and Silverlight development.
But how do you actually do it?
And what are the benefits?
This hard core, deep dive session will examine all aspects of the M-V-VM pattern; its benefits, problems, consequences, and all of its warts.
This session is a must for anyone working in a modern Windows and .NET application environment.
by Dave Ingram
Understanding the production environment and the core functions of the live service Operations and Service Delivery teams helps us to design and build solutions that can be better operated and supported during live service and beyond. This session provides practical insights and proven principles for architects and developers to help them design, build and implement solutions that are resilient and operable. The session is framed around a medium-scale production environment and introduces & highlights the importance of the Operations Manual as well as the Operations and Service Delivery activities such as backup & recovery, batch, reporting, monitoring, incident investigation and fix-on-fail. This session is targeted at developers and architects of all levels.
As a solution architect you should be aware of the benefits (and the risks) of Cloud computing. In this session Christian Weyer will walk you through the holistic set of Cloud features that the Windows Azure Platform (WAP) offers. Whether you want to run applications and services in Windows Azure, store data in Windows Azure or SQL Azure or securely communicate with and through the Cloud with the help of the Windows Azure AppFabric: come and see a pragmatic view on WAP and learn which slice of the Cloud may fit for you.
by Dave Wheeler
Most M-V-VM demos stop with a single Model, View and ViewModel.
Not this session.
We’ll take a hard look at multiple ViewModels; central commanding (such as File, Save All); isolation and testing; secondary UI and interaction between a View and a ViewModel; and robust and reliable messaging.
This is an important session for those wanting to move beyond the trivial reference implementations seen in Prism or on the web.
by Neal Ford
Most of the time when people talk about agile software development, they talk about project and planning practices but never mention actual development, as if development were an afterthought when writing software. This talk drills into the real details of how to do agile development. I discuss best practices like continuous integration, pair programming, how developers should interact with story cards, how to handle enterprise concerns like integration with other software packages, and a slew of other topics related to agile software development.
by Gary Short
Or, how to architect a codebase-wide refactoring project. In this advanced refactoring session, we’ll look at such things as functional decomposition, code criticality, the correctness continuum, sub-tree refactoring index and prioritisation. All these terms will be defined, explained and demonstrated, so that by the end of this presentation you’ll have the knowledge and confidence to architect such a refactoring project… or eat an elephant, whichever you prefer.
by Ingo Rammer
HTML5 allows the creation of line of business applications which rely on the browser’s offline storage capabilities for application and data. These applications can provide user experiences comparable to native applications and allow large percentages of code and markup reuse between Desktop, Android, iOS and the most recent BlackBerry OSes (and Windows Phone 7 in November 2011). In this session, you will learn about the capabilities of HTML5 which pertain to these kinds of applications, about the frameworks which can help you create offline business applications and about the pitfalls and uncharted/semi-charted areas you will have to enter.
by Jesus Rodriguez
During the past few years, Windows Communication Foundation (WCF) has established itself as the fundamental technology to enable service orientation in the Microsoft platform. However, adopting WCF in the big enterprise requires complementing the sophisticated capabilities of WCF with efficient practices in areas such as configuration management, unit/load testing, dependency management, and versioning among many others. Enabling these capabilities facilitates the adoption of WCF in the enterprise in an agile and simple manner. This session presents a series of solutions and best practices for addressing important aspects such as configuration management, endpoint discovery, automated unit/load testing, service dependencies, etc. We illustrate these solutions using a series of practical demonstrations that will help developers to implement large WCF solutions in a more efficient and agile manner. Additionally, the session presents three case studies that highlight how customers are implementing some of these solutions to adopt WCF at a big scale in the enterprise.
by Allen Holub
This class presents three user-interface architectures suitable for (or at least used by) distributed, typically web or cloud-based, applications, discussing the pros and cons of each approach. We’ll start with Model-View-Controller and explain why it’s suboptimal. We’ll then move on to more appropriate architectures: Presentation-Abstraction-Control, Visual Proxy, and bifurcated objects.
by Howard Deiner
This talk focuses on the architectural and developmental differences between the old-style BDUF (Big Design Up Front) versus the modern iterative approach to database design.
Databases have been a part of the computing landscape since the beginning, and database administrators have been around almost as long. Their background and culture can be an impedance mismatch with modern Agile processes and practices. But it doesn’t have to be. This session explains the problems and solutions from both a process as well as practices standpoint, through a combination of presentation and demonstration.
.NET 4 comes with a version of Entity Framework that is fit for purpose. Entity Framework is Microsoft’s ORM, their version of NHibernate. Entity Framework version 1 forced developers to be tightly coupled to Entity Framework, this goes against traditional ORM technology and creates problems for unit testing. Entity Framework 4 fixes this problem via POCO support. However it is still up to developers to work out how to utilise the technology to truly loosely couple application logic from business logic. This talk will take you through these new features and show how the repository pattern can be deployed with Entity Framework to provide a testable and loosely coupled solution.
by Nate Schutta
Sure, Ajax might not be the hardest thing you’ll have to do on your current project, but that doesn’t mean we can’t use a little help here and there. While there are a plethora of excellent choices in the Ajax library space, jQuery is fast becoming one of the most popular. In this talk, we’ll see why. In addition to its outstanding support for CSS selectors, dirt simple DOM manipulation, event handling and animations, jQuery also supports a rich ecosystem of plugins that provide an abundance of top notch widgets. Using various examples, this talk will help you understand what jQuery can do so you can see if it’s right for your next project.
by Dave Ingram
This session examines the principles and practices underpinning rapid software development models (RAD, Agile, Lean & Iterative etc.) and considers the implications, enhancements and options for Technical Architects in their role to design (and deliver) software architectures & solutions to meet the ever-increasing challenges of modern day functionality and “ilities”. In doing so, this session examines the business case for rapid development approaches, the business case for quality and the “ilities” as well as size, scope & complexity of a project. In addition, this session covers various pros and cons for rapid development and the role of the Technical Architect. This session is targeted at developers and architects of all levels.
by Eoin Woods
Event Driven Architecture (EDA) is an approach for system design and integration that provides some useful characteristics not found in the classic approaches based around services, procedure calls and centralised entity data stores. Event driven systems model the problem domain in terms of the event sequences that different parts of the domain emit and consume and are implemented by recognising, transforming and processing events. They are particularly beneficial for systems that need to be some combination of reactive, loosely coupled, scalable and flexible. This talk will introduce the EDA architectural style and the different types of event driven system in common use, explain a number of different approaches for building such systems in practice and discuss common problems with building and running event based systems. It will also consider how to combine the event driven style with other popular approaches in order to meet the requirements of real systems.
by Dave Wheeler
Why do doors that you have to push to open have a handle on them? Why do lifts contain buttons to close doors that don’t actually do anything? Why do user interfaces contain so many poor design choices?
In this fun-filled session, we’ll examine numerous examples of good and bad user interfaces, and see what makes one great and another poor.
Contentious and exciting, this session is a must for anyone who cares about what makes a great user experience.
18th–21st October 2011