|
Software Engineering Advisors provides consulting in all
aspects of product software development.
Our client companies create and market products that depend on embedded
computer processors, and they depend on the software running on those processors. The term product software development is intended
to highlight that software is a part
of the product being developed rather than the product itself. While there is much overlap between the
world of embedded software and the world of desktop and enterprise software,
embedded software presents special challenges to product developers. We feel that these challenges are not being
adequately addressed in the industry.
Our markets and our clients are diverse and our engagements
help clients
Establish a productive software group (aimed at new
ventures) Grow and improve an existing software organization Refresh a mature software organization to keep it agile
and proactive Refine a successful software organization to maximize it
ROI in software assets
We have prepared some stories that illustrate how SEA
begins an engagement with its clients.
There are six stories, each representing one of six archetypal clients. The companies described in the stories are
fictional product development firms that incorporate embedded software in their
products. Each story provides some
background on the client and company, then describes how SEA consultants are
brought in for a strategic, tactical, or targeted engagement and the plans they
present to the client for the engagement.
The engagement plans outlined in these stories are typical for the kind
of client described in each story.
However, every client is different, so every engagement is
different. SEA consultants always
tailor the engagement to meet the needs of the client.
The business stakeholder might be a venture
capitalist who has funded an IC startup and is looking for ways to manage costs
aggressively or who would like to outsource software development if
possible. It might be a company that
holds a stake (or is thinking of acquiring a stake) in a company that develops
products that use embedded software and that needs an independent evaluation of
the capability and maturity of a potential spin-off or an acquisition target.
The technology startup typically seeks to
develop and license intellectual property or to become a fabless semiconductor
manufacturer. It might have some new
idea and a few good technical people, some marketing vision, but a very small
software group. It might hope to avoid
the cost and hassles of building a large software group by outsourcing all
development that is not essential to their core technology. The challenge
here is to help the startup
develop a software architecture that splits the software
development work into
core pieces done in-house and non-core pieces that can
be outsourced.
The small IC manufacturer represents
companies with revenues less than $500 million and an existing IC product line
that relies on embedded software. These
companies produce their own driver-level software and supporting
frameworks. But their focus is on the
chip and they frequently are not prepared to undertake or manage the large software
efforts occasioned by the transitioning industry. These are the companies that need the most assistance because the
contributions of software are increasing and the size of their software needs
quickly dominates the size of their hardware needs, and their hardware mindset can
impair understanding software in order to manage it effectively.
The large IC manufacturer represents
companies with revenues of at least $500 million and relatively large and
growing investments in their software development efforts. Such companies frequently produce multiple
product lines and have large separate software organizations. These organizations understand engineering
discipline and strive for maturity. They might be interested in a software
assessment to discover areas that are underdeveloped or at risk. They might also want to explore the effect of doing things differently, for example, the risk of IP “leakage” if outsourced contractors are used.
The systems integrator company integrates
hardware and software to produce the products it sells. Often it develops proprietary software that
runs on hardware produced to its specifications. Such companies should have more mature software processes, but
might need temporary assistance on a project basis to carry out specific
initiatives. They also might want to
have an independent assessment of their existing capabilities in order to find
areas to improve productivity and lower costs.
The physical product manufacturer
is an emerging client market that includes non-traditional manufacturers of
physical products who are re-engineering their product lines to take advantage
of the unique features available through application-specific ICs and embedded
computer technology. Aviation
and automobile manufacturers were among the first.
They have been joined by appliance manufacturers,
process and control
industries, even apparel makers. These companies have no history
with product software development and can greatly benefit from seasoned consultants
to help them jump-start their re-engineering
efforts.
|