Title: Good Design
1Good Design
- Still an art practiced by craftsmen, not an
engineering discipline
2Some Designs are Classics
3Question
- How do you recognize a great design?
4Answer
- All your competitors file for bankruptcy because
you took away all of their customers.
5So what?
- How do you design great software? Very few
software designers even think about driving
competitors out of business when they design
software.
6A 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.
7Why 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!
8Example 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.
9Power 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.
10A 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.
11Actual Power Window Types
Scissors type
Cable type
Bowden type
Examples from Italian Manufacturer ElectricLife
Windows
12Optimization
- 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.
13Disintermediation
- 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.
14Example
- 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.
15Another 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.
16Knowledge 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.
17Brokers 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.
18And your point is?
- Newspapers are threatened by the Internet.
Craigs 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, shouldnt designers think
about it every time they design a system?
19Goal 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!)
20What goals?
- There are three basic types of customers in the
economy. - Business
- Consumers
- Government
- Each type has different goals.
21Business Goals
- Business has the following goals
- More Profit
- Lower Costs
- Growth (in size, value, market share, pricing
power) - Reduction in competition (buy them or drive them
out of business)
22Consumer Goals
- Consumers want
- Economy (lower prices)
- Convenience (less time)
- Reliability (no hassles)
- Status (style and perceived quality)
- Pleasure (sex, drugs, and music?)
23Government 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.
24Government 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 doesnt 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.
25Fitness 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.
26Case 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.
27What 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.
28Hyundai 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 werent 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.
29Previous 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)
30Taurus 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
Detroits history. - That is fitness for a purpose.
31Rolls 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.
32And 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.
33Example of a quality design
34Case 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.
35Inventory 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.
36Traditional 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.
37Fundamental Problems
- In addition to the contention between opposing
goals of customer and supplier, there are three
fundamental inventory problems - Out of stock. If you dont have what the
customer wants, they go elsewhere. - Overstock. If you order things that dont sell,
you may have to sell them at a loss. - Carrying costs. The costs of owning inventory.
38Goal 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.
39Effect 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.
40Review Question
- How does Wal-Marts inventory process involve
disintermediation?
41Answer
- 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.
42More Best Practices
- (besides disintermediation and focusing on goals)
43Study 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 systemyou already have
it! Dont pay for it a second time!
44Defer 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.
45Design Patterns
- When you find classic solutions to common
problems, use them as templates to reduce errors
and increase reliability.
46Art, 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.
47Not 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 dont
display paint-by-number paintings.
48And 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.
49Review
- Dont model the current system
- Remember Disintermediation
- Focus on Goals
- Fitness for a Purpose
- Study the Problem before you think about a
solution - Defer decisions
- Use good Design Patterns
- Design as an artist, not a mechanic