I've been reviewing product development processes for different companies and have noticed something pretty interesting. It seems that linear development processes that track tasks rather than results lead to lopsided thinking.
What do I mean by that? Well, in some companies, the development process starts with either a marketing or product management person who is in charge of "defining the product requirements." The technical person then executes the features as defined. In this case, the product definition is presented in technical terms, leaving the marketing person responsible for translating consumer requirements into technical requirements. This results in a lack of solid, creative thinking on the part of the technical staff on how best to achieve the consumer requirements. It also results in a linear process that makes it easy to track tasks on a gantt chart.
In other companies the process is the same, but in the opposite direction. The technical team develops some great new features, and then the marketing team is charged with selling them to consumers. Consumer requirements are more about how to best position the features that have been developed. Again, this results in a lack of solid, creative thinking on the part of the marketing staff, leaving the technical person responsible for translating technologies into something the market might want. And again, it results in another linear process that makes it easy to track tasks on a gantt chart.
Does this mean that I think linear processes and gantt charts are bad? Not at all. In a broad sense, the development process is linear, and there are definitely some milestones that must be hit before moving on to the next.
Where it goes wrong is when the linear process is used to track every task associated with achieving a milestone. This results in different groups having to pass work from one to the next, without the ability to work together. Working together requires that each group challenge the other, trying multiple approaches, abandoning old ideas and developing new ideas as scenarios are played out. While the results of this process can and should be placed on a gantt chart, the tasks associated should not.
Is your organization's development process encouraging lopsided thinking? One way to tell is to look at a development schedule for a new product. Are you tracking tasks or results? Are your groups working together to arrive at new solutions, or are they complaining that the previous group did not define the job well enough to proceed without thinking?
in my case, i develop a product that i know off based on my general knowledge of the specific business (from reading and RD). Once i got that conceptual idea on how the product look like, i will then ask the technical person to code it. When the product is ready, i will then present it to the customer and from they we will improve the product as we go along to define their actual requirement.