Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!ico!vail!sps From: sps@ico.isc.com (Steve Shapland) Newsgroups: comp.software-eng Subject: Re: Software quality Summary: What about the customer? Message-ID: <1989Oct25.002917.2412@ico.isc.com> Date: 25 Oct 89 00:29:17 GMT References: <1989Oct19.042903.7809@ico.isc.com> <6847@hubcap.clemson.edu> Reply-To: sps@ico.ISC.COM (Steve Shapland) Organization: Interactive Systems Corp., Boulder CO Lines: 76 QUALITY <==> Meets the customer's needs! Bill Wolfe and Dick Dunn have been discussing the roles of and relationships between engineers and managers during the software development process. This whole process should be a team effort, with the different attributes of each team member (engineer, manager, sales person, etc) driving the process during different phases of the project. Both of you seem to have missed who sets the initial constraints of the product. The initial bounds are set not by anyone within your company, but by your customers! The sales force (marketing) represents the customer during the planning stages of the project. Through market surveys (perhaps just "wish-list" conversations with potential customers), provide these bounds. If you can't sell it, why bother to develop it? (There are some valid reasons, but they do not generate current business revenue.) Engineers and managers with "their ears to the ground" may also have some of this information. Marketing brings "What can we sell it for?", "What features does it have to have?", and "When do we have to have it available for our customers?" to the table. Engineering brings "What is (technically) feasible?", "What will it cost?", and "How long will it take?" to the table. Management brings "What resources are available?", corporate policy/business practices, and project authorization to the table. Then the fun begins!?! The endless negotiations regarding cost, content, and delivery time, until a compromise is reached and a project plan is formulated. (Yes, Dick, if they don't agree, the project is doomed!) Ultimately, it is management's job to DECIDE! That's what they get paid for, making business decisions, like "Is the proposed project profitable for the company?: Unlike the army, the engineer may chose to not work on the project. The only risk is unemployment. But the struggle is the same, the need to eat (live) vs. the need to retain one's ethics and self respect. Having decided to do the project, management now assigns the resources for implementation. Engineering and sales have assisted management in making this decision by providing alternatives and evaluations. The next phase, design, is where the engineers call the shots. That is what they get paid for, making technical decisions. Does this design/coding practice perform the specified task? Does it result in a quality product? A maintainable product? Management assists the engineers by tracking progress against the plan, insuring that resources remain available, and dealing with the administrative tasks of business. Sales may help by providing business/marketing analysis of some of the technical alternatives. Later it will be marketing's turn, deciding where to apply their efforts for maximum profit. Engineering again provides support and assistance, by providing technical background for sales force. One thing that Dick aluded to was that management and engineers are DIFFERENT, not superior/inferior! Fruit and grain are different, both are needed but neither is better. A quality product needs to be fed a "balanced diet" of management, sales, and engineering. If the fruit gets left out, the watch out for scurvy. Steve Shapland ico!sps 303/449-2870 x147