Principles of Evolutionary Architecture

2:30 - 3:20
Rebecca Parsons

With business models and business needs changing so rapidly, an adaptable architecture is critical to allow systems to cope with change. Historically, adaptability has been sought through anticipating the places where a system must be adaptable and through various architectural approaches. However, recent experiences have shown these approaches to be inadequate, at least as currently practiced. This talk presents some principles of evolutionary architecture that allow systems to respond to change without needing to predict the future. We then describe some approaches that realize these principles and discuss how these approaches support adaptability of systems in an evolutionary way.

Augmented Reality for .NET

8:30 - 9:20
Ron DagDag

Powerful Augmented, Mixed and Virtual reality devices like HoloLens make science fiction movie technology become reality for consumers.

This session will talk about Microsoft Mixed Reality platform and the challenges that AR and VR pose and why 3D is an essential part of this experience. Practical Scenarios for Holographic applications and demos to show how every developer can develop outstanding HoloLens solutions with Unity and be part of this computing revolution.

This session helps understand setup needed for Unity environment, skills needed to create compelling HoloLens applications and best practices to move forward quickly. Starting with a simple "Mixed Reality Hello World" demo, we use this to understand all of the pieces required to start developing for Hololens.

Miruken Handles()'s Your Application

9:30 - 10:20
Michael Dudley Craig Neuwirt

Miruken-JS is an javascript application framework that embraces composition, convention, decoration, intention, and aspect-oriented programming. When we convert applications to Miruken we delete hundreds of lines of boiler plate code. The cruft falls away and you are left with lean beautiful code that does what is is supposed to do. In this talk we will show you how to create an app using Miruken-JS, Angular, and the latest EcmaScript.

A Tale of Two Clouds: Running an App Across AWS and Azure

10:30 - 11:20
Casey Watson

Today's enterprise cloud consumers have a difficult decision to make when deciding where to deploy their application workloads: AWS, Azure or both? Both platforms share many similar services but have critical differences that are important to understand. More and more cloud consumers are looking to build applications that are 'cloud portable' due to a general 'fear of commitment' to one cloud platform over another and as part of a larger HA/DR strategy. This desire to embrace more than one cloud platform is one that, as trusted technical advisors, we cannot afford to ignore. In this session, geared specifically toward cloud architects, Casey Watson, Senior Program Manager with the Azure Customer Advisory Team at Microsoft, discusses an approach to building complex, distributed applications that can be deployed to multiple cloud providers, take advantage of PaaS services and are easy to maintain. Casey will begin the session by discussing the key differences between the two cloud providers and offer some tips for having a multi-cloud conversation with your customers. Next, he will walk the audience through a multi-cloud architecture highlighting key platform differences then dive deep into Visual Studio to show how an actual, real-world solution would be implemented. Finally, Casey will review the deployment of a multi-cloud solution. After this session, you will be able to explain to your customers how to implement a solution that spans multiple clouds, articulate the key differences between Azure and AWS, and help customers decide upon the optimal cloud architecture that meets their business requirements.

Coding Naked - Unit Testing Those Hard to Reach Places

1:30 - 2:20
Caleb Jenkins

Code coverage with quality unit tests is your first line of defense to reducing technical debt, increasing code quality and accelerating your ability to change and adapt code (without breaking it) while continuing to add new features. Most TDD sessions focus on the easy to test areas of your code base that are almost never what you experience getting back to your desk. Come learn why TDD is not a fancy practice for the coding elite, but an understandable, obtainable and practical approach to delivering value for every developer, and how, when done properly, will increase communication and design between the business stakeholders and developers.

We'll spend some time looking at practical steps to move towards & embrace TDD. We'll overview the normal roadblocks that people typically run into, and practical coding strategies to overcome those roadblocks on your way to embracing a Test Driven Development lifestyle - make coding without tests as uncomfortable as coding (or camping) naked!

From the author of Automated Unit Tests chapter in the Wrox Book "Real World .NET, C# and Silverlight - Indispensable Experience from 15 MVPs", we will learn:

  • Distinguish between the 4 major elements of automated unit tests. Code, Tests, Testing Framework and Test Runners and how they interact with each other to round out your engineering practices.
  • Discover how Mocking Frameworks and DI make your tests easier to read and write in everyday life.
  • Dig into better ways to write and organize your tests so that they communicate intent, document your code for you and bridge the gap between development and business needs.
  • We'll take a more specific look at those "hard to reach" places like the edges of your code, extension methods, and other interesting scenarios

* everyone will leave their clothes on - it's not that kind of party!