Jesper Boeg on Priming Kanban
In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Amr Elssamadisy on Oct 04, 2007
Case Study: IBM's Agile Transformation
A practical guide to choosing the right agile tools
A Guide to Branching and Merging Patterns
agility@scale eKit: 10 Principles, Scaling Model, Metrics, Collaboration
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
I totally take your point on being aware of the applicability of experiment results to a real world situation, but don't your points hold true for non-Agile Practices as well? I think they will even hold true for any issue which can be experimented with.
Why did you only use examples relating to Agile practices?
but don't your points hold true for non-Agile Practices as well?
You are absolutely right Jeff, these points hold for any experiments.
The main reason I brought it up on the Agile Queue is that, to date, all of the discussions I've had with colleagues around Agile experiments are misreadings/misrepresentations of experimental data. I figured that I'm probably not alone in this, so I decided to share this information with others who have found themselves in my situation.
"The experiment results showed that TDD developers took
more time (16%) than control group developers."
They didn't however take into account that there is very likely to be less bugs in TDD code than otherwise and it is more efficient to fix bugs as soon as they occur rather than further down the line.
The most effective approach I've heard of is to study real life projects. You need to study a lot of them, to to make sure your conclusions are valid. Alistair Cockburn did this, over a period of 10+ years. It's interested reading how his working hypotheses, about what makes teams successful, changed during that period. I've blogged about his research here, agilekiwi.com/scientific_experiments.htm
They didn't however take into account that there is very likely to be less bugs in TDD code than otherwise and it is more efficient to fix bugs as soon as they occur rather than further down the line.
You are absolutely right, but to do that with an experiment means that you need an extended amount of time (months? years?) and some way to evaluate design.
Experiments are notoriously hard to run correctly and extremely expensive. So maybe we shouldn't rely on them and find some other way to document things.
Patterns maybe?
There is significant research out there, and Cockburn's work is one of many. They are not experiments, however. <plug>For example, there is the Agile Adoption Patterns book.</plug>
These are orthogonal subjects.
Amr,
Your comment is correct about the typical agile book, which does not have any extensive scientific evaluation behind its recommendations.
However, there is a big difference between a book that explains how to do agile practices, and research that actually evaluates the effectiveness of the practices. Most books are in the first category; Cockburn's work is in the latter.
If you are suggesting that his work is no different from other "how to" books, then I take issue with that suggestion. If you have time to read his research (the doctoral dissertation is linked from my page above) you'll see that it contains a range of research techniques, including "field experiments, surveys, case studies, action research" and several other techniques. Those techniques, the rigour with which they were applied, the duration of the research (10 years), and the large number of projects evaluated all distinguish Cockburn's work from the typical agile book.
However, there is a big difference between a book that explains how to do agile practices, and research that actually evaluates the effectiveness of the practices. Most books are in the first category; Cockburn's work is in the latter.
Let me first say that I am not directly comparing my patterns work to Cockburn's research thesis, but offering a commonality. With that said, a cursory reading of the thesis says:
1)The more carefully controlled were experiments I ran in courses on object-oriented design and on use case writing.
and 2)The less formal experiments were those I used on live projects. Due to the delicacy of staying within the boundaries of project success, I had only a limited range of experimentation and limited measurement devices.
What you bring up John is exactly the point I'm trying to make in this article. We should not be intimidated by the words 'PhD', 'thesis', or a very well known name.
So, from the article, Cockburn's formal experiments fail external validity. The informal ones fail statistical validity, and have weak internal validity because they are not true experiments - no control groups and many confounding variables (for the same reason).
This does not mean that Alistair Cockburn's work is not important, but it does mean that they are not experiments and should not be treated as such.
Finally, the point of similarity between the patterns work and the PhD thesis is observation over many projects over long periods of time. The fact that I did not say 'the patterns work is based on X years of practice' does not mean it is not valid, only that I try to keep my comments from being too much of an advertisement ;)
Good point. The bulk of Cockburn's research uses a range of research techniques other than pure experiments. E.g case studies and other techniques to gain insight into a large sample of projects. That's often the best we can do. And if the approach is applied over a large enough number of projects, we can have reasonable confidence in the results.
It's certainly better than the alternative of, "Here's what we did on x projects", where x is some value less than, say, 10. Or, "Some smart people talked about it, and here's what they said you should do". Books written under those models can, and should, be questioned.
I think the important question is not, "do we have experiments?", but, "do we have evidence obtained in a rigourous manner from a large number of projects?". It was the latter that I tried to get across in my own post on this subject (even though I unwisely used the word "Experiments" in the title :-)
By the way, Amr, I haven't read your own book yet. What kinds of projects did you study? Those that were successfully doing XP? Those that were succceeding (and failing) with other processes too (e.g. other recognised agile processes, ad-hoc processes, non-agile, etc)?
think the important question is not, "do we have experiments?", but, "do we have evidence obtained in a rigourous manner from a large number of projects?". It was the latter that I tried to get across in my own post on this subject (even though I unwisely used the word "Experiments" in the title :-)
Agreed! I was just trying to say that people should take a closer look before citing work :)
By the way, Amr, I haven't read your own book yet. What kinds of projects did you study? Those that were successfully doing XP? Those that were succceeding (and failing) with other processes too (e.g. other recognised agile processes, ad-hoc processes, non-agile, etc)?
Since you asked...
This is based many different sources:
1) My own experience with Agile practices since late 1999 on the very first XP project at ThoughtWorks. So that gives me about 8 years of Agile practice with many different teams.
2) Some academic work I did at UMass Amherst with the LASER group (lab. for advanced software eng. research) where I did some research on the feasibility of experiments while looking for non-anecdotal evidence of the effectiveness of agile methods. (This is when I first took a critical look at existing research.)
3) 2 years of pattern mining with others in the field at different workshops and conferences including 2 ChiliPLoPs, 2 XP Conferences, a PLoP conference, an XPDay conference, and many informal conversations with friends and colleagues in the field.
Finally - I'm working on an expanded version with Addison Wesley which should be out (hopefully) in Q1 2008.
:)
In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
10 comments
Watch Thread Reply