Skip to content

Instantly share code, notes, and snippets.

@MarkMenard
Forked from matiaskorhonen/speaker.md
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MarkMenard/9741486 to your computer and use it in GitHub Desktop.
Save MarkMenard/9741486 to your computer and use it in GitHub Desktop.

Mark Menard

Contact details

Speaker bio

Mark Menard is the founder of Enable Labs, a boutique consulting firm, in Troy, NY, specializing in product development, business productivity and problem solving. Mark has spoken at Ruby conferences such as LA Ruby Conf, Ruby on Ales, and Wicked Good Ruby. Mark also evangelizes Ruby at such events as BarCamps and CodeCamps. Mark has also spoken on Software Patents at TEDxAlbany, and several academic settings. Mark frequently presents on Ruby issues at the TechValley Ruby Brigade; and does training sessions covering Ruby, Rails, refactoring, test/behavior driven development, and other software development topics.

Mark used to be a Java developer and caught the dynamic language bug when he started coding in Groovy and then discovered Ruby. Since then he has added iOS development using Objective-C, Ruby's twin separated at birth.

Let's Do Some Up Front Design

  • Desired talk duration: 30 minutes (I could do 45 minutes if you need it)

Abstract

Sometimes a little time spent up front on design is worth it. Just because we're agile doesn't mean no design up front. Unfortunately some people have taken "working software over comprehensive documentation" to mean no documentation and no design. In this talk I will present a method for evolving an object oriented design through tests, with a strong separation between collaborator classes and process classes. The emphasis will be on quickly driving toward a tested design before committing to functioning process code to save time commonly spent in the refactoring of operational and test code. You'll learn how to write better designed and tested code faster with less refactoring churn.

Notes

I have not given this talk before. I have used this technique in the past in creating DSLs, but have found the technique to be more generally applicable. I've also found that it simplifies the process of BDD and results in less code and test refactoring.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment