| Adapting Extreme Programming
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Kent Beck posted this today to the XP-mailinglist.
I’ve been thinking about the problems of applying XP to whole
organizations. Turns out this is ground thoroughly covered by the lean
production folks.
Here is a paper I found helpful: www.nwlean.net/no_harm.zip The
premise is that every step of the transformation must pay for itself.
Getting people to understand that their problems are tractable can be hard,
I’ve found. Rob Mee was talking to a guy about TDD on a gig of ours
recently. "Sure, yeah, TDD is a great idea." "Why
don’t you do it?" "It’ll make us go slower."
"But it makes you go faster." "Yes, of course, but
it’ll make us go slower." "But it’ll make you go
faster" *iterate N times for annoying large N* "Okay, it makes
people go faster everywhere but here."
|
| Kaizen Events
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Keith Ray) Keith Ray has an interesting entry on Kaizen Events in
his blog.
Kaizen Event definition from Ray’s blog: The Kaizen method is a
"rapid improvement process" utilizing a cross-functioning group
of managers and employees working as a team to meet targets in a
results-oriented focus on a predefined project area. The process may take
the following steps: define the problem/opportunity, choose the best
people, and correct the problem in one week or less using Kaizen tools and
techniques. The ultimate goal is to significantly reduce costs, reduce lead
times, reduce required inventory space, enhance workforce empowerment,
eliminate waste, and focus on continuous improvement. The Kaizen process
may include: new product development, robotics, total quality control,
Just-in-Time, statistical quality control, labor and management relations,
or other concepts.
|
| When Should We Test?
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Kent Beck, one of the people that invented extreme programming (XP) offers
an economic model. The financial risk management community and the software
development community can learn a lot from each other. Think of this
article as: When should you put Risk Management into place?
Amongst other things this article tells you when best to have children :-).
groups.yahoo.com/group/extremeprogramming/files/when%20should%20we%20test.pdf
|
| Lean Software Development: An Agile Toolkit by Mary and Tom Poppendieck
|
|
25 Sep 04 |
|
[print
link
all
] |
Very interesting book. Highly recommended. This books brings the lean
production principle to software development. Seven lean principles:
- Eliminate waste: Spend time only on what adds real customer value
- Amplify learning: When you have tough problems, increase feedback
- Decide as late as possible: Keep your options open as long as practical,
but no longer
- Deliver as fast as possible: Deliver value to customers as soon as they ask
for it
- Empower the team: Let the people who add value use their full potential.
- Build integrity in: Don’t try to tack on integrity after the fact -
build it in
- See the whole: Beware of the temptation to optimize parts at the expense of
the whole
Link
|
| Simple things ..
|
|
25 Sep 04 |
|
[print
link
all
] |
I was just now doing some research on bus ticket clearing houses and I came
across his post in rec.travel.europe from 2001 by Michael Forrest.
>Reciprocity is not guaranteed on airlines (or toll bridges - it
>has always amused me that the toll on the Severn Bridge between
>England and Wales is GBP 4.20 for a car to enter Wales but there
>is no toll the other way, ie entering England). (Maybe it shows
>how the two countries value themselves?)
All of the bridges in the San Francisco Bay area only charge toll in one
direction. Some genius realized that, on the average, just about as many
cars went each way for the obvious reason that most trips across the
bridges are round trips. So they doubled the toll and took down the toll
booths going one way (except for the Golden Gate Bridge where the toll
booths remain, unattended). There has been considerable saving in toll
collection costs and the toll booth traffic jams in one direction are gone.
Is it possible the Severn Bridge does similarly?
|
| Modeling on White boards
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Scott Ambler) I just posted "Software Modeling on
Whiteboards" at link.
It describes how whiteboards can be an effective modeling tool.
Basically it’s an ad for Whiteboard Photo. ;-)
|
| Software Bug Causes Soyuz To Land Way Off
|
|
25 Sep 04 |
|
[print
link
all
] |
|
A mysterious software fault in the new guidance computer of the Soyuz TMA-1
spacecraft was the cause of the high-anxiety off-course landing over the
weekend, according to NASA sources.’ Which is why I will never trust
the Strategic Defence Initiative - the star wars project. It only takes one
line of mistyped code in what will always be a beta release. www.msnbc.com/news/909677.asp
|
| XP style process and battle-fields
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Not that I want to promote war in any way, but these posts in the
extremeprogramming-ML made me smile:
Phlip:
During the planning game, you review last week's
finished stories, and they inspire you to write some
new cards, to edit some cards, and to toss some cards.
Then you (the Onsite Customer) re-sort all the cards,
and draw off the top batch for the next week.
But another input into this system that affects the
planning game - the competition.
The USA occupied Iraq using an effective new battle
technique. In traditional advances, you send a
diversionary force against one of your enemies flanks,
draw them that way, then send your main force against
their other flank.
Modern soldiers, with cell-phones and such, follow a
more agile approach. You simply send two forks of your
forces, probing towards both flanks. You use sensitive
algorithms to detect the defending commander's
decision which flank to defend. If you can rapidly
turn one advance into the diversion, and the other
into the main attack, you will soon collapse the
opposition's ability to effectively make decisions.
Agile onsite customers can play this card too. If you
detect your competition's marching orders, in
real-time (using either sensitive algorithms,
good-old-fashioned industrial espionage, or just
reading their self-congratulatory Web site), you can
then request iteration features which provide the
minimum amount of code needed to start your project
towards blocking the competition's advance. This
technique will, again, collapse the competition's
ability to make decisions.
Or convince them to hire an XP coach or three. So
either way it's a win-win-win for us! ;-)
Steven’s reply: :-)
Or you could follow the agile strategy that Microsoft
pioneered - announcing products with your competitions'
features before you even start implementing them.
|
| Industrial waste - Process waste
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Phlip posted this to the XP list) "Industrial waste" is
when a factory produces something it shouldn’t. Heat, smoke, extra
chemicals. This is wasteful because it represents energy and materials that
went into the factory, but did not come out as product.
"Process waste" is the behaviors that don’t produce a
working product. The biggest waste in the industry today is
"programming in the debugger". This is so endemic nobody even
calls it waste. Our vendors work very hard to supply us with advanced
debuggers, so we can merrily cause problems and then fix them, instead of
preventing problems.
Another big waste is delayed integration. Some shops account for how many
modules we must write, then specify the modules’ interfaces, and tell
each programmer to write a module separate from the others. Then at the end
of this cycle the programmers start trying to integrate. They might not
even have build scripts to plug the modules together; they might find
themselves manually integrating by clicking on the user interface to an
IDE.
Delayed integration costs some orders of magnitude more than the cumulative
cost of continuous integration does.
Get ahead of these problems. Write tests first, constantly review code,
don’t own code, and integrate continuously. Write and maintain build
scripts that support all these behaviors seamlessly.
Don’t delay surprises. If "our product has an installer"
appears as a motherhood story, integrate the installation system early, and
test it every day. Don’t wait for the last iteration.
The ideal is that the last week before a big release should look and feel
just like any other.
|
| Lean Manufacturing and Software
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Bill Wake) Is writing software more like manufacturing cookies or
more like designing cookie cutters? It’s easy to wish that we could
develop software like a factory stamps out cookies, but software has a
design or creation element that is missing in that analogy.
But there are similarities: software is developed in stages, it is created
in a process amenable to change, and it’s developed in a team. Lean
manufacturing is a different approach than a traditional assembly line, and
offers some lessons for software development. xp123.com/xplor/xp0312/index.shtml
|
| What's the Second Directive?
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Ron Jeffries, aka Mr. XP) I’m been struggling for years with
notions like having empathy with our mistakes, Kerth’s Prime
Directive, and the like. Springing from a couple of notes on the
extremeprogramming group, and a blog entry from Dale Emery, here’s my
latest rant. xprogramming.com/xpmag/jatPrimeThis.htm
|
| The Best and Worst of Statistical Graphics |
|
25 Sep 04 |
|
[print
link
all
] |
|
This Gallery of Data Visualization displays some examples of the Best and Worst of Statistical Graphics, with the view that the contrast may be useful, inform current practice, and provide some pointers to both historical and current work. We go from what is arguably the best statistical graphic ever drawn, to the current record-holder for the worst. link
|
| [XP] Alistair interview on IT Conversations
|
|
25 Sep 04 |
|
[print
link
all
] |
|
I was just sent the link for an online interview about agile development.
The interview was done last month, it got posted yesterday. You don’t
have to register to listen
link
|
| Extreme Leadership
|
|
25 Sep 04 |
|
[print
link
all
] |
|
An interesting read. Patterns of extreme Leadership by Kent Beck. pdf
|
| Selling XP
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Alistair Cockburn has a very interesting paper on "The Costs and
Benefits of Pair Programming". Of course Pair Programming is not the
only "extreme" aspect of extreme programming but Alistair’s
article contains some very interesting metrics (seems a lot less
"extreme" after reading Alistair’s article). members.aol.com/humansandt/papers/pairprogrammingcostbene/pairprogrammingcostbene.htm
|
| The Irony of Extreme Programming
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Ron Jeffries) The irony of Extreme Programming is that while
detractors continue to explain why it cannot work, software developers all
over the world are having success with it. www.xprogramming.com/xpmag/jatIronyOfXP.htm
|
| "Example instead of test-first"
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Just now seen on the pragprog-list by Massimiliano Mirra: Many have a
problem with ``test-first’’ because they can’t see how a
test can come before the thing to be tested even exists. So I just replace
the word ``test’’ with ``example’’, and tell the
student that ``one great thing is that not only examples do tell you where
to go with your program, but if you shape them in a certain way,
they’ll also serve as tests later’.
Example isn’t another way to teach, it is the only way to teach.
--Albert Einstei
|
| Working on a book: Driving Software Projects with Examples
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Brian Marick posted this to agile-testing.
I’ve started work on a book, tentatively titled _Driving Projects
with Examples: a Handbook for Agile Teams_. All that’s done to date
is the Preface.
Two years ago, this would have been about driving projects with tests, but
I think the role of examples in projects is larger than that. Also,
examples fit more obviously into the whole "individuals and
interactions over processes and tools" thing. Examples are something
people use to explain themselves to each other. Conversations and learning
are more obviously part of the picture.
Because I’m so hot on examples, I’ve put the draft book on a
new site, exampler.com. Here’s the book: <www.exampler.com/book/>
(And, rather than "QA", "tester", or even
"ECaBian", "exampler" might be a good name for those
people on an Agile project that exhibit certain traits more strongly than
other team members.)
Some of you practice the style of development I’m documenting - or
variants of it. If you do, I want to talk to you, be it on the phone, or
via emai, or in person. (I am budgeting travel money to visit worthy
sites.) I’m serious about the "handbook" in the title: I
want to fill it with tricks, tips, techniques, and stories. The more people
I gather them from, the better the book will be.
|
| A Metric Leading to Agility
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Ron Jeffries) Nearly every metric can be perverted, since up- and
down-ticks in the metric can come from good or bad causes. Teams driven by
metrics often game the metrics rather than deliver useful software. There
is a single metric that demands that a team become both agile and
productive.The result: better projects done in better ways. www.xprogramming.com/xpmag/jatRtsMetric.htm
|
| Test First, by Intention
|
|
25 Sep 04 |
|
[print
link
all
] |
|
A code and culture translation from the original Smalltalk to Ruby Original
by Ronald Jeffries, translation by Aleksi Niemela and Dave Thomas. www.rubycentral.com/articles/pink
In this document we show you the Ruby version of the Smalltalk code
published in the pink book.
|
|
|