Good Design: Good Design Still an art practiced by craftsmen, not an engineering discipline Some Designs are Classics: Some Designs are Classics Question:: Question: How do you recognize a great design? Answer:: Answer: All your competitors file for bankruptcy because you took away all of their customers. So what?: So what? How do you design great software? Very few software designers even think about driving competitors out of business when they design software. A really stupid idea: A really stupid idea When I first studied systems analysis about 1980, many “authorities” recommended that you begin by modeling the existing system.
That is almost the worst possible way to design a system, especially in those days when computers were essentially automating existing manual systems. Why is that stupid?: Why is that stupid? Modeling the existing system almost guarantees that you will reproduce the existing system with some automation.
For example, you will probably keep some activities that are unnecessary in an automated system just because they were necessary in a manual system. Your system will be inefficient and overstaffed.
You will tend to keep all the problems of the old system and introduce new problems as well! Example of saving the old: Example of saving the old The mechanism that opens a car window was designed to be operated by a hand crank at a comfortable position for a person seated in the car. It is unnecessarily complex due to its off center location and the need to obtain leverage. Power windows: Power windows Most car manufacturers just put a motor where the crank was. But that required extra power, extra weight, and a stronger lever that was prone to failure. A Better Design?: A Better Design? With a straight toothed lever, you could use a smaller motor, save weight, save money, use less leverage, and have more reliability and better gas mileage. By saving 10 pounds per car, you could save the equivalent of one car for every 350 cars made. Actual Power Window Types: Actual Power Window Types Examples from Italian Manufacturer ElectricLife Windows Scissors type Cable type Bowden type Optimization: Optimization In a competitive economy, over time inefficient practices tend to be eliminated as business finds better (more profitable) ways to do the same things. Businesses that use the older ways tend to go broke.
But all systems can only be optimized around present resources. A good new resource, such as a computer, always changes the optimal strategy. Disintermediation: Disintermediation Most of the productivity gains from computers have come from disintermediation. That is a fancy term that basically means “cutting out the middleman.”
A computer is primarily a communications tool. Efficient communication allows us to avoid unnecessary tasks and costs. Example: Example Most large companies have flattened their hierarchies since automation, getting rid of middle managers.
The two primary tasks of middle management were to gather information from subordinates to pass on to upper management and to communicate the policies of upper management to the workers. If communication is automated, fewer people need to do it.
That is disintermediation. Another example: Another example Small merchants are not as efficient as (good) large merchants. They can not get big discounts by ordering in truckload quantities. They survive on convenience and lack of price competition.
Around 1970, large malls started to be built all around the United States. Whenever a new mall was built, many small merchants were driven out of business.
In smaller towns, Wal-Mart had the same effect. Knowledge is power: Knowledge is power Merchants survive by charging more for goods than they pay for them. It is to their advantage to reduce your ability to know their costs and to shop around and see what their competitors are charging.
The Internet has changed the nature of an auto dealership. Now most new car customers know what they want and how much it will cost the dealer before they buy the car. Now car dealers have to make their money where the customer lacks knowledge, on trade-in values, used cars, and the service and parts departments. Brokers are hurting: Brokers are hurting A broker is in the business of bringing buyers and sellers together. Where there are efficient communications that allow buyers and sellers to find each other without brokers, brokers have to become much more efficient to survive.
Travel agencies are in trouble, because most airline tickets are now sold direct. Since the airlines no longer need the agencies, they have reduced or eliminated commissions. And your point is?: And your point is? Newspapers are threatened by the Internet. Craig’s List alone probably reduces newspaper classified ad revenues by $50 million a year.
All of these are examples of disintermediation. If disintermediation is a large part of the benefit of automation, shouldn’t designers think about it every time they design a system? Goal driven systems: Goal driven systems A best practice in software development is to focus on stakeholder goals instead of the functions or activities to be performed by a system.
In essence, focusing on goals allows us to avoid reproducing functions that are not necessary to reach those goals. (More disintermediation!) What goals?: What goals? There are three basic types of customers in the economy.
Each type has different goals. Business Goals: Business Goals Business has the following goals:
Growth (in size, value, market share, pricing power)
Reduction in competition (buy them or drive them out of business) Consumer Goals: Consumer Goals Consumers want
Economy (lower prices)
Convenience (less time)
Reliability (no hassles)
Status (style and perceived quality)
Pleasure (sex, drugs, and music?) Government goals: Government goals People in power tend to have the primary goal of remaining in power.
While they are happy to pass laws that benefit special interests and grant monopolies in return for campaign contributions, they are aware that the customers of government are business and consumers, so they have to meet some business and consumer goals if voters hold them accountable. Government example: Government example My water and sewer bill is an example of the difference in government. It is the only bill I get that does not have a return envelope. The town doesn’t have to worry about customer convenience. If your payment is late, they add a fine to your next bill.
I had a septic system. When the town put in sewers, I had to pay a sewer assessment, pay for a plumber to hook me up, and then pay every month for service. Each of those items cost thousands of dollars, and I had no choice unless I wanted to sell my house and move to another town. Fitness for a purpose: Fitness for a purpose Software development process is about controlling the three basic risks of time (late delivery), cost (over budget) and quality (not meeting requirements).
One of the most appropriate definitions of quality comes from Philip Crosby— “quality is fitness for a purpose.” In other words, quality is defined by your goals. Case Study - Automobiles: Case Study - Automobiles We have had many great cars in the past. They include the Stutz Bearcat, the Austin Boat-tail Speedster, the Packard Limousine, the Duisenberg Model J, and the Studebaker Golden Hawk. I deliberately chose examples from companies that are no longer in business. Unfortunately, a great company needs more than an occasional great product to survive. What makes a great car?: What makes a great car? Most of those car models had good styling and good technology for their period. But consider these examples of quality from the standpoint of fitness for a purpose.
Hyundai and Kia
The Ford Taurus and Buick Century
Mercedes and Rolls Royce
I imagine most people would only think of the last group as representing quality. Hyundai and Kia: Hyundai and Kia Kia is very hard to describe as a quality product. I once asked a tow truck driver what was the worst car on the road and he told me that he towed more new Kias than any other new car, and there weren’t many Kias to start with. The company went bankrupt and was restarted.
But these Korean cars have a very definite market niche. They offer people who otherwise could only afford used cars the opportunity to buy a new car. That is fitness for a purpose. Previous slide soon obsolete?: Previous slide soon obsolete? The chairman of Hyundai (which also owns Kia) Mong-Koo Chung, is determined to raise the quality level of the cars they make. Consumer Reports rated the 2004 Hyundai Sonata the most reliable car on the road. Hyundai has been rising to the top of the J. D. Power initial quality survey, although both cars are still near the bottom in problems after three years. That is also changing, as newer cars age and replace the old ones. (“Last Laugh,” Forbes, April 18, 2005, pages 98-104) Taurus and Century: Taurus and Century These cars have embarrassed more teenage boys than any others, as they borrowed the family car to go on a date. They are average, very ordinary, family cars, with nothing exciting about their styling. But precisely because they tended to fit the needs of many families, they are two of the best selling car models in Detroit’s history.
That is fitness for a purpose. Rolls Royce and Mercedes: Rolls Royce and Mercedes These cars were built to burn money, not gas.
Mercedes has a high reliability record because dealers are trained to replace parts before they fail. This results in very high service costs.
But if your objective is to impress the neighbors (or your girlfriend) and demonstrate that you are financially well off, these cars were designed to be fit for your purpose. And your point is?: And your point is? If quality is fitness for a purpose, we must design systems to meet the goals of the stakeholders.
That is one of the primary reasons why designing around functions instead of goals can lead to disaster. Example of a quality design: Example of a quality design Inventory Case Study Case study: Inventory: Case study: Inventory Inventory is expensive. If your store has merchandise that will not be sold today, you need to pay rent on a bigger store, you may need to maintain an expensive warehouse, you need to tie up working capital to finance the goods, and the goods deteriorate, get damaged or stolen, and become obsolete or go out of style. Inventory goals: Inventory goals Why do stores have inventory?
They want to make sales, and they have found that most customers will go elsewhere rather than special ordering merchandise.
They also want to buy cheap and sell at a profit. To do that, they need discounts for buying in quantity. Traditional Inventory: Traditional Inventory Traditional inventory is based on economic order quantity (EOQ). That is an approach that minimizes financing costs, storage costs, shipping costs, reordering costs and lost sales from being out of stock while maximizing manufacturer discounts.
In traditional inventory, customers and suppliers have opposite goals. Customers want small orders and big discounts. Manufacturers want big orders and small discounts. Fundamental Problems: Fundamental Problems In addition to the contention between opposing goals of customer and supplier, there are three fundamental inventory problems:
Out of stock. If you don’t have what the customer wants, they go elsewhere.
Overstock. If you order things that don’t sell, you may have to sell them at a loss.
Carrying costs. The costs of owning inventory. Goal congruence: Goal congruence These three problems are actually problems for both customer and supplier.
If you are out of stock, the sale might go not only to your competitor, but also to the competitor of your supplier.
If you are overstocked, you are less likely to purchase from that supplier in the future.
If you are carrying inventory, your supplier needs to keep an inventory to resupply you.
In these items, customer and supplier have the same goals. Effect on system design: Effect on system design Wal-Mart designed their inventory system around giving suppliers daily information on what was selling, and gave the suppliers the responsibility for restocking. Manufacturers no longer had to wait for orders, and could reduce their own inventories.
K-Mart automated the traditional inventory based on EOQ.
The result? K-Mart went bankrupt, and the children of Sam Walton became five of the ten richest people in the world. Review Question: Review Question How does Wal-Mart’s inventory process involve disintermediation? Answer: Answer Obviously, automated reordering reduces work for buyers who would otherwise have to place orders and salespeople who would take them.
But there are ripple effects throughout all the companies involved. For example, with daily sales by store, marketing departments can track the effects of advertising, promotions and repackaging without hiring analysts to gather the data. More Best Practices: More Best Practices (besides disintermediation and focusing on goals) Study the problem first: Study the problem first Another best practice in design is to understand the problem before you attempt to design a solution.
By focusing on the problem instead of a solution, you are more likely to come up with an elegant and innovative solution, and less likely to duplicate what already exists. After all, why duplicate the existing system—you already have it! Don’t pay for it a second time! Defer decisions: Defer decisions A best practice derived from understanding the problem is to defer decision making as late as possible in the design process.
The later you make a decision that will affect the subsequent direction of the product, the more information you will have about the problem before you make the decision. That should result in a better solution. Design Patterns: Design Patterns When you find classic solutions to common problems, use them as templates to reduce errors and increase reliability. Art, Science, and Engineering: Art, Science, and Engineering Art (Craftsmanship) is developing elegant and innovative solutions to problems.
Science is a disciplined approach to discovering new information.
Engineering is applying proven methods to a well structured problem.
Systems analysis is a science. Software development is engineering. But system design is an art. Not “Paint by numbers”: Not “Paint by numbers” There was a time when it was popular to sell “paintings” that consisted of line drawings with numbers inside each space, and corresponding paint sets where the colors matched the numbers. You painted the drawing and you had an “original artwork.” Naturally, the results were awful. It was embarrassing to see someone display their painting in the living room.
Museums pay millions for art works by Da Vinci, Rembrandt, Van Gogh, and Renoir. They don’t display paint-by-number paintings. And your point is…?: And your point is…? You will not become a good designer by learning methods, UML drawings, and cookbook recipes for software development.
Understanding disintermediation, focusing on goals, studying the problem before thinking about solutions, deferring decisions and seeking competitive advantage can help you avoid the pitfalls of bad design, but they cannot make you a good designer.
Great design is a combination of creativity, inspiration, genius, hard work, and experience. Review: Review Don’t model the current system
Focus on Goals
Fitness for a Purpose
Study the Problem before you think about a solution
Use good Design Patterns
Design as an artist, not a mechanic