A brilliant manager named David Anderson from Corbis hasa presentation up on InfoQ about his work in helping single project development teams, and eventually entire organizations, adopt a Kanban system for software development. Kanban is a japanese term that comes out of the lean manufacturing principles that originated with Toyota’s approach to manufacturing.
David describes setting realistic limits for the work in progress at various stages of the software development process and using a whiteboard and sticky notes in novel ways to accomplish this. He also goes into a variety of benefits realized in efficiency of the organization, quality of delivered features, collaboration of staff, customer satisfaction, and agility of the process that resulted from this.
I worked for about a year at a company that sells software to manufacturing companies before moving to Austin that was trying to get lean manufacturing software out the door, as well as find ways to adopt these principles internally. Through my reading about Toyota and lean manufacturing in general at the time, I had no doubt that utilizing these techniques (of which Kanban is only one) would mean big improvements at any company.
The challenge is always in selling decision makers on the approach. In the consulting environment you are often contractually obligated to deliver a project with a known set of functionality by a given date, and at a given cost. In this situation you would need to convince the client that by not knowing a final date for all the features up front, the other benefits in efficiency, quality, and agility outweigh the need to hit a specific date. The feasibility of selling this approach to a client depends on the motivating factors behind their choice of an end date, and the degree of confidence they have in you.