|
Product architecture is the set of design themes that allow you to leverage solutions for product design, manufacturing, marketing, and service across multiple products. A core set of design decisions are made one time and are then used across multiple products (i.e., multiple instantiations of the architecture). What are the elements of a good product architecture? What are the benefits for my organization, my customers, and other stakeholders? Should I take the time to develop a product architecture rather than just develop individual products as rapidly as possible? Why? In software engineering, what are "software architecture styles?" How do software architecture styles help to increase the understandability of a software design? How do they help me reuse and evolve software designs?
- The Context Diagrams Technique Brief provides a time-tested method for using simple symbols to illustrate a system's boundaries, benefits, interactions, and data flows. Simple sketches can aid discussions of project features and scope, and detailed graphical interface specifications can improve communication and understanding with non-technical stakeholders.
- Our Interface Protocol Document may be used as a product or system's architecture is being defined, to specify how the different "building blocks" of the system will interface with other. Ensures that the technical team has thoroughly investigated and identified what interface hardware and/or software each "subsystem" must implement and how the components of the system will work together during operation, to execute commands, handle error conditions, etc. The contents of the Interface Document will be referenced by the various developers who are designing and implementing the subsystem and used by testers later in the project.
- A useful collection of papers on software architecture can be found at the Carnegie Mellon University's ABLE (Architecture-Based Languages and Environments) project web site. Follow the "Publications" link.
- See our books on product architecture, for both general product management and also software design management.
|