ArticlesBase.com - Free Articles Directory
Free Online Articles Directory
05.09.2008 Sign In Register Hello Guest
Email:
Password:
Remember Me 
forgot your password?


Managing Design Complexity

Author: Tim Bryce Author Ranking Gold | Posted: 05-06-2006 | Comments: 0 | Views: 461 | Rating:  (55) Article Popularity - Blue (?) Got a Question? Ask.
Sign Up Now!
Tim Bryce

"100% of your design documentation is contained in the specifications of your information resources." - Bryce's Law

There are many companies today, most overseas, still tackling major systems projects particularly in the areas of banking and manufacturing. These mammoth application development efforts contrast sharply with American companies who have failed in such undertakings and are now content with chipping away at systems, program-by-program, with the hope that disjointed software will somehow/someday interface with each other. Whereas foreign competitors talk in terms of enormous systems with hundreds of programs and millions of lines of code; large integrated systems tend to intimidate the most ardent of American developers. But this is not so much a story about competition as it is about understanding design complexity.

People in both the east and the west recognize the design and development of a total system is no small task. A system can consist of many business processes, procedures, programs, inputs, outputs, files, records, data elements, etc. The problem lies in how to best control these information resources and the design decisions associated with them. Two approaches are typically used: progressively break the problem into smaller, more manageable pieces, or; tackle a minuscule portion of the problem at a time. Whereas the former requires a long term perspective, the latter can show a quick return, which is more appealing to a company with a "fast track" mentality.

Some time ago we conducted a study of customer application development projects. Our research centered on two types of projects: those aimed at building a total system, and; those aimed at building a single program. One obvious conclusion was that the number of information resources used in a major system was considerably more than in a program.

However, the key observation made in the study was that there is a finite number of design decisions associated with each type of information resource. As an example, for an output, decisions have to be made as to its physical media (screen or report), size (number of characters), messages associated with it, etc. For a data element, its logical and physical characteristics must be specified (definition, source, label, size, class, length, etc.). For a program, the language to be used, program logic, required file structures, etc. These design decisions can be simple or complex; regardless, they are all required in order to design a system or a program. When we multiply the number of design decisions by the number of information resources, we get an idea of the magnitude of a systems design project versus the design of a single program (see Figure 1).

FIGURE 1

NUMBER OF RESOURCES IN AVERAGE SYSTEMS PROJECT: 2,006 NUMBER OF DESIGN DECISIONS TO BE MADE: 49,850

NUMBER OF RESOURCES IN AVERAGE PROGRAM PROJECT: 98 NUMBER OF DESIGN DECISIONS TO BE MADE: 2,070

NOTE: Decisions are design oriented only; they do not include Project Management related decisions (such as those associated with planning, estimating and scheduling).

From this perspective, the average system design project is nearly 25 times larger than the average software design project in terms of complexity. As a footnote, our findings also revealed the "average" system design project is seven times larger than a "complex" software design project.

This discrepancy in system/software complexity provides a clue as to how companies address the problem. Since a software design project is smaller and seemingly more palatable to implement than a total systems project, some companies will focus on software engineering tools and techniques, and abandon total systems engineering practices. This is one reason why programming tools enjoy popularity today.

Contrast this with the size of Japan's "Best" project to build the country's next generation of on-line banking systems. This was a major application development effort resulting in 72 "average" systems; a considerably larger project than what is typically addressed in the United States.

MANAGING DECISIONS

There are two aspects to handling decisions: how they are formulated, and how they are controlled.

Trying to make nearly 50,000 design decisions in one step is not only an impossible task, it is a highly impractical way of operating. Just like the design of any product, a system must be designed in gradual phases in such a way as it becomes possible to review and refine the design. In other words, the 50,000 design decisions will be made throughout the life of a development project, not all at once.

It is the responsibility of a systems engineering methodology to define the sequence of events for designing a system. As such, the methodology represents the channel for formulating decisions. Breaking a complex system design down into smaller, more manageable pieces, also provides for:

  • Parallel development and delivery of portions of the system (concurrent development within a single project).

  • An environment conducive for building quality into a product (as opposed to inspecting for quality afterwards).

  • The formulation of Project Management related decisions (such as estimating and scheduling the delivery of systems, in part or in full).

This philosophy of design is no different than any other product design/development effort, such as shipbuilding, automobile manufacturing, bridge building, etc. All require a specific methodology that breaks the product down to its sub-assemblies and parts; thereby organizing the specification of parts and the design decisions associated with them.

