Software
Development is just that ‘Development’. Writing software involves
creating something new. (After all, if developing software were
repeatable, a computer could be programmed to do it.)
If we cast
around for other uses of the word ‘Development’, we find that it
means:
-
Fundraising for a non-profit corporation
-
Turning
vacant land into a subdivision or shopping center
-
Commercializing new products
Bypassing
definitions (1) and (2) for the moment, let’s consider the third.
If we determine good New Product Development practices, might we
come up with some good ideas for Software Development? It seems
that Software Development might learn a lesson or two from New
Product Development.
New Product
Development has been around for a long time. Some companies do a
great job of it, and we can look at corporate track records and find
out which ones do it well. In fact, some companies do New Product
Development so well that they are considered benchmarks of excellent
Product Development practices. Two companies which clearly qualify
for this honor are Toyota and 3M.
Toyota has
the fastest product development times in the automotive industry, is
a consistent leader in quality, has a large variety or products
designed by a lean engineering staff, and has maintained US market
share despite a strong yen.
Almost half
of all 3M products are only 5 years old, and its innovation machine
continues to roll out an astounding number high quality of new
products every year. New product development practices at 3M have
been studied and imitated for over a decade.
Development
methods used by 3M and Toyota may be distilled into to four key
practices:
-
Use
Entrepreneurial Teams
-
Focus on
Business Value
-
Overlap
Development Phases
-
Converge
on Solutions
Use
Entrepreneurial Teams
3M has a
15% rule: Al scientists may use 15% of their time working on any
project they wish. In addition, the company expects all new product
teams to be led by a ‘Product Champion’. The champion typically has
an entrepreneurial vision of a new product, and recruits scientists
to use their 15% time to help develop the vision. New product teams
can make great progress on company time with no official approval,
and once they have developed their idea far enough, they appeal to
the company for funding to bring their venture to market.
A new
product development team at 3M is cross-functional, collaborative,
autonomous and self-organizing. It deals well with ambiguity,
accepts change, takes initiative and assumes risks. If the team is
making progress toward a new product, it will be left alone.
Teams at
Toyota are led by a chief engineer who is expected to understand the
market and whose primary job is vehicle system design. The Chief
Engineer is totally responsible for vehicle development, similar to
the product champion at 3M. This creates an entrepreneurial
environment in which the second practice can be accomplished:
Focus on Business
Value
3M new
product development teams have a wide measure of freedom and
extremely challenging goals. But these goals are not cost, schedule
and scope. At each review, the key hurdle the team must pass is
proving that the proposed product has a good margin potential. One
reason why 3M gets hundreds of high margin new products each year is
because senior management decision-making focuses teams on this
broad strategic goal.
Toyota was
the birthplace of Lean Production, originally known as the Toyota
Production System (TPS). The fundamental concept of the is to
eliminate waste, which means eliminating anything which does not add
business value. Toyota was the first company to eliminate
sub-optimized measurements and allow overall business value to drive
decisions at every level. This tends to knock down barriers between
departments and facilitates the third practice:
Overlap
Development Phases
At 3M,
product development appears to move through a set of phases:
concept, feasibility, product and process development, pilot
production, scale-up. In fact, with a single cross-functional team
handling the product from start to finish, a new product will be
manufactured on a pilot line and test marketed as early as
possible. Changes will be made to the product spec, to the
manufacturing process and to the product design, based on feedback
from the manufacturing line and from customers. The major problem
with this approach is that when a pilot product is successful, the
team may not be able to scale up fast enough to meet demand. It’s a
nice problem to have.
Toyota uses
compressed overlapping phases to rapidly bring new products to
market. Traditional serial engineering in the automotive industry
involves moving a design from styling to marketing to body to
chassis to manufacturing. At Toyota, concurrent engineering takes
place: styling, body, chassis and manufacturing designs are done
simultaneously, even as market investigation continues. This works
because each function develops multiple options, and the Chief
Engineer integrates the product by looking for intersections between
feasible regions of functional designs. Which leads to the fourth
practice:
Converge on
Solutions
Toyota
makes more clay models than other companies, freezes the nominal
dimensions far later than US manufacturers, and obtains detailed
input on process capability at the earliest stages of design.
Instead of optimizing from a single starting point, tradeoffs are
made by rigorously evaluating sets of alternatives, bringing forward
multiple options, making tradeoffs based on data, and deciding as
late as possible in the design process.
Similarly, 3M teams would not
be expected to know at the beginning of a new product development
project exactly what they will commercialize. After all, Art Fry
was trying to make a sticky bookmark when he invented Post-it®
Notes. When there are inventions to be made and markets to be
tested, the product development team tries out many ideas,
abandoning the ones that fail and pursuing those that work. Failure
is not a problem at 3M – less than half of new product development
projects are expected to succeed. But from an abundance of options
comes an large number of innovative products, including a regular
stream of blockbuster successes.
Conclusion
Software Development, in as
much as it is really ‘Development’, might well borrow a few ideas
from companies that have mature, high performance development
practices. Truly innovative development comes from entrepreneurial
teams expected to deliver business value, where all functions work
in parallel to converge on an optimal solution.