Thurman,
The Deming cycle embodies some important concepts, but your breakdown of it for 
software
development does not fit very well with my understanding.

In following the link below, it seems to me that the central element is the 
application of
the concept of a feedback cycle to business pactices. That seems a very 
powerful idea and
interestingly there is the acknowledgement that some phases of the overall 
cycle are
complex enough to contain sub-cycles. This mention of "wheels with wheels" 
begins to touch
on what I see as a fundamental inadequacy of non-recursive process models for 
describing
software development.

Given the ready availability of computing resources and the fact that computers 
are our
most powerful tools for analyzing and solving complex problems, software 
development is
essential problem solving behavior that can be applied to any abstract problem 
area -
including software development. I routinely write software to help with the 
analysis of
problems and to facilitate coding, documentation, testing. maintenance, etc. 
Many programs
that I write are for my own use or for the use of other programmers. Some are 
used once
and discarded, others become integral to our development environment or to our 
overall
user interface or computing paradigm etc and stay in place for many years.

Software development cycles can easily exist within all of the phases of the 
Deming cycle
and for a simple application or well defined product, it seems to me that the 
major phases
of software development could all well fit within the "DO" phase of the Deming 
cycle, at
least from some management perspectives. Software maintenance does not seem to 
fit
particularly well in the ACT phase - rather it would be in the spinoff of 
successive
cycles of development and feedback at many levels. Software development (and 
problem
solving in general) at the enterprise level would consist of many circles 
within circles.

Thurman Pedigo wrote:
>I have been watching this thread with a bit of nagging abstraction - then
>recognized it. Presented is a modified technique of W. Edwards Deming - the
>guy who taught the Japanese how to eat Detroit's lunch (in the 50's).
>Shewhart was the originater in the 20's. A brief link:
>http://www.balancedscorecard.org/bkgd/pdca.html
>PLAN; DO; CHECK; ACT
>
>And broken down:
>PLAN:
>  1. requirements analysis
>  2. design
>DO:
>  3. coding
>  4. documentation
>CHECK:
>  5. testing
>ACT:
>  6. maintenance
>And the cycle restarts.
>> (Of course, this list could be elaborated/expanded.)
>
>Perhaps the post industrial era adds new challenges. However, the basic
>concept of simplification and persistance have merits not met by the "throw
>this away and build anew" philosophy that seems to invade our work.
>
>Unfortunately, we failed to appropriately integrate Deming with medicine.
>
>thurman
>
>
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:hardhats-
>> [EMAIL PROTECTED] On Behalf Of Greg Woodhouse
>> Sent: Tuesday, June 28, 2005 9:57 AM
>> To: Hardhats
>> Subject: [Hardhats-members] Life cycle models
>>
>> I'm not sure that everyone is familiar with the concept of a life cycle
>> model. Software development is traditionally divided into a number of
>> phases:
>>
>> 1. requirements analysis
>> 2. design
>> 3. coding
>> 4. documentation
>> 5. testing
>> 6. maintenance
>>
>> (Of course, this list could be elaborated/expanded.)
>>
>> Life cycle has to do with the way these various phases flow together.
>> In a traditional waterfall model, each phase follows the previous one
>> in sequence. First, the requirements must be defined (and documented).
>> Next, a design based on those requirements is developed. The system is
>> then implemented (coded) and tested. Finally, there is an ongoing
>> process of maintenance.
>>
>> The waterfall model is definitely out of fashion (but in practice, real
>> projects often do use this model). There are alternives, including an
>> iterative model in which 3 or 5 flows back to 2 (possibly 1), and the
>> software is developed through a process of successive refinement. In
>> many cases, phase 1 (requirements analysis) is considered a "one-time"
>> process, and requirements are considered to be known and fixed
>> throughout the life cycle. In other models, requirements analysis is
>> also considered an ongoing process that is an integral part of the
>> cycle. This is an important aspect of the rapid prototyping model, in
>> which small pieces of functional (or, at least running) software are
>> developed and put into the hands of the users. Requirements can then be
>> further elaborated based on the prototypes, developers can elaborate
>> and refine their design, or even completely change the basic design.
>> For example, a user interface (UI) prototype may be built for no reason
>> other than to demonstrate the product's UI. The actual implementation
>> (code) may not be suitable for the finished product, even if the UI
>> remains the same.
>>
>> Other alternatives exist, sometimes differing in small ways and
>> sometimes in more substantial ways from others. For example, the
>> Rational Unified Process is based on a model it calls iterative. Though
>> I don't hear this term as much these days, the waterfall model adapted
>> to a series of phases of expanding scope is sometimes called a "spiral
>> model".

---------------------------------------
Jim Self
Systems Architect, Lead Developer
VMTH Computer Services, UC Davis
(http://www.vmth.ucdavis.edu/us/jaself)


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to