Managing the decision making process for even the smallest of application development projects can be a huge undertaking. We estimate there are approximately 500 design decisions associated in a small software design project (as compared to more than 125,000 decisions in the typical complex system design project). To record and control these decisions requires something more sophisticated than just paper and pencil; it requires an automated "Information Resource Manager" (IRM), a software tool capable of inventorying and documenting an enterprise's information resources.

Whether you call it an "IRM", a "Repository", a "Data Dictionary" or whatever, the philosophical heart of the product is based on the age-old concept of "Bill of Materials" whereby resources (also referred to as "components" or "parts") are cataloged and cross-referenced to each other. Consider a parts manifest as included in a major appliance maintenance bookley (or lawn/garden tool), I am sure this type of diagram is familiar to any homeowner who has reviewed product maintenance/warranty booklets.

Every part in the product is identified by number and name (see section to the right in the figure). To the left side in the figure is a schematic showing how each part relates to the other parts and, as such, represents the assembly of the product for maintenance purposes.

The concept of "Bill of Materials" provides the means to inventory resources thus allowing us to share and re-use them. For example, many of the parts shown in Figure 2 are re-used in other lawnmower models offered by the manufacturer. How can we share and re-use resources without such a concept? The answer is simple: we cannot. And this explains why there is considerable redundancy in our information resources and work effort. It also suggests most of our design decisions are maintained "by the seat of our pants." Most college courses involving computing are unfamiliar with the Bill of Materials concept. Their focus is on programming and file design, and little else.

The concept of "Bill of Materials" has three objectives:

  1. To uniquely identify each resource by number and name (as well as by aliases). Names are nice, but numbers offer a more precise way to uniquely identify a resource. Identification is critical. After all, we cannot share and re-use something if we do not know it exists.

  2. To record the part's specifications. Thus providing a way to determine if the part can be re-used in another product (thereby promoting the sharing of parts and eliminating redundancy).

  3. To record where the part is used in a product(s) (aka "Where-used"). This specifies the relationship of parts to each other and, thereby, their assembly. This is also extremely useful for "impact analysis" whereby we can analyze where the part is used in all of our products, not just one, which is vital for making intelligent decisions about modifying a part. For example, if we change the specifications of a part in one product, this will severely impact other products it is also used in.

By controlling parts in this manner, a product's design is fully documented.

The "Bill of Material" concept can easily accommodate information resources and offer the same benefits of sharing and re-using components. By doing so, we can easily manage the 50,000 design decisions accompanying a system design project. Our system/software products may be less tangible than an automobile, aircraft or lawnmower, but we can still apply the same concept to their control.

Therefore, an IRM Repository should have the ability to identify, specify, and cross-reference all of the resources mentioned in Figure 1. This can certainly be done manually with paper but this may lead to bureaucratic and access problems for developers. Instead, automation is recommended. There are several such commercial products on the market, but it is also fairly easy to create such software using today's Data Base Management Systems (DBMS) which are now fairly easy to define and relate resources (they also provide excellent documentation services).

The IRM should be viewed as the hub of all development efforts and provide the means to interface (import/export) with a myriad of other development tools; e.g., CASE, prototyping aids, program generators, etc. Such tools will use the intelligence of the information resources as contained in the IRM to function accordingly. As an example, a program generator should be able to interpret the program and file specifications in order to produce the necessary code. Such development tools should also have the ability to turn around and import resource specifications back into the IRM. This is particularly useful for documenting existing systems/software (aka "Reverse Population").

For information on how to create an IRM Repository, please see:

http://www.phmainstreet.com/mba/pride/spir.htm

The concept of "Bill of Materials" is an important part of an overall strategy to implement an "Information Factory" environment to design and develop information resources. But this will be the subject of a separate paper.

CONCLUSION

This philosophy to managing design complexity is no different than what is found in the engineering and manufacturing of any product. Engineers break their design projects into smaller stages so that reviews can be performed and revisions implemented. A "bill of materials" processor is used to track the parts or a product and how they interrelate; which is no different in intent than the IRM tool.

For people imbued in programming, it is difficult to think in terms of "parts" as described herein, but it is a practical solution and can be applied to any development effort, large or small. Standardization and integration of information resources is built by design, not by accident.

Without a formalized methodology for design or an IRM tool to record design decisions, a major system design is incomprehensible; there are just too many variables for the human mind to remember or control using manual techniques. It is not that analysts do not want to take on a major systems design project, they simply cannot. They lack the organization and proper tools to perform the job effectively. Because of this, they default to the things they know best, programming, and tackle systems in piecemeal.

