Re: Re: SIP is not Takt Time
Ron Jeffries <[email protected]> Mon, 10 Feb 2003 07:24:08 -0500
| Newsgroups | gmane.comp.programming.software-in-process |
|---|---|
| Organization | XProgramming.com |
| Message-ID | <[email protected]> |
On Monday, February 10, 2003, at 4:47:12 AM, Dan Palanza wrote: >>(I don't think we need new terms for most of this stuff, let's just >>use an existing set where we can.) > Good thinking, but might it be wise to model software's production > terminology in analogy to a product whose production plan more resembles > software's. A high volume assembly line, lean or otherwise, seems to me to > have little resemblance to producing software. > Creating a movie, or a play, would seem to form a truer analogy. A design > plan and budget essential to building small buildings makes that trade a > lot closer than high production items as well. Using analogy as a source of > terminology is a good idea, but picking a likely analogy seems just as > important. Recognizing that analogies fail us here is important. There are aspects of software development that are much like creating a movie (at least to a guy who has never created a movie). Each feature is like a scene. It has some planned place in the movie, but it can be filmed at any time. In the final edit the scenes might be reordered or even cut. We might even go back and film some scenes after the main filming is done, to change or add something important. It seems to me that this long involved discussion of takt and lead and cycle time is far from the original notion that Kent raised: Here is the metric - the average number of days between when a new feature of a system is specified in detail and when it is first in the hands of real users, making you real money (or at least letting you know exactly why arent yet going to make real money.) I call this gap between specification and deployment Software-In-Process, or SIP. If a marketing person says a new feature should work like thus and so, and yadda yadda yadda four months later a real user really uses the feature, that part of the project gets a SIP ~ 120. On a pure XP project, if I understand XP and understand SIP, SIP is the (average) time from the first day of the iteration that implements a story until the day the entire system is next released to end users. I shall explain. No, it is too much. I shall sum up: SIP is "number of days between when a feature is specified in detail and when it is first in the hands of real users". A feature is clearly in the hands of real users when the system is next released, and not before. A feature is fully specified in XP by the conversation that takes place when it is actually built, and by the customer tests which are provided in the iteration that builds it. On a more conventional project, SIP is the (average) time from the day you have written a feature's full requirements document until the day the entire system is next released to end users. Kent's point, and he did have one, was that by reducing the time spent in useless documentation, thus increasing the frequency of shipping, you reduced SIP and gained value more quickly: The less work-in-process inventory we carry, the more feedback we get. If there is a six month gap between making a specification decision and realizing that the decision places an uneconomical burden on the systems design, there is no chance of catching the mistake early. If we can reduce the gap between decision and consequences, however, we have a chance of fixing the mistake when the consequences are small, and of learning not to make the same mistake in the future. Fixing mistakes when they are small and learning to work better in the future are both ways of saying the more feedback we get, the less effort we waste. Less waste leads to more predictability (and also, Ill claim, greater return on investment.) Here is where the picture changes. Imagine that you are on a project that just went from yearly releases to semi-annual releases by eliminating a bunch of useless paperwork. Sure, the doomsayers were out in force, claiming that you were abandoning the tried and true methods that had worked so well in the past. However, you shipped something in 180 days. It wasnt easy, but it wasnt bad. You know what you could do better next time. Fast forward a year. Semi-annual releases are now standard practice, and everyone is claiming to have initiated the idea. If 180 days was better than 360, what would happen if you went to 90? The more in control you feel, the more confidence you have that you could work with even less work-in-process inventory. Bingo! Positive feedback loop. The less work-in-process inventory you carry, the less work-in-process inventory you have to carry. Predictability comes along for the ride. Software isn't or chocolate cherries. In chocolate cherries, it probably matters how long it takes to make one, and how often we have to stop the line because someone discovers a cherry pit in the cherry feeder. The issues of cycle time, lead time, takt time make sense. Do they make sense in software development? I'm not sure. I'm here to report that, to me, the discussion is getting further and further from Software In Process, and I wish it would come back. I don't like chocolate cherries. Ron Jeffries www.XProgramming.com FEAR = Fantasy Experienced As Reality ------------------------ Yahoo! Groups Sponsor ---------------------~--> Get 128 Bit SSL Encryption! http://us.click.yahoo.com/LIgTpC/vN2EAA/xGHJAA/NhFolB/TM ---------------------------------------------------------------------~-> To unsubscribe from this group, send an email to: [email protected] Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/