I would like to know, from your expertise, what you consider to be the main differences and/or similarities of managing the development of products and software in large teams.
By products, I'm referring to physical engineered objects like a printer, cellphone, car.
It's my assumption that both go through a similar cycle of:
- feature definition
- architecture definition
- design and integration
The obvious difference is that software has no or insignificant portion of manufacturing (printing CDs and boxing) when compared to the large factory shops putting out a physical product.
Both processes have resource management, blueprint documents, review sessions, error tracking and on the human side, team coordination issues, pool of skills, and so on.
What methods are unique to software development that make it (or not) a completely different beast?
One of the big differences I have seen is that physical things need more ramp up time to
- Get the thing designed correctly on paper.
- Get the prototypes actually built.
I am thinking embedded stuff. It is not like a software only project where you can code up a prototype and send it off. With a product you get all the hardware design, get it built, usually have the firmware and then maybe a software piece.
The other piece is developing/testing hardware and software at the same time. You may be working hard to fix a "bug" in your code but turns out the hardware was either built incorrectly or the hardware design may have been bad.
Software IS a product. However, usually product development refers to the process of defining what the product is, its intended market, motivation, etc. Software development usually assumes that the product has been defined, and that the job is to implement it to meet the requirements/specifications of the product.
Software devlopment is the software developed depending on a specific customer requirements is called as application or project .
Product devlopment is a software developed depending on overall requirements in market is called as software product.