Sunday, July 23, 2006

Post Something!

I decided tonight that I need to post something, even if it is less than impressive. So hear it is. You really should stop reading now since this being written largely to break a log-jam in my writing.

There are several topics I've been thinking of exploring:
  1. Book logs on some books I've started but not finished;
  2. Abortion and the flight from reason;
  3. The parallels between slavery before the Civil War and abortion now
Well, this is not much of a log-jam break, but it is a start.

Wednesday, May 17, 2006

Book Log: "Thomas More: A Portrait of Courage"

Book Log: "Lean Software Development, An Agile Toolkit"

Our reading group at work recently finished Lean Software Development, An Agile Toolkit by Mary and Tom Poppendieck.

There are several things I really like about this book:
  1. Its thinking is clearer than most. The Poppendiecks make sharp distinctions between principles, tools, and practices. (More on this will follow.)
  2. It presents an Agile approach without demanding that one follow all tenets of Extreme Programming (such as pair programming).
  3. It recognizes that in the past it has been a mistake to think of software development as being roughly analogous to manufacturing. Creating custom software is not very much like assembling cars within a factory.. Software development is much closer to product development, much more like the work that goes into designing the car in the first place. Principles (not necessarily techniques!) that work well in product design can have a much more straightforward application in software design.
  4. They specifically address the needs of safety-critical software, talking about how to apply these principles in environments that are heavily regulated or where a software failure may endanger lives.
The book does suffer at times from and affliction common to this genre: over-enthusiasm. There can be a sense that all we need to do is follow what they say and all will be well. But, for the most part, the authors provide reasonable, realistic guidance for those looking to improve the way they go about creating software.

Now that we have the overview, let's look at the meat of the book: Agile principles. There are seven Agile principles which should govern a group's software development process:

  1. Eliminate Waste
  2. Amplify Learning
  3. Decide as Late as Possible
  4. Deliver as Fast as Possible
  5. Empower the Team
  6. Build Integrity In
  7. See the Whole

A chapter is devoted to each principle. In each, the principle is described, examples are given from both product and software development, and a number of "tools" are suggested as ways to apply the principle in software development.

The principles are valid within any development effort, software or otherwise. For example, a good process will always seek reasonable ways to eliminate waste. In product development and manufacturing, waste may include scrap material that does not end up in a product. In software, the definition of "waste" will include things like partially done work, extra processes, extra features, waiting,
etc.

It is very important to keep the distinction between principles, tools, and techniques in mind. Principles must be reasonably applied to a given environment. The authors put it quite well: (pp. 179-180)
  • Eliminate waste does not mean throw away all documentation.
  • Amplify learning does not mean keep on changing your mind.
  • Decide as late as possible does not mean procrastinate.
  • Deliver as fast as possible does not mean rush and do sloppy work.
  • Empower the team does not mean abandon leadership
  • Build integrity in does not mean big, upfront design.
  • See the whole does not mean ignore the details.

One team's prescription is another team's poison. Do not arbitrarily adopt practices that work in other organizations; use the thinking tools in this book to translate lean principles into agile practices that match your environment.

I strongly recommend this book.

Friday, April 07, 2006

Totalitarianism: It isn't just for Mussolini anymore

FIRST THINGS: On the Square: "Everything within the state, nothing outside the state, nothing against the state."

Thursday, March 16, 2006

I Command my Ship with an Iron Fist

Picard
Jean-Luc Picard. You command your ship with an

iron fist and the children love you. Bah!!!

Humbug!! KIDS!!! >_<


Which Star Trek Character Are You?
brought to you by Quizilla