Architecture/Patterns
SOLID Development Patterns for Mere Mortals (100-200)
Software development patterns have been around long before the MVC Framework gained momentum. In this session we will start with a review of Robert C. Martin's (Uncle Bob) SOLID macronym. After building the proper foundation, we will look into the several development patterns, their C# implementation, and when and how they should be used in modern software development.
Implementing M-V-VM (Model-View-View Model) for WPF (200)
Now you are writing WPF applications, and wondering – what is all this code in the code behind? Shouldn’t we be doing something different? Our cousins working with ASP.NET MVC don’t even have a code behind! The answer is YES – you should indeed be doing it differently. The M-V-VM pattern is the WPF adaptation of the Presentation Model pattern first documented by Martin Fowler. In this session we will build an app that shows how the M-V-VM pattern is utilized for building SOLID WPF applications that are also testable.
Agile
Being Agile in the Waterfall Sandbox (100)
Scrum and XP have found a strong following in the development community. But most non-development groups (such as Web Administrators, Production Support, Security, Testing, and Users/Stake Holders) inside the enterprise are far from agile, nor are they trying to move to be more agile. This session starts with a refresher on Scrum, and then uses real experiences from large enterprise development projects to show how to effectively work with those teams. Instead of trying to "convert" them, we discuss strategies to adapt to their needs while remaining agile in the development realm.
Introduction to Context Specification - Behavior Driven Development (100-200)
Improved Quality. Better Design. SOLID Code. These are all benefits of driving your design with tests. But where Test Driven Development falls short is in retaining the User's Voice. User Stories are a great tool, but not a natural way of speaking for non-geeks. In this session, we will examine the power of writing Context Specifications in the User's voice, and then use Machine.Specifications (MSpec) to turn those specs into test driven code that all parties can understand!
Test Driven Development (200)
Test Driven Development is more than just writing tests first. It requires a different thought process. In this session, we will discover that thought process, and in turn, become more effective developers, with less code, zero defects, and faster delivery. This session requires a solid knowledge of unit testing.
T/BDD From the Ground Up (200)
In this extended session we start with the basics of unit testing. After setting a solid foundation, we move onto mocks and stubs and dependency injection and finish with Behavior Driven Development with Context Specification.
Data Access
An Intro to NHibernate (200)
Tired of writing CRUD? Code generators or not, there's got to be a better way! NHibernate is an Object Relational Mapper based on Java's Hibernate. NHibernate offers flexibility and versatility to solve the problems you are paid to solve instead of spending your time on database plumbing chores. We’ll look into configuration, mapping, concurrency, and solutions to the most common CRUD scenarios. Experience with Data Access Technologies is recommended.
Advanced NHibernate Tips and Tricks (300)
NHibernate is one of the most popular ORM's currently in use, but there is a significant learning curve once you get past "Hello World". In this talk we will take a deep dive into the ICriterion interface used for creating simple to complex queries into your application's data. We will also explore a framework to hide NHibernate specific details from developers consuming your Data Access Layer.
Windows Presentation Foundation
Implementing M-V-VM (Model-View-View Model) for WPF (200)
Now you are writing WPF applications, and wondering – what is all this code in the code behind? Shouldn’t we be doing something different? Our cousins working with ASP.NET MVC don’t even have a code behind! The answer is YES – you should indeed be doing it differently. The M-V-VM pattern is the WPF adaptation of the Presentation Model pattern first documented by Martin Fowler. In this session we will build an app that shows how the M-V-VM pattern is utilized for building SOLID WPF applications that are also testable.
Windows Presentation Foundation for Developers (100-200)
WPF has now been out for a bit, and we've all seen the spinning cube playing a different video on each side. How does that help you, the line of business developer? This session dives into what’s important to developers, including Layout, Event and Commands, and a deep dive into Binding, Templates, and Converters
ASP.NET MVC
JQuery and JSSpec – Making the Web More Developer Friendly (200)
What browser is my code running in? Can it do (fill in the blank)? Which IE6 hack do I need so that I can make my page do (fill in the blank)? JQuery to the rescue! This session will show you how JQuery changed my life, and made building Web Application fun again. From DOM manipulation to forms validation to creating plug-ins, we’ll dive into how to use JQuery to speed your development and make all those irritating problems seem trivial!
Test Driving ASP.NET MVC (300-400)
There are many benefits to the ASP.NET MVC framework, and one of the biggest is the testability. In this session you will learn to test your routes, controllers, and models BDD style with MSpec and MbUnit, and use WatiN to certify the user interface.
Testing
T/BDD From the Ground Up (200)
In this extended session we start with the basics of unit testing. After setting a solid foundation, we move onto mocks and stubs and dependency injection and finish with Behavior Driven Development with Context Specification.
Practical T/BDD - Half Day Hands-on Lab (100-200)
Seen enough "Hello World" presentations on Behavior/Test Driven Design? Enough already! In this hands-on lab, we are going to develop an application given a set of specifications. We will be covering all of the usual suspects including pair programming, testing frameworks, and mocking. So come with a laptop (or a partner with a laptop), and get ready to code! (We will find you a partner if you don't have one or a laptop, so don't let that stop you!)
Test Driving ASP.NET MVC (200-300)
There are many benefits to the ASP.NET MVC framework, and one of the biggest is the testability. In this session you will learn to test your code BDD style with MSpec and MbUnit, and use WatiN to certify the user interface.
Introduction to Context Specification - Behavior Driven Development (100-200)
Improved Quality. Better Design. SOLID Code. These are all benefits of driving your design with tests. But where Test Driven Development falls short is in retaining the User's Voice. User Stories are a great tool, but not a natural way of speaking for non-geeks. In this session, we will examine the power of writing Context Specifications in the User's voice, and then use Machine.Specifications (MSpec) to turn those specs into test driven code that all parties can understand!
Test Driven Development (200)
Test Driven Development is more than just writing tests first. It requires a different thought process. In this session, we will discover that thought process, and in turn, become more effective developers, with less code, zero defects, and faster delivery. This session requires a solid knowledge of unit testing.
Mocks, Stubs, and Dependency Injection, Oh My! (300)
So you aren't writing any code without having tests in place…well, except for those tricky things like web services, database calls, and that section of code that no one wants to touch since it's a pile of spaghetti. In this session we will work through refactoring that spaghetti using dependency injection, and learn how to use Mocks and Stubs to isolate the system under test and write cleaner, more effective tests.
Test Driven Development for T-SQL (200)
Unit Testing and Test Driven Development have grown in popularity for the managed code development world. What about the database developer? In this code driven session we will show how to write unit tests (scalar and set based) for T-SQL - all with open source utilities.