Sessions

I typically get my slides up on SlideShare quickly if you're here for a recent session that isn't listed here.

Put the Test Before the Code

Test Driven Development specifies that you write a failing unit test before you write any code. Some people say this is impossible. I'll demonstrate that it's not only possible, but will change how you write code for the better.



Presented at:
Atlanta Code Camp 2016

Mob Programming for Continuous Learning

What if we took Extreme Programming and said it’s not “extreme” enough? What if we took pair programming and cranked it to 11? Mob programming is a technique with “all the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.” I was lucky enough to be on a team for about year that worked “as a mob.” I’m also now leading a team that is mobbing full time and using mob programming for workshops and other learning experiences. Come learn what practices we found to be critical, what obstacles we encountered and what practices became irrelevant during our experience.



Presented at:
Utah Code Camp 2016
Software Testing Atlanta Conference 2016
Raleigh Code Camp 2016

The Quest for Continuous Delivery

Continuous integration, continuous delivery, continuous deployment.  These may seem like unreachable goals in your current situation.  Maybe you’re doing weekly or even monthly coordinated releases.  At Pluralsight we deploy multiple times a week, sometimes multiple times a day.  We’re not perfect and we’re constantly working to improve our system, but I’ll share an experience report of where we currently are and where we’re going.


The Quest for Continuous Delivery at Pluralsight from Mike Clement

Presented at:
Utah Code Camp 2015
Boise Code Camp 2015
Mile High Agile 2015
That Conference 2015

Play to Learn! Agile Games with Cards and Dice

Play is a powerful method to learn! Come and play some simple agile games that use playing cards, index cards and dice to explore the different values that are at the foundation of Agile and Lean development practices.  In addition to your own insights, you may be able to take these game back to work to share with your co-workers.

This is a hands-on session so come prepared to have some fun!

There is no "right" answer to what you're "supposed to" learn from a game, so come ready to discover your own insights into software development processes and teamwork.



Presented at:
Utah Code Camp 2015
Seattle Code Camp 2014
SoCal Code Camp - San Diego 2013
Baton Rouge Tech Day/SQL Saturday 2013
Mile High Agile 2016

Thinking in F#

Coding in a functional language requires more than simply knowing the syntax of that language. You can write a for loop in F# as easily as you can in C#, but you're missing out on the functional aspects of F# (and C# for that matter). We'll do an introduction to the language features of F# and how to unit test but more importantly we'll write some code with a functional mindset and discuss where and why you would want to use F# in your existing projects.


Thinking in F# from Mike Clement

Presented at:
Utah Code Camp 2014
Boise Code Camp 2014
Chicago Code Camp 2014
Seattle Code Camp 2014
SoCal Code Camp 2014
Northern Utah .NET User Group March 2015
Atlanta Code Camp 2015

Software Craftsmanship and Agile Code Games

Join us to talk about what it means to be a software craftsman, how the Software Craftsmanship Manifesto (http://manifesto.softwarecraftsmanship.org/) provides a framework for us to improve.

A large part of being a software craftsman is practice. Using different "code games" we can have a full toolbelt of activities that will help us (and those around us) become better at our craft.

Agile software development promises the ability to deliver value quickly. But this isn’t just a matter of process. Uncle Bob says "the only way to go fast is to go well." But how do we go well? As software developers, we can only deliver features as fast as the code base and our skills allow us. Unfortunately the quality of our code base is directly related to our skill in the past.

Musicians and athletes spend most of their time practicing, not performing. As software developers (aspiring craftsmen) we must have practice sessions that allow us to improve our skills and develop better “code sense”. We’ll look at some different “agile code games” that will help us improve our craft.


Software Craftsmanship and Agile Code Games from Mike Clement

These slides were used for the Guided Kata section of the Agile Code Games.



Presented at:
Utah Code Camp 2014
Boise Code Camp 2014
Chicago Code Camp 2014
SoCal Code Camp San Diego 2014
Seattle Code Camp 2014
Mile High Agile 2014
SDEC 2014 (Software Development and Evolution Conference)
Agile Development East 2015
Agile 2016
Southern Fried Agile 2016

Power of Patterns: Refactoring to (or away from) Patterns

What is a design pattern? Why should you care? What it the power of design patterns? How do design patterns tie into object oriented programming? If I'm using objects in my code, isn't that object oriented programming? (The answer is not necessarily!) When should I use them?

Design Patterns are great but the temptation is to use Design Patterns as a golden hammer. This can lead to unnecessarily complicated, over-engineered code in an effort to be flexible and ready for the future. That sounds reasonable - if you happen to be a psychic. More commonly, you will refactor to a pattern when the code (that you’ve written simply and minimally) demands it.

We'll talk about why you should know common design patterns, why they are powerful, how they relate to object oriented principles, different composite refactorings that will move you to (and sometimes away) from patterns and the smells that help you know when to apply them.



Code starting point: https://github.com/mdclement/RefactoringToPatterns

Presented at:
Boise Code Camp 2013
Utah Code Camp 2013
Chicago Code Camp 2013
SoCalCodeCamp - San Diego 2013

Transformation Priority Premise: TDD Test Order Matters

When coding using TDD, do you often run into a point when you have to “implement the whole thing”?  The sequence of tests that we write significantly impacts where are code ends up!  We’ll explore Uncle Bob’s Transformation Priority Premise, looking at the transformations that code goes through and how our tests can drive the code in different directions.


Presented at:
Boise Code Camp 2013
Chicago Code Camp 2013
SoCalCodeCamp - San Diego 2013

Using Rhino Mocks for Effective Unit Testing




Original design by andrastudio
Blogger port by Blogger Templates