The difference between east and west here is not one of working harder, but smarter. The Japanese and Europeans are simply better organized and equipped to perform system design than their American counterparts. This can be attributed, in large part, to management's sensitivity to the role systems play in a company. Because of this, they are not afraid to tackle large endeavors, while American companies view such undertakings as seemingly too massive to undertake. As such, they sidestep large projects in favor of smaller projects that may address only a portion of the overall problem. This is resulting in the unsettling situation where our competitors are rapidly becoming the world's systems engineers, while Americans become the world's software engineers.

For more information on our philosophies of Information Resource Management (IRM), please see the "Introduction" section of "PRIDE" at:

http://www.phmainstreet.com/mba/pride/intro.htm#irm

Rate this Article: Current: 0 / 5 stars - 0 vote(s).

Article Source: http://www.articlesbase.com/information-technology-articles/managing-design-complexity-33125.html

Print this Article Print article   Email to a Friend Send to friend   Publish this Article on your Website Publish this Article   Send Author Feedback Author feedback  
About the Author:

Tim Bryce is the Managing Director of M. Bryce & Associates (MBA) of Palm Harbor, Florida, a management consulting firm specializing in Information Resource Management (IRM). Mr. Bryce has over 30 years of experience in the field. He is available for training and consulting on an international basis. His corporate web page is at:
http://www.phmainstreet.com/mba/

He can be contacted at: timb001@phmainstreet.com

Copyright © 2006 MBA. All rights reserved.

Submitting articles has become one of the most popular means of generating quality backlinks and targeted traffic to your website. Join us today - It's Free!

Article Comments

Comment on this article Comment on this article
Your Name
Your Email:
Comment Body
Enter Validation Code: Captcha


Related Articles

Understanding the Vicious Circle of Complexity
By: Tim Bryce | 05/06/2006 | Information Technology
The issue of managing complexity is not simple. As our information systems continue to grow in magnitude, so do the costs associated with maintaining and updating them to suit the current requirements of the company.

Are I.t. Workers Blue Collar?
By: Tim Bryce | 11/09/2006 | Information Technology
Interesting question. I was recently asked this by some executives who were concerned with improving the productivity of their I.T. departments.

Creating an Information Factory
By: Tim Bryce | 01/06/2006 | Information Technology
It is possible to employ the same concepts and techniques as used in mass production towards the development of information resources. But creating a "factory"-like development environment takes more than simply calling yourself one. It is a significant reorientation effort. Fortunately, it is not without precedent and the concepts have already been introduced to devise an "Information Factory" based on other engineering/manufacturing disciplines.

Understanding the IRM/MRP Analogy
By: Tim Bryce | 01/06/2006 | Information Technology
Information Resource Management is the design, development, implementation, and control over all of the resources needed to produce information. Its intent is to share and re-use resources where appropriate. Sharing represents the interchangeability of resources, thereby promoting the standardization and integration of parts in products. By doing so, development time and costs are reduced by simply re-using parts. To those of you in manufacturing, this will all sound very familiar.

The Brutal Reality of Irm
By: Tim Bryce | 16/04/2007 | Information Technology
Even though IRM is a beautifully simple concept, its only weakness is the management needed to implement it. If you are considering the acquisition of an IRM Repository for your development efforts, consider your management skills first.

Standard System Structure
By: Tim Bryce | 18/01/2008 | Software
Proposes a standard model of Information Systems for use in design and development.

System Design Backwards
By: Tim Bryce | 04/06/2008 | Programming
System Design technique which promotes "design correctness."

Putting the Boomers Out to Pasture
By: Tim Bryce | 25/08/2006 | Information Technology
"The Baby Boomers will be more remembered for the problems they left behind as opposed to anything they accomplished during their tenure." - Bryce's Law

Got a Question? Ask.

Ask the community a question about this article:

Frequently Asked Questions

Royal dynasty 17 jewel ladies watch f4 1080 3
By: steve | 27-08-2008
royal dynasty 17 jewel ladies watch f4 1080 3

I've been told acupuncture can be used to help ...
By: liz | 27-08-2008
I've been told acupuncture can be used to help eradicate wrinkles and even for a face lift.  True or false?  If true - how long would this last?  R

