Pragmatic Software Development Solutions

We offer TDD (test-driven development), design, programming, and agile-related training courses, delivered on site for your convenience at competitive rates. Our classes are taught by real practitioners with hardcore, extensive development-team experience.

Our students leave the classroom jazzed and ready to apply their newfound knowledge. Some of them tell us this is the best training they've ever attended.

We want to make sure you succeed with your development efforts. We believe a strong qualified coach can make the difference, by ensuring firsthand that students retain and ingrain their new skills. We offer hands-on consulting by recognized industry experts, led by Jeff Langr and his partners. We are veterans of the agile community; Jeff has worked to help teams understand and succeed at agile since 2000.

As developers, we've been able to consistently deliver high-quality software. We've helped teach and mentor hundreds of developers how to do the same. We've written highly acclaimed books and over a hundred articles on agile, TDD, pairing, programming in Java and other languages, and OO design.

 

 

News: Beta Publication of Modern C++ Programming with TDD

20 March 2013

Modern C++ Programming with Test-Driven Development Beta copies of Jeff Langr's fourth book, Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better, are now available for purchase from the Pragmatic Bookshelf, in both print and eReader formats. Jeff expects to complete the book in the next few months. Take advantage of the beta pricing and the opportunity to help shape the final book with your feedback!

 

New blog post, "A Story Isn't a Feature"

20 March 2013

User stories are an essential part of agile software development. But are you simply trying to shoehorn your old requirements process into a new terminology? Find out why it's important to understand the definition of the word story in Jeff Langr's new blog post, "A Story Isn't a Feature."


Image source: AJC1, Flickr
 

New blog post, "C++11: Using Lambdas to Support a Times-Repeat Loop"

06 March 2013

Tired of writing that classic for-loop for (int i = 0; i < total; i++) simply to execute a chunk of code n times? Tired of reading it, and occasionally missing an important detail (such as for (int i = 0; i < total; i++))? In " C++11: Using Lambdas to Support a Times-Repeat Loop," Jeff blogs about how you can use the new C++11 lambda construct to support a simplified and less error prone times-repeat loop.

 

New blog post, "C++11 Via TFL (Test-Focused Learning): The Range-Based For Loop"

19 February 2013

Jeff Langr posts a new blog article in the TFL series, "C++ 11 Via TFL (Test-First Learning): The Range-Based For Loop," The range-based for loop provides a simplified construct for iterating over a collection of data.


Image source: normanack, Flickr

 

 

New blog post, "C++11: Sum Across a Collection of Objects Using a Lambda or a Range-Based For Loop"

18 January 2013

 


Image source: jfgormet, Flickr

Jeff Langr posts a quick-hit article designed to answer a very specific question. "C++11: Sum Across a Collection of Objects Using a Lambda or a Range-Based For Loop" quickly demonstrates two succinct ways to total into a collection using C++11.

 

 

 

New blog post, "C++11 Via TFL (Test-Focused Learning): Uniform Initialization"

16 January 2013

C++11 provides a number of refinements that bring the language up to the modern age. In a new blog post, "C++11 Via TFL (Test-Focused Learning): Uniform Initialization," Jeff Langr explores the uniform initialization scheme of C++11. This post, first of many to come on the new C++ features, expresses the new features almost entirely via unit test code.source: Naval History and Heritage Command