Software development is Product Development

Here’s a wee snippet from an old presentation of mine that shows the difference between Product Development and Manufacturing (powerpoint animation).
Software development, if you didn’t know, is mostly product development, with just a tiny little bit of manufacturing thrown in at the end when the final product is shipped/released into use.
Notice a few things:
- Product development is iterative.
- It requires TESTING (or tasting, if you’re making cakes), in order to LEARN, because you are trying to figure out what the SPECIFICATION looks like.
- TESTING happens before you finish the specification. Not after.
- A good definition for Quality for PRODUCT DEVELOPMENT is from Joseph Juran : “Quality is Fitness for Use”.
- A good definition for Quality for MANUFACTURING is from Philip Crosby: “Quality is Conformance to Specificiation”.
- The Waterfall mechanism is based on Crosby’s definition. That is, figure out the recipe/specification before you build.
- If you build cakes based on a spec that hasn’t been tested yet then the cakes are gunna taste aweful and you’ll end up fixing them after they’ve been manufactured. That is, you can’t, in product development, know what the spec is until you’ve done a good bit of testing (tasting) so if you build the product without doing lots of testing for “fitness of usage” first, then you’re product is going to crap.
- And, then you’re going to spend lot’s of time fixing the product until it is “fit for usage”. But that fixing is going to be very expensive.
- The Agile mechanism is designed to be iterative and involve lots of testing (feedback). Just as good product development should be.
do you build the quality by improving the processes or by improving the product!
Posted by: Usman | December 18, 2005 at 10:26 PM