I would like to suggest that we consider copying the movie business and employ “Producers” in software product development. I have never seen this in the jobs I have done, but I bet they are out there somewhere. I would be very interested in knowing if anyone out there has been formally called a software product “Producer”.
Extreme Programming used the word “On-Site Customer” which I think works fine, except that I don’t think that it communicates as well as the word “Producer”. I like “Producer” because it makes it clear that this person is responsible for the “Product” not the “Software.” The Mary and Tom Poppendieck in “Implementing Lean Software Development
” made this concept clear to me. Software is really only a part of the effort of making a real product. If this is so, then someone other than the “Programmer” needs to step up to the plate and take charge or else we will most likely have problems.
The way I see it, I wasn’t really trained to be a producer. I’m a programmer. I am still considering this concept, but I think that the difference between the producer and the programmer is that the producer must describe what the machines should be thinking about and the programmer makes them think that way.
When a programmer is only given a product description, it still leaves too little information for them to really know where the machine is supposed to think and when other machines and people are expected to take over. I can see that this could require a significant amount of conversation between the programmer and the producer, but it would still be the producer’s job to clarify to the programmer where the “line” is between their work and the outside world.
If a producer was a part of the team and given that title, I think it might help out quite a bit. I have seen that these people are already in the business, but they deserve the proper title and pay!