What is PairWith.Us?

In short, it's agile software development (user stories, tests, code and more), broadcast live and recorded for your future viewing pleasure. Watch the pairwith.us/trailer to get a better idea of what PairWith.Us is all about.

Why PairWith.Us?

We aren't trying to teach any specific technology or technique. Instead, we'd like to share how we combine several software craftsmanship techniques, shown in the style of a fly-on-the-wall documentary.

The main learning point that we hope our viewers take away is that it's ok to make mistakes and to change your mind. Things don't have to be perfect, first time, every time, as long as you progressively make things better.

We aim to show the real deal including uncertainty, debate and eventual clarity (along with some petty arguing and occasional tangents).

But most of all... we're two guys who have fun programming :-)

When can you PairWith.Us?

Follow pairwith.us chatter on Twitter or become a fan on facebook to find out when you can pairwith.us/live. Or, you can watch previous episodes (not so live) at pairwith.us/tv.

FitNesse Narratives

When we first heard of the "Given When Then" structure for writing acceptance tests, we knew instinctively that it was a better way of writing executable examples (wrapped in the structure of an automated test to reduce ambiguity). It was presented by Dan North and Joe Walnes at XP Day 2006

Since then a number of frameworks have risen up using that structure. Many of these can be written in plain text. Despite this, there are still many teams using FitNesse and the new table parsing Test System called SLIM.

Unfortunately, the way FitNesse is used is, too often, as an .automated testing. tool rather than as a tool that documents desired software behaviours in a customer-friendly way (using automated tests). There is a substantial difference in practice, despite such subtle difference in the words.

FitNesse own acceptance tests require explanation text surrounding the tables. We liken this to having comments in code, they are at risk of not being maintained and becoming disconnected from the executable content. They also add clutter to the page making it harder to understand the intent than if the descriptive words themselves were executable.

For this reason - and because we find the "includes", variables and hierarchical wiki features of FitNesse useful, we wanted to give FitNesse users the opportunity to use the "Given When Then" style whilst enjoying the benefits of FitNesse.

You can watch previous episodes at pairwith.us/tv.

You can find the code involved in these projects on bitbucket:

  • FitNesseNarratives - The examples we're creating in a FitNesse repository that are our interpretation of what the stories and acceptance tests for the FitNesse project might have been if they'd been approached in a BDD style.
  • NarrativeFixture - The fixture we're writing that enables the examples in the FitNesseNarratives project to be written in a BDD style.
  • JNarrate - A fluent API for writing BDD acceptance tests in code that is being used (and improved) to underpin the Narrative Fixture - also contains similar FitNesse acceptance tests but written in Java in a BDD style (see the JNarrate examples). This was written in Antony's spare time before pairwith.us so the implementation of jnarrate doesn't feature in the pairwith.us videos.

Antony MarcanoAntony Marcano is a software craftsman skilled in developing software, coaching and software testing. He has over fifteen years multi-sector experience with numerous clients, including the BBC, Nokia, Vodafone, Barclays Bank, BT, Freshfields Bruckhaus Deringer and Kingfisher Group.

His background in Agile Software Development started in 2000 with an Extreme Programming project. Since then Antony has worked on numerous agile projects, whilst continuously developing his craft, writing code in Ruby, Java, C#, Perl and more. Antony has diverse skills with an emphasis on increasing throughput with quality.

Having a passion for sharing with the software-craftsmanship community, Antony created and continues to maintain the popular website testingReflections.com.

In March 2009, he co-founded pairwith.us with Andy Palmer. This successful partnership led to the formation of RiverGlide in June 2009, to make their unique flavour of energy and motivation available to companies that share in their values (transparency, integrity, trust) and benefit from their ability to continuously innovate and deliver.

Antony is referenced in several agile books. Further to this, Antony writes for Better Software Magazine and is a regular guest-lecturer on Behaviour Driven Development, Test Driven Development and Acceptance Test Driven Development at Oxford University.

As an Agile coach; Antony has substantial experience in helping teams benefit from better testing and write cleaner, well crafted, easy to read and maintain code.

You can follow what Antony has to say on his blog and on twitter.

 

Andy Palmer

Andy Palmer is a software craftsman skilled in developing software, coaching and testing; with over 10 years experience across multiple sectors, including telecommunications, investment banking, retail and media. Andy was inspired by the Agile Manifesto in 2002, and since then has applied agile principles and practices wherever applicable. Andy was previously a senior consultant with ThoughtWorks and has several years experience working with high-availability systems for the mobile telecommunications industry.

In March 2009, he co-founded Pair With Us with Antony Marcano. This successful partnership led to the formation of RiverGlide in June 2009, to make their unique flavour of energy and motivation available to companies that share in their values (transparency, integrity, trust) and benefit from their ability to continuously innovate and deliver.

As a passionate programmer; Andy is continuously developing his craft, writing code in Ruby, Java, .Net, Perl and more.

As an Agile coach; Andy has substantial experience in helping teams benefit from better testing and write cleaner, well crafted, easy to read and maintain code.

You can follow Andy on Twitter

PairWith.Us Buzz