Subj : Re: Software Job Market Myths To : comp.programming,comp.software-eng From : Phlip Date : Sun Jul 17 2005 05:26 pm pete wrote: > All that you need to be a customer, is money. > You don't have know anything. True. So to grow a successful software project, you need Someone capable of specifying its features. The better they know the target domain, the better they can specify. > Sometimes the answer to "What do you want?" is "What do you have?". > As a project progresses, the customer becomes > aware of the programmers capabilities > and then you have specification creep. No. Then the customer steers the project towards business goals. Specification creep is _good_; it's the result of learning. Implementing features in order of business priority increases the odds that the team has something useful soon. This increases understanding what the next features should be. The rule is not "whoever has lots of money writes a lot of requirements up-front, and the team implements them all". That's the lifecycle that causes all the big software disasters we hear about. The rule is "the team picks a customer liaison best qualified to specify features that users need. They request the most important features first, and the team writes a release that only does these things. Then the team reviews the release and learns what the next most important features should be." So specification creep is what drives the system. If you see a lot of specification creep, it's because Big Requirements Up Front was _not_ working, and because incremental delivery was _trying_ to work. -- Phlip http://www.c2.com/cgi/wiki?ZeekLand .