Best Simple System for Now| Dan North & Associates Limited
We need to talk about testing| Dan North & Associates Limited
Best Simple System for Now| Dan North & Associates Limited
Automated builds have become a cornerstone of agile development. Every time a developer checks in a change, a tool like Cruise Control checks out all the sources, builds everything, runs all the unit tests and reports back with immediate feedback. This cycle has become known as Continuous Integration, due to the seminal paper by Martin Fowler and Matt Foemmel, but this is something of a misnomer. It is better described as Continuous Build. (Their use of “integration” was about integrating...| Blog on Dan North & Associates Limited
So, it’s taken me two years to finally get round to writing down what behaviour-driven development is all about, but I’m pleased with the result. The article has just been published in the March edition of Better Software as “Behavior ((I didn’t quite get away with the UK spelling)) Modification”. I started talking about BDD as an evolution of TDD at the back end of 2003, and played with the idea of a BDD framework, in the form of JBehave, during 2004. I made some noise about it at ...| Blog on Dan North & Associates Limited
Best Simple System for Now| Dan North & Associates Limited
I have been iterating on my home office setup for a while now. This post describes my current setup as we reach the end of 2024.| Welcome to DNA on Dan North & Associates Limited
One area where companies struggle is recruiting good people. I see enormous variability in quality and style of interviewing. This is something I care about, having spent nearly a decade working with some amazing recruiters at a global technology consultancy, and variously as an employee, contractor and independent consultant in many organizations.| Welcome to DNA on Dan North & Associates Limited
I have been building my website with Hugo since early 2021. I love the control it gives me. I recently wanted to start using short URLs in presentations, that would link to either a longer URL on the website or to somewhere else altogether. It turns out Hugo makes this easy but not entirely obvious, so I thought I would write it up.| Welcome to DNA on Dan North & Associates Limited
McKinsey recently published an article claiming they can measure developer productivity. This has provoked something of a backlash from some prominent software people, but I have not seen anyone engage with the content of the article itself, so I thought this would be useful. I am writing this as though the authors have approached me for a technical review of their article. You can think of it as an open letter.| Welcome to DNA on Dan North & Associates Limited
The great thing about measuring developer productivity is that you can quickly identify the bad programmers. I want to tell you about the worst programmer I know, and why I fought to keep him in the team.| Welcome to DNA on Dan North & Associates Limited
I found myself offering advice to someone recently who was giving her first technical talk, at an internal conference, that happened to be about a topic of mine. We agreed that I should share my answers with a wider audience, in case someone else finds them useful.| Welcome to DNA on Dan North & Associates Limited
Whenever I arrive in a new context—a new client engagement or a new team in an ongoing gig—I seem to arrive right in the middle of something. A significant planning event, a technical design session for a major component, implementing a new productivity tool. Phew, it looks like I am just in time! A few days later and they would have totally messed up that quarterly plan. They are going to use what technology to solve that? So much to do, so little time! It is fixable, but only if everyon...| Welcome to DNA on Dan North & Associates Limited
When you make all the work explicit, you get fewer surprises. When people work in product-based teams, the product development work is front and centre. It is easy to see how this work adds value and where it should live. Less obvious is where the day-to-day “Business As Usual” work sits, how it gets prioritized and measured, and how to ensure it is not neglected. I like to make this kind of work explicit, as one of several types of demand. Making all the work visible means we can measure...| Welcome to DNA on Dan North & Associates Limited
This is a story about amazing customer service being undermined by poor software, in the form of simplistic business rules and fragile systems. I am telling it because I made a promise to someone who features prominently in the story, and whose manager should be aware just how fantastic their staff are, and just how much their poorly designed computer systems and cost-cutting are letting their company down.| Welcome to DNA on Dan North & Associates Limited
What started as lighthearted iconoclasm, poking at the bear of SOLID, has developed into something more concrete and tangible. If I do not think the SOLID principles are useful these days, then what would I replace them with? Can any set of principles hold for all software? What do we even mean by principles?| Welcome to DNA on Dan North & Associates Limited
Or how programmers and testers can work together for a happy and fulfilling life. Why don’t we just automate all the testing? Is test coverage a useful metric? What does it mean to “shift testing left”? When and where should we be testing? How much is enough testing?| Welcome to DNA on Dan North & Associates Limited
“If you had to offer some principles for modern software development, which would you choose?” At a recent Extreme Tuesday Club (XTC) virtual meet-up, we were discussing whether the SOLID principles are outdated. A while ago I gave a tongue-in-cheek talk on the topic, so ahead of the meet-up one of the organizers asked what principles I would replace SOLID with since I disagreed with them. I have been thinking about this for some time and I proposed five of my own, which form the acronym ...| Welcome to DNA on Dan North & Associates Limited
My friend Gojko Adzic has been running a series of BDD quizzes illustrating different ways to approach some interesting BDD situations. I noticed on Twitter that Seb Rose, another BDDer (Cucumberer?), had gently taken issue with one of Gokjo’s solutions so I thought I’d take a look at them both. Before reading on I recommend reading Gojko’s solution and Seb’s response for context.| Welcome to DNA on Dan North & Associates Limited
I recently found myself in yet another circular Twitter discussion of estimation, in which the One True Way to scope work in uncertainty ranged from entirely abandoning estimation to applying formal Cost Accounting methods and nothing less would suffice. I’ve talked about this at length and I will happily excise any comments that get into #noestimates.| Welcome to DNA on Dan North & Associates Limited
Organizations often introduce Best Practices as part of a change program or quality initiative. These can take a number of forms, from “cook books” and cheat sheets to full-blown consultant-led methodologies, complete with the requisite auditing and accreditation. This article introduces the Dreyfus learning model to challenge the strategy of naively applying Best Practices, and shows how they can not only fail to help, but even have a severe negative impact on your top performers.| Welcome to DNA on Dan North & Associates Limited
Most of my work these days is helping organizations figure out how to be more effective, in terms of how quickly they can identify and respond to the needs of their external and internal customers, and how well their response meets those needs. This tends to be easy enough in the small; the challenges appear as we try to scale these techniques to the hundreds, thousands or tens of thousands of people.| Welcome to DNA on Dan North & Associates Limited
Over the last year or two I have been exploring OKRs—Objectives and Key Results—with several organizations, from a few hundred people in size to a couple of thousand. Some are well over a year in, some are just starting out. There doesn’t seem to be much out there in terms of experience reports or hands-on advice so I have tried to capture the advice I wish I’d had when I started out.| Welcome to DNA on Dan North & Associates Limited
tl;dr I like JUnit. It is simple and clean, and it is ubiquitous in the Java world. I like Go’s testing package. It is even simpler and cleaner, and distinguishes between failed checks and fatal test failures. It doesn’t use exceptions to do this. I wanted to see what Go’s testing semantics would look like in JUnit, so I wrote JGoTesting. Some people helped me. I’m quite pleased with how it is turning out so I want to share it with you.| Welcome to DNA on Dan North & Associates Limited
Modern Scrum is a certification-laden minefield of detailed practises and roles. To legitimately describe oneself as a Scrum Master or Product Owner involves an expensive two day certification class taught by someone who in turn took an eye-wateringly expensive Scrum Trainer class, from one of the competing factions of ‘Professional’ or ‘Certified’ (but ironically not both) schools of Scrum training. But it was not always so.| Welcome to DNA on Dan North & Associates Limited
tl;dr: Thank you to some lovely people for translating or graphic recording some of my work. One of the nicest compliments you can receive as a writer is someone choosing to translate your work to make it available to a new audience. I am enormously grateful to the people who have translated my articles and blog posts over the years, most recently Julia Kadauke, who translated What’s In A Storyinto German.| Welcome to DNA on Dan North & Associates Limited
[Adventures With Agile interviewed me recently ahead of teaching a couple of classes with them in June. The original interview is on their blog.] What was your first job in the industry? My first job was playing Star Wars for a living. True story! I had a student internship in 1988 with a games company called Domark. They published the 8-bit versions of movie and board game tie-ins like Star Wars and Trivial Pursuit on home computers like the ZX Spectrum or Commodore 64. If someone called and...| Welcome to DNA on Dan North & Associates Limited
Josiah Renaudin interviewed me in May 2015 ahead of the STAREAST conference in Orlando. The original interview is online at AgileConnection.| Welcome to DNA on Dan North & Associates Limited
I am excited to announce some public dates for my Testing Faster and Software Faster classes. These include the first 2-day classes this year, and the first ever public dates for London. Software Faster masterclass Software Faster is for people looking beyond Scrum and the other agile methods that have been around since the mid–1990s. These methods can shrink delivery times from years to months, but then what? You want to deliver in weeks, days or even hours. The last two decades have seen ...| Welcome to DNA on Dan North & Associates Limited
Someone asked me recently for advice about consulting into multiple teams, in particular about how to make the most effective use of a number of short sessions. He will be spending two hours with each team in each visit. This will be an ongoing relationship, with a series of visits made up of these two hour coaching sessions.| Welcome to DNA on Dan North & Associates Limited
tl;dr: Send us your examples of real world BDD. Read on to find out why. The panel ‘What is BDD?’ ‘How can I tell if I’m ‘doing BDD right’? Or wrong? Is there even such a thing?’ ‘Where should I start?’ ‘Is this or that practise considered part of BDD?’ ‘What are the mandatory ‘core’ practises of BDD?’ These and similar questions were the topic of the closing panel at the recent CukeUp conference in London.| Welcome to DNA on Dan North & Associates Limited
A question came up on the BDD list recently, and based on feedback I thought it would be useful to post my answer to a wider audience.| Welcome to DNA on Dan North & Associates Limited
Some software teams get stuck because their business users don’t realize they need to make time to take delivery of features they’ve requested. Over time their User Acceptance Testing backlog increases to the point where the team’s throughput virtually stalls.| Welcome to DNA on Dan North & Associates Limited
I’ve been taking a few weeks of semi-vacation in South Africa and I’m in a reflective mood, so please forgive the indulgent tone of this post. I’ve been thinking about what an awesome industry I work in, and some of the people who have been moving it forward over the last few years, at least for me. I wanted to take a moment to appreciate them. If you haven’t come across any of the following topics I encourage you to explore further. At the very least you should be following these fol...| Welcome to DNA on Dan North & Associates Limited
I’m having fun in the most unlikely of places. I’m currently working at a Big American Bank. In fact, it’s so big it’s called Bank of America. I recently wrote an article for their internal agile magazine which probably best describes why I think it’s so much fun, and which I’ve reproduced below.| Welcome to DNA on Dan North & Associates Limited
Experienced delivery folks can have surprisingly good instincts for macro-level estimation, as long as we are careful to manage blind spots and cognitive biases. This can be an important tool in early project investment discussions, and can remove roadblocks where people are uncomfortable or unwilling to provide estimates.| Welcome to DNA on Dan North & Associates Limited
The goal of software delivery is to minimize the lead time to business impact. Everything else is detail.| Welcome to DNA on Dan North & Associates Limited
A curious phenomenon At the end of 2009 I left the world of agile delivery and consulting to join a small team in a trading firm. I was member number three. The team grew to five in the next few weeks. This team was the most insanely effective delivery machine I’ve ever been a part of. A handful of programmers sitting in amongst a handful of traders, producing state-of-the-art trading systems—with all the integration pain (back office, risk management, connecting to electronic exchanges) ...| Welcome to DNA on Dan North & Associates Limited
I am delighted to announce my new independent consulting company, Dan North & Associates, which has the handy abbreviation of DNA. Take a look around the new website - I’d love to hear your feedback and suggestions, especially in terms of the direction I’m taking. Going independent has been on the cards for a while now, and the timing feels right after successfully carrying out a Lean transformation programme with my current employer, DRW Trading.| Welcome to DNA on Dan North & Associates Limited
I’ve just come back from the excellent NDC 2012 event in Oslo, where they published my article about opportunity cost in The Developer magazine ahead of the conference.| Welcome to DNA on Dan North & Associates Limited
Watch the magician. Watch how he drops a coin into his hand, closes his hand, shows you the closed hand, opens it with a flourish, and the coin is gone! He smiles. You look to his other hand. He turns it over and opens it with the same flourish. Not there either! Then he takes your hand, closes it into a fist, opens it and there is the coin!| Welcome to DNA on Dan North & Associates Limited
I’ve noticed a number of people recently declaring that BDD really is just TDD, such as Robert Martin on Twitter and Ron Jeffries on the XP list. I can understand where this mindset comes from and I’d like to offer my perspective.| Welcome to DNA on Dan North & Associates Limited
I’ve been using JavaScript for a while now, but only really programming in anger with it during the last year. I’ve found it in turns frustrating and enlightening, ridiculous and brilliant. I have never felt so empowered by a language and its ecosystem, so I thought I’d take some time to write about why that is. I’m starting with a ramble through the history of JavaScript, or rather my undoubtedly inaccurate understanding of it, to provide some context for where and how I’ve been us...| Welcome to DNA on Dan North & Associates Limited
It’s November, and it seems I haven’t posted anything here since January. Partly that’s because I have a Proper Job™ these days, which means I spend a lot less time writing and blogging. Partly I’ve rediscovered the joy of actually programming, which means I get to spend most of my time hacking on code.| Welcome to DNA on Dan North & Associates Limited
The brittleness of tests or specs is a recurring topic in BDD (or acceptance test-driven development, specification-by-example, or whatever you choose to call the thing where you write acceptance criteria, automate them and then make the application match). This is a tricky area, and there are probably as many styles of defining and grouping acceptance criteria as there are teams automating them. The aspect I want to focus on in this article is domain language, because there’s a failure mod...| Welcome to DNA on Dan North & Associates Limited
Well, I certainly didn’t expect that kind of interest in my last post. In the past I’ve tended to have a few hundred people reading my infrequent mumblings. In the last few days nearly 20,000 people have popped by according to my site statistics, leaving nearly 150 comments. Crikey!| Welcome to DNA on Dan North & Associates Limited
TL;DR Software Craftsmanship risks putting the software at the centre rather than the benefit the software is supposed to deliver, mostly because we are romantics with big egos. Programming is about automating work like crunching data, processing and presenting information, or controlling and automating machines.| Welcome to DNA on Dan North & Associates Limited
Last year I wrote about how we are doing planning all wrong, or rather, how we seem to focus on the wrong things when we do planning. We obsess about stories and story points and estimation, because that’s what we’ve been taught to do.| Welcome to DNA on Dan North & Associates Limited
I’ve been in the IT industry for about 20 years now, and for nearly the last 8 years I’ve been a consultant with the rather excellent ThoughtWorks. Being anywhere for that long in our industry is quite uncommon, and to spend that long in a consulting role, with all the travel and disruption that implies, is even more so. I’ve had a fantastic time with ThoughtWorks and I feel I’ve grown tremendously during the time I was there. Eventually something had to give though, so at the end of ...| Welcome to DNA on Dan North & Associates Limited
Once upon a time there was a lady in a taxi. It took such a long time for the lady to get to her destination in the taxi that she went to the town hall and told the man from the council. The man from the council wanted to figure out why the taxi journey was so slow, so he placed cameras at all the traffic lights in the town to measure how many cars went past, and how quickly. The traffic light cameras would click every time a car went past the lights.| Welcome to DNA on Dan North & Associates Limited
I currently have a backlog of about 15 blog articles I am failing to finish. The most embarrassingly laggy one dates from around the end of 2007. Now I know I’m a slacker. However, others have been far more industrious than me.| Welcome to DNA on Dan North & Associates Limited
I am delighted to announce the official Japanese translation of Introducing BDD.| Welcome to DNA on Dan North & Associates Limited
I’m delighted to be taking part in a In the brain of… session organized by the folks at SkillsMatter.| Welcome to DNA on Dan North & Associates Limited
Business people want estimates. They want to know how much it’s going to cost them to get a solution, and they want to know how likely it is to come in on time and on budget. And of course quality is not negotiable.| Welcome to DNA on Dan North & Associates Limited
There’s a one day domain-driven design event happening at SkillsMatter this Friday, 19 June in London. I’m not speaking this time so I get to sit back and enjoy some talented folks talking about really applying DDD rather than just theoretical stuff.| Welcome to DNA on Dan North & Associates Limited
Next week I’m doing a new talk at the Better Software Conference in Las Vegas about learning models, where I was planning to talk about various learning styles and about how ineffective and systemically flawed most school systems are. Then I read up on Edward de Bono’s Six Thinking Hats model (I’ve linked to Liz Keogh’s write up because it was her who introduced me to it), which I’ve subsequently used to facilitate a workshop, and was amazed to say the least. So much so that it caus...| Welcome to DNA on Dan North & Associates Limited
A friend of mine has a Far Side desk calendar that he describes as a barometer for how busy he is. Some days he finds himself tearing off a whole bunch of pages because he’s been too busy or distracted to tear one off each day.| Welcome to DNA on Dan North & Associates Limited
It’s finally happening - I’m writing a book! Well ok, the remarkable David Chelimsky is writing a book. It’s called Behaviour Driven Development with RSpec, Cucumber and Friends and myself and a few other folks are contributing in varying degrees.| Welcome to DNA on Dan North & Associates Limited
…or why Mockito is my new friend.| Welcome to DNA on Dan North & Associates Limited
Some ancient history Back in 2003 I started work on a framework called JBehave. It was an experiment to see what JUnit might have looked like if it had been designed from the ground up for TDD rather than as a unit testing framework. I was also starting to use the phrase “behaviour-driven development” to describe what I meant. The jbehave.org domain was registered and the first lines of code written on Christmas Eve 2003, much to my wife’s bemusement. Over time JBehave grew a much more ...| Welcome to DNA on Dan North & Associates Limited
Should examples/tests/specs/whatever be DRY (Don’t Repeat Yourself)? I’ve been thinking (and talking and arguing) about the value of test names recently and whether they are just unnecessary duplication, but that’s the subject of a future discussion. This is about the actual content of your examples. So, should your examples be DRY?| Welcome to DNA on Dan North & Associates Limited
A discussion unfolded recently on an internal mailing list that tied together two of my favourite topics, namely learning theory and Lean.| Welcome to DNA on Dan North & Associates Limited
Right now I have a whole pile of blog articles backed up that I’m in the middle of writing. This post jumped the queue because it is by far the most important.| Welcome to DNA on Dan North & Associates Limited
If you are reading this with Internet Explorer 6 you are at risk Ok, first things first. If you read this blog using IE6, you should check your machine for malware using Microsoft’s anti-malware tool or your favourite anti-virus suite. You should also consider installing Firefox with its ad-blocking goodness and lack-of-ActiveX-ness.| Welcome to DNA on Dan North & Associates Limited
Next week I’ll be talking about Best Practices, a current favourite topic, at the ExpertZone Developer Summit in Stockholm. Last year I ran a half-day workshop about SOA and gave a keynote with Erik Dörnenburg about simplicity in software, and this year I wanted to do something a little different. So when I heard there was a track called called “People Matters Too” I was keen to get involved.| Welcome to DNA on Dan North & Associates Limited
Last October I was privileged to give a keynote talk at the Øredev conference in Malmö, Sweden. It was a late substitution. The original speaker, testing guru James Bach, had to cancel at the last minute for personal reasons. I felt pretty intimidated stepping into his shoes, especially since the other keynote presenters were Joel Spolsky and Andy Hunt, but I figured since no-one had heard of me I’d probably slip under the radar.| Welcome to DNA on Dan North & Associates Limited
I’ve been pretty slack at letting people know about upcoming talks. I could blame workload or burnout or any number of other plausible-sounding reasons, but a lot of it is just down to not prioritizing very well. I should fix that.| Welcome to DNA on Dan North & Associates Limited
I was in a hotel in Stockholm recently and I noticed a bottle opener attached to the wall in the bathroom. There was a bilingual sign under it which got me thinking about the term “bottle opener” itself. (I was giving a talk about BDD the next day so I was already thinking about how language is used.) It occurred to me that “bottle opener” is a great example of goal-oriented vocabulary. The device itself is actually a cap remover, and it only works on one particular design of metal ca...| Welcome to DNA on Dan North & Associates Limited
Apologies if you are looking for any articles or trying to post a comment and you are getting 404 errors, or if you wondered where jbehave.org or behaviourdriven.org had gone. Over the last few days I’ve managed to completely hose my server running Debian testing distribution, and I’ve had to downgrade to Debian stable. This involved some rsync backups and a complete reinstall of the virtual server. Apologies especially to the lovely people whose blogs I host and who have been extremely p...| Welcome to DNA on Dan North & Associates Limited
It’s now about two weeks to OOPSLA, where Liz Keogh and I will be presenting a workshop on behaviour-driven development using JBehave. This will be along similar lines to the workshop I co-presented at RailsConf Europe last month.| Welcome to DNA on Dan North & Associates Limited
So it’s that time of year again. I’ve got a number of conferences and workshops coming up, ranging over all sorts of topics. I just popped over to Martin Fowler’s site (I’m doing a talk with him this week) and noticed that he has a much more organized setup than me. All his events are in a sidebar and there is a handy link if you want more details. Another idea to go on my to-do pile.| Welcome to DNA on Dan North & Associates Limited
This is the first of an occasional series of posts about Linux systems administration. I’ve been an on-off Linux sysadmin for about, well, my first Linux was Slackware on a stack of 3.5" floppies. Every now and then I do something “fiddly” and I want to capture these episodes in case I ever need to do it again, or in case someone else wants to and they find this useful.| Welcome to DNA on Dan North & Associates Limited
During the past few years, service-oriented architecture (SOA) has become a mainstream approach for designing and developing enterprise software. As with most new technologies, the adoption of SOA has been led by software vendors and shaped by their particular tools and sales targets. Naturally it is in the vendors’ interest to emphasize the complexity of SOA and then provide a timely and profitable solution. This leads many systems architects into a technology-centric view of SOA, when, in...| Welcome to DNA on Dan North & Associates Limited
Earlier this year I wrote an article to introduce service-oriented architecture to non-technical people. It was published in the May 2007 issue of Better Software magazine. The kind folks at Better Software have allowed me to provide a PDF version of the article, complete with retro 1950s graphics. You can also read it as a single html page. Please post any comments here, because I’ve disabled comments on the page itself.| Welcome to DNA on Dan North & Associates Limited
How about that? You wait ages for a BDD framework in .net and then two come along at once! Ok, to be fair NSpec has been around for a while. However I’m talking about describing application behaviour in terms of stories and scenarios, to complement NSpec’s description of interactions between objects. (As a side note, I would love to see NSpec adopt rspec’s describe/it vocabulary rather than using contexts and specifications.)| Welcome to DNA on Dan North & Associates Limited
It turns out that having a day job can play havoc with your blogging activities. I’m posting a round-up of recent activities, in no particular order, with the intention of expanding on each of these topics in the coming weeks. But we all know what happens to intentions. This is mostly a brain dump to make me feel guilty enough to write some of it up, so feel free to skip it if you’re busy. That FaceBook page isn’t going to update itself you know.| Welcome to DNA on Dan North & Associates Limited
RBehave is a framework for defining and executing application requirements. Using the vocabulary of behaviour-driven development, you define a feature in terms of a Story with Scenarios that describe how the feature behaves. Using a minimum of syntax (a few “quotes” mostly), this becomes an executable and self-describing requirements document. BDD has been around in the Ruby world for a while now, in the form of the excellent RSpec framework, which describes the behaviour of objects at th...| Welcome to DNA on Dan North & Associates Limited
I’ve got a number of tutorials, conference sessions and keynotes coming up over the next few months that I’m very excited about. My themes for this year are behaviour-driven development, SOA for human beings and understanding what simplicity really means. Looking at these, there is an overarching theme about getting different kinds of people talking to each other in plain English (for some value of English). Keynote at QCon, 14-16 March, London QCon is the London version of the excellent ...| Welcome to DNA on Dan North & Associates Limited
So I was hanging out with a bunch of geeks in Switzerland, having one of those late night conversations, and an idea sort of emerged, and the more I thought about it, the more I liked the idea. And then I was thinking that a) I’m useless at following through on ideas and b) I would love someone to take this forwards. So here it is. Our premise was that the value of automated testing is in its repeatability and low investment (in terms of human effort). However, running the same tests all th...| Welcome to DNA on Dan North & Associates Limited
At a recent software architecture workshop, I was discussing the ideas behind BDD with a great group of people (more about that soon). One theme that kept coming up was the fact that I needed to write much more about BDD as an entire methodology, and to address the current perception that it is just a repackaging of test-driven development (which, to be fair, is where it started). As I was describing the workings of BDD, I discovered that I had made the assumption that everyone knew what a St...| Welcome to DNA on Dan North & Associates Limited
Ok, so I’ve been blog-tagged. Twice in fact, by Patrick Kua and Mats Helander. Apparently the rules are that I have to tell you five things about me that you probably didn’t know, and then I have to tag a bunch of other people. Except that this is the Interweb, blog-tagging is exponential and I’m usually the kid who gets picked last, so there are probably only about 4 people left on the planet who haven’t been tagged.| Welcome to DNA on Dan North & Associates Limited
Behaviour-driven development is an “outside-in” methodology. It starts at the outside by identifying business outcomes, and then drills down into the feature set that will achieve those outcomes. Each feature is captured as a “story”, which defines the scope of the feature along with its acceptance criteria. This article introduces the BDD approach to defining and identifying stories and their acceptance criteria.| Welcome to DNA on Dan North & Associates Limited
I’ve been having difficulty recently with a trend I’m seeing on projects. What happens is this: we (an agile development team) engage with a client for a short period—typically 2-4 weeks—to investigate how we might work with them to solve their problem. During this period, we drive out lots of stories, do some technical investigation and estimation, and out of this we generate a high level release plan. All very good, you might think. But then, unfortunately, everything is mysteriousl...| Welcome to DNA on Dan North & Associates Limited
At the beginning of this year I wrote a feature article for Better Software magazine, which was published as “Behavior Modification” back in March. The article is now available on my site. It gives an overview of behaviour-driven development, from its origins as a coaching aid for TDD through to its current form as a proven, comprehensive development approach.| Welcome to DNA on Dan North & Associates Limited
I was going to write about the various ways that people learn, and then my colleague Jeremy Stell-Smith wrote an excellent article describing one of my favourite learning models, so go and read that and I’ll see you back here shortly. Jeremy also alludes to Shu-Ha-Ri, another learning model based on repeating “cycles” of learning, found in Japanese martial arts (I haven’t linked to a single definition because there are a few subtly different ones around).| Welcome to DNA on Dan North & Associates Limited
When Darwin’s “On the Origin of Species” was published, evolution was already a well-established idea. Darwin’s insight was that evolution—through the process of natural selection—led to the introduction and extinction of entire species. This of course upset the established church, and to this day there are still religious groups who reject the idea, in the face of overwhelming scientific evidence. The early twentieth century saw the rise of “neo-Darwinism”, which finally prov...| Welcome to DNA on Dan North & Associates Limited
Behaviour-driven development started life as an NLP exercise to stem the abuse of the word “test” in “test-driven development”. Since then it has grown into a respectable and proven agile methodology (with a small “m” of course). Dave Astels, the award-winning author, was an early adopter of BDD and has been instrumental in raising its profile. He presented it at Canada on Rails and is taking it to JAOO and SD Best Practices. He has even presented it to Google. His Ruby BDD framew...| Welcome to DNA on Dan North & Associates Limited
This question came up at the recent Expo-C conference, when presenter Michael Stal talked about designing services to be “as simple as possible but no simpler”. Kent Beck advises us to do “the simplest thing that could possibly work”, but this is often mistaken for “the first thing I could possibly think of” or even “the only thing I know” (also known as the Golden Hammer antipattern). We picked up the topic as an open space session later that day. I took the position that you...| Welcome to DNA on Dan North & Associates Limited
Adopting agile practices is a step-change for many senior managers and business sponsors. Don’t underestimate the importance of getting them onside early in an engagement, and making it “safe” for them to explore and adopt agile practices.| Welcome to DNA on Dan North & Associates Limited
I am lucky enough to have been invited to present at Expo-C, a software architecture conference based in Carlskrona, Sweden. The dates are 16th to 19th May 2006. At the risk of dropping names, last year’s conference included sessions by the likes of Rod ‘Spring’ Johnson, Rickard Oberg and Jimmy Nilsson, and this year’s line-up includes, well, take a look for yourself. In a moment of insanity, the organizers have given me a whole day to play with, the Tuesday, so I’ll be running a nu...| Welcome to DNA on Dan North & Associates Limited
From the session summary The Ruby language has taken the development world by storm. Its combination of clean, object-oriented syntax (everything is an object) coupled with Perl-like platform independence and inline text processing power make it a useful tool both for writing small utilities and as a rapid prototyping language. The popular web framework, Ruby-on-Rails, allows for easy development of highly-functional web applications. This session will explore these aspects of Ruby, namely fo...| Welcome to DNA on Dan North & Associates Limited
I was lucky enough to attend the Software Architecture Workshop in Cortina recently. It was a three day workshop based around the idea of Open Spaces, which involves handing the asylum keys to the inmates and seeing what happens. I convened a session called “What’s so hard about Event-Driven Programming?” to explore the experiences of the other delegates in designing, implementing and testing asynchronous, event- or message-driven systems. I took the position that actually it was all ve...| Dan North & Associates Limited