Decomposing the story formatWorking with several clients, I see
differing story formats. The format I see most recommended is "As a, I
want, So that". The format I see most utilized is "I want". Isn't this
the important part of the...
In order to perform tests, you create fixtures such as the System Under Test and input or output data. Usually this fixtures are just objects.Garbage collection, a mechanism present in many languages, deletes objects and variables (and thus fixtures) when...
Today is the tenth anniversary of the start of the meeting that
resulted in the Agile Manifesto. Much has changed in the ten years since
the Agile Manifesto. Back then, the processes encompassed by the
Manifesto—Extreme Programming, Scrum, DSDM,...
With our Art of Agile Planning
training course coming up at the end of the month, Diana Larsen and I
met for our normal pre-course review and revision. We had tried teaching
the material top-down and bottom-up, and both ways caused confusion in
Sometimes we are in the middle of writing a test and another possible, unrelated test comes to mind. Now we are in a tough situation: Test-Driven Development tells us to go one step at a time for good reasons. But if we just wait before inserting that test,...
I’m not typically a person that takes issue with someone or some else’s
post on my blog. I’m of the opinion that blogs are there to put forth
your ideas. However, I happened across two posts today, one that
references the other.
Here's a typical "I don't like TDD" question: the topic is "Does TDD really work for complex projects?"Part
of the question focused on the difficulty of preparing test cases that
cover the requirements. In particular, there was some...
When tests are complex, or long to run, you may be tempted to insert ifs, for cycles and other logic. However, this practice may result in bugs introduced in your testing logic: after all, no one is testing the tests.Usually, you can easily replace most of...
Building an effective, elegant, and enduring architecture requires a strong vision and smart people who can implement it. The interaction between developers is just as important as the coding process. Kevlin Henney's two talks at the 2010 Norwegian...
Philippe Kruchten is a Canadian software engineer, Professor of
Software Engineering at the University of British Columbia in Vancouver,
co-developer of the Rational Unified Process (RUP), and author of