Matrix management was originally designed to address the disadvantages of both functional and divisional management by creating a flexible system to allow for ad hoc management structures to be implemented on per project basis. It was especially popular among technology and similar firms with highly skilled professional employees.
The main advantage of the system is staffing flexibility. For organizations with projects requiring specialized skills, matrix management enables creation of project teams based on needed employee skill sets.
The disadvantages of matrix management are high overheads and unclear lines of authority. For example, an engineer may be reporting both to a functional manager (e.g. the firmware department manager) and Project X manager, and the two managers may have different priorities.