Lean Software Development
The Problem is that software projects still deliver an unacceptable level of quality and responsiveness. Part of the reason for this is the industrial-era Scientific Management approach. Part of the reason for this is the progamming culture that grows up around a language...
Lean software development provides information-era Lean management: Reduce Cycle-time and start expecting zero defects.
But the cultural issues and organizational structures remain extraordinarily difficult to deal with. Some hope may be appearing in a new programming language (and more importantly programming culture) Ruby. Ruby at it's core includes an agile way of development. Agile was not merely added onto Ruby after the fact like it was for J2EE (and .NET).
The promise of applying Lean-Thinking to Software development is available now. It consists of a Lean Business Model, combined with Agile Processes like Scrum and ExtremeProgramming (XP) , and a deeply Object Oriented environment and culture. All these parts are currently available.
Beating the competition only requires putting them all together.
CART Feb 2008 Presentations
Here are the presentations I gave at C-ART in Feb 2008.
Xp-Scrum Comparison
- Focuses on XP, where another presentation focused on Scrum
Lean Software Development
- A quick overview
Golden Road of Agile
- Proposal for uniting various approaches to create the Golden Road of Agile.
- Includes: Unix, Ruby, Rails, XP, Scrum, Lean Software Development, Thoughput Accounting.
- The feedback I got from the group was that it needs a better definition of the problem that it is addressing. So that is now on my TODO list.
Posted: Tue Feb 12 15:47:00 +0000 2008
Mountain Goat Software, site upgrade
Rails Studio constructed site gets an upgrade.

Mountain Goat Software is a Colorado, USA-based process and project management consultancy and training firm. Through its Certified ScrumMaster™, agile estimating and planning, user story, Certified Scurm Product Owner™, and other courses Mountain Goat Software founder Mike Cohn helps companies adopt and improve their use of agile processes and techniques in order to build extremely high performance development organizations.
Posted: Fri Oct 19 20:26:00 +0000 2007
Plugin: selection_options_for
Many selection lists in an application do not change and so the quickest way to code them is to put the list in the code itself. For example:
- Child, Adult, or Senior.
- Male or Female.
- Yes or No.
selection_options_for manages static selection lists. If you selection lists are dynamically generated this is not the answer.
selection_options_for allows you to
- keep the display labels in the model
- store a 1 character flag in the DB
- test the value with methods in the code
class Article < ActiveRecord::Base
selection_options_for :file_type_option,
[ :pdf, 'PDF'],
[ :hmlt, 'HTML'],
[ :text, 'X', 'Textfile']
end # class
Then you can do stuff like ....
assert file_type_option_pdf?
OR
<%= select :article, :file_type_option, Article.file_type_options %>
More examples are in the README file. Code available here ... or use ...
svn export --username anonymous http://railsstudio.com/svn/pub/plugins/selection_options_for/trunk selection_options_for
Thanks to Scott Barron for code review and tips on tightening up the code.
Related post:
Multi-select lists boxes in Rails
Posted: Fri Mar 16 16:04:53 +0000 2007
New Live Site: Scrum Alliance
Yet another site built by Rails Studio enters production.
The Scrum Alliance is a non-profit organization committed to delivering facilities, stories, courses, and other materials that will help Scrum users be successful.
The Scrum Alliance's mission is to promote increased awareness and understanding of Scrum, provide resources to individuals and organizations using Scrum, and support the iterative improvement of the software development profession.
The Scrum Alliance founders are: Ken Schwaber, Mike Cohn, and Esther Derby.
Scrum is an iterative, incremental process for developing any product or managing any work. It produces a potentially shippable set of functionality at the end of every iteration
Posted: Mon Feb 12 00:09:00 +0000 2007
New Live Site: Agile Alliance
A new Rails Studio constructed site enters production.

The Agile Alliance is a non-profit organization that supports individuals and organizations who use agile approaches to develop software. Driven by the simple priorities articulated in the Manifesto for Agile Software Development, agile development approaches deliver value to organizations and end users faster and with higher quality.
Posted: Tue Jan 02 16:33:00 +0000 2007
Edge Rails (aka 1.2) reaper
If your working with Edge Rails (the soon to be Rails 1.2) you may have noticed that the *-d* option for script/process/reaper has gone away.
Read Full Entry ...
Posted: Mon Oct 30 19:02:17 +0000 2006
Live Site Announcement: Mountain Goat Software
A new Rails Studio constructed site enters production.
Mountain Goat Software is a Colorado, USA-based process and project management consultancy and training firm. Through its Certified ScrumMaster™, agile estimating and planning, user story, Certified Scurm Product Owner™, and other courses Mountain Goat Software founder Mike Cohn helps companies adopt and improve their use of agile processes and techniques in order to build extremely high performance development organizations.
Posted: Thu Oct 26 00:18:00 +0000 2006
Waste Fear Greed
I recently gave a presentation about Agile and Lean software processes. It's titled: Agile: Waste, Fear, and Greed
During the talk I mentioned quite a few times that I see Rails as the next wave in the Agile movement. So, here's the link to Rails
Posted: Thu Sep 28 04:27:47 +0000 2006
Test::Unit timer
Test::Unit command line runner shows progress by outputing a dot '.' for every test thats completed sucessfully.
I wanted to know which in that line of dots was going slow.
My solution was to hack into Test::Unit and add a time limit argument. If the test takes longer than the time limit it prints the name of the test and the elapse time.
To get Test::Unit to report tests taking excessive time, define the environment variable TEST_TIME to whatever time you want.
- export TEST_TIME=1.0; rake
This will report every test that takes longer than 1.0 seconds to run.
- rake TEST_TIME=0.0
This will report times for all tests
Here's the code
Read Full Entry ...
Posted: Wed Jul 19 11:01:00 +0000 2006
More Postings: 1 2 3 4 5

