In the end it is the skilled programmers that write the code that forms the product.
No, it's really not. It's the users that form the product. Everyone else is below them. They are by far the most important people in product design. Users communicate their needs to architects[1], who write specifications for designers[2], who design products for developers to implement. The architects, the designers and the developers all serve to enable the user to access whatever value the product gives them. They're all equally important in the process - no part can function without the rest. Management should enable the product guys to serve the users without getting in the way too much.
[1] Not necessarily directly - architects should talk to users, sure, but they should also watch users, look at logs, read complaints, analyse business needs, etc.
[2] Designers in the sense of people who figure out how things should work, not 'people who draw stuff'.
No, it's really not. It's the users that form the product. Everyone else is below them. They are by far the most important people in product design. Users communicate their needs to architects[1], who write specifications for designers[2], who design products for developers to implement. The architects, the designers and the developers all serve to enable the user to access whatever value the product gives them. They're all equally important in the process - no part can function without the rest. Management should enable the product guys to serve the users without getting in the way too much.
[1] Not necessarily directly - architects should talk to users, sure, but they should also watch users, look at logs, read complaints, analyse business needs, etc.
[2] Designers in the sense of people who figure out how things should work, not 'people who draw stuff'.