Harrison valedictorian of Chicago Law School - Year 1911
By: Judy Stoulil | 26-08-2008
Looking for a valedictorian named Homer Harrison who graduated from a Chicago Law School in 1911.  A quirk about it is they flipped a coin for the valedictorian because it was a tie.  THX

Jobb and careers
By: alor | 26-08-2008
what are all of the jobs I can look in to for human resources.   and what are all of the jobs I can look in to for a person with a bachelor of science deree

When is the next cruise w/ dr.Stanley coming up ...
By: Ronald hastings | 26-08-2008
When is the next cruise w/ dr.Stanley coming up and what is the price per couple

What kinds of food can you take on the flight? can ...
By: Jonzie | 26-08-2008
what kinds of food can you take on the flight? can you take a 1oz.can of tuna salad? we will be flying from lax to atlanta ga.

Q&A Powered by:
Powered by Yedda 

Latest Information Technology Articles

Ethical Hacking Course for a Bright Future
By: Mandira Kumar | 04/09/2008
In today’s networked world, businesses are facing one of the biggest threats from hacking. Any hacking attack, if successful, can wreck havoc with networks and the critical information contained within them. In such a scenario, there is a growing need for IT professionals who specialize in ensuring network and data security. This article gives an overview of ethical hacking training courses.

Efficient Use of Computer Network Support
By: Temp | 03/09/2008
What if someone told you that you could reduce your business expenses by one-third and that all you needed to do was to invest in a quality computer network support service?

Beware of Online Auction Scams
By: Justin Mongiardo | 02/09/2008
Participating in online auctions might seem appealing. After all, they are a great way to get products you can't find anywhere else or find what you want at a cheaper price. However, it is important to be safe and watch out for scams. Not all auctions are legitimate, and the informed buyer must protect his or her self from falling victim to a less than honest participant. A great way to avoid a problem is to check the seller's rating from other customers. Be wary of those with perfect reco

Accreditation: the Key to a Quality Online Program
By: Justin Mongiardo | 02/09/2008
Before you sign up for an online degree program, it is important to make sure your degree with be accepted by employers and other academic institutions. With all the programs out there, it can be difficult to know which ones have the best reputations. However, there is a way to check the reputation of an online program. By reviewing a school’s accreditation, you can be assured of its credibility in the professional and academic world.

Moving Towards the Green Computing
By: jaya sinha | 02/09/2008
The article talks about the benefits of green computing or green IT. Green IT or Green Computing envisages more efficient and better use of IT resources so that there is minimum use of unsafe materials while promoting use of recycled products and ensures maximum energy conservation.

Fusis Becomes Zimbra Eu Partner
By: Dhanushka Warnakulage | 02/09/2008
Fusis Group®, has announced they have signed an agreement with Zimbra Inc to become Zimbra Solutions Partner.

What is the Parallel Computing?
By: Leonardo Ferri | 02/09/2008
With the Parallel Computing it is possible to subdivide a program in more processes that work on different processors and that they exchange data in cooperation. In this way the resources of memory and ability to calculation can be taken advantage of parallel more computer, optimizing and diminishing in drastic way the times of execution of the programs.

Wan Optimization to Improve Business Performance
By: jaya sinha | 01/09/2008
The article talks about the utility of WAN optimization to improving the business performance. The various techniques have been discussed.

More from Tim Bryce

Recognizing the Peter Principle
By: Tim Bryce | 16/07/2008 | Management
Describes how to identify the attributes of the Peter Principle.

A Corporate Policy for Personal Electronic Devices
By: Tim Bryce | 09/07/2008 | Management
Describes a proposed policy for controlling personal electronic devices in the workplace.

Socialistic Management
By: Tim Bryce | 02/07/2008 | Management
Describes the problems of "flexible management."

System Design Backwards
By: Tim Bryce | 04/06/2008 | Programming
System Design technique which promotes "design correctness."

Stepwise Refinement
By: Tim Bryce | 29/05/2008 | Programming
Discusses the concept of refining a design using a blueprint-like approach.

When You Hit a Wall, Go Around it
By: Tim Bryce | 21/05/2008 | Programming
What to do when you strike a seemingly impossible problem to solve.

What Young People Want & Need
By: Tim Bryce | 15/05/2008 | Management
Discusses "parenting management" and how young people actually yearn for such things as accountability, organization, and discipline.

Why We Resist Planning
By: Tim Bryce | 07/05/2008 | Management
Discusses the reasons why people have an aversion to planning.

Article Categories






Give Feedback

Sign up for our email newsletter

Receive updates, enter your email below