I started hearing a relatively new term: Knowledge-based product development and wondered why it was creating a buzz. After all, it is a new name for an existing concept. Just like many other things, new terminology gives the impression to the naive that some silver bullet has just been invented and it will solve all problems known, in this case, in product development. Do I sound cynical? You bet! I am not the type of person who likes to rename existing things, concepts, methods, practices, whatever.
OK, enough ranting. The basis of knowledge-based product development is the same as systems thinking and systems engineering. See, for example, my blog entry titled “Implementing Systems Engineering in a Commercial Organization,” dated November 23, 2009.
Knowledge-based practice advocates (rightly, in my opinion) an empowered product team making design and development choices based on a solid understanding of the customers’ and stakeholders’ needs. The opposite of this concept is a waterfall approach, which fell out of favor many years ago (again, for good reasons). So, why is there a need to rename and reincarnate an existing concept. I can think of two reasons, based on my experience:
- Systems engineering has a reputation for being too formal, bureaucratic and top-heavy. While unfair, many commercial companies share this view due to their historic knowledge of systems engineering in the aerospace industry from the 1960s. Aerospace has come a long way since then but the opinions persist.
- Systems engineering has a technical and old-school feel to it. In many cases, it is associated with hardware development only, which is a huge misconception.
The new term appears to successfully address these two areas. Knowledge-based product development has gained traction in software development and is not perceived as a heavy load. Even if it added nothing else (in fact it does, but that’s for another blog article), it should get credit for breaking these misconceptions and opening the road for encouraging good and effective product development practices. In closing, here are, what I consider to be, the main principles of a successful product development organization, whatever one may choose to call it:
- Customer and stakeholder needs are clearly identified upfront,
- Customer and stakeholders are represented in the development team to address day-to-day decisions,
- Decision-making is done at the lowest possible level,
- Solutions are produced to address the highest level improvements (i.e., global optimization rather than local maximization),
- Accountability and responsibility is embedded in the development team,
- Team members have a clear understanding of their product and how it fits into the product portfolio of the organization,
- Product architecture is meaningful and well-structured. Both the decomposition and integration are logical and robust.
I hope you find this article helpful. I welcome your opinions and feedback on the topic. Please write to me at firstname.lastname@example.org or comment here.