Corporate Complexity Assessment
The first step in beginning to identify corporate complexity should be to perform an assessment. Results of the complexity assessment are used to define the most cost-effective, appropriate simplification implementation plan to meet corporate goals.
The complexity assessment is performed to measure the potential for practicing simplicity in a corporation, to determine whether the corporation is ready to embark on a complexity reduction program and to define where to focus its efforts to gain the maximum benefit. The emphasis is on a business viewpoint, looking at the reasons why complexity has evolved, how a reduction policy will help, and the expected business value to be gained from complexity reduction or elimination. The result of the complexity assessment can be used as the basis for defining corporate simplification goals, complexity reduction adoption strategies, the domains in which to practice simplicity instead of complexity, and the complexity reduction program implementation plan.
These are the main goals of the complexity assessment:
Evaluate the corporation's current complexity reduction strategy and the implementation of that strategy in current software projects and various systems groups.
Use the results of the assessment to determine the corporation's specific complexity goals, elements of a complexity program to achieve those goals, and domains in which to focus complexity reduction efforts.
Recommend actions to implement the complexity reduction strategy.
Instituting the practice of complexity reduction across a corporation is a large, complex task in itself, especially if the ultimate goal is to practice complexity reduction practices above the project level; that is, across teams, across product lines, and across software groups/organizations. Success requires careful planning, cooperation, and good management practices. To ensure success, the corporation needs to determine how ready, willing, and able it is to practice a development approach that implements complexity reduction, and what actions it needs to take to accomplish its complexity reduction objectives and goals.
The assessment will investigate both technical and management/organizational complexity issues. On the technical side, these are some of the important issues:
Identifying and defining core business objects and other kinds of components
Defining guidelines and standards for core business objects (once they exist) and for creating or reengineering core business objects
Defining the organizational structure and classification scheme for the complexity library or libraries
On the management/organizational side, issues include the following:
Defining personnel support for core business objects/components
Establishing complexity reduction training programs
Establishing the complexity measurement infrastructure (complexity metrics and measurements, corporate complexity reduction policy, complexity incentives, and so on)