Software Engineering Advisors
Embedded Systems Specialists

HOME

ABOUT US

ABOUT YOU

SERVICES

METHODS

RESOURCES

SEA LOGIN




 




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


A contractor is hired to implement specific work and to perform designated tasks.
A consultant, on the other hand, is hired to achieve a particular result or outcome
using whatever methods are appropriate to the situation.  A contracting engagement
conducts some part of the client's ordinary business, whereas a consulting engagement
is an intervention in the client's business to address an extraordinary challenge or to
achieve a positive change in the way the client does business.

SEA is a product software development consultancy.
We are engaged by our clients to provide unique talents and abilities that will improve
the condition of the client and add value to its business.  The value we add is to
significantly improve the client’s ability to select, conduct, and complete software
engineering projects that matter to its business.

Because each engagement is about results, our consultants can consider alternative
methods to achieve those results and can choose the one that is best for the particular
client situation.  We draw on our own talents and experience, on the skills and
experience of selected partners, and of course on the experience, abilities, and expertise
of our clients.  We have found that the most effective interventions are those that are
highly collaborative and for which each contributor has a significant stake in the outcome.
We tend to favor hands-on approaches with our consultants interacting closely with
the client’s resources.

We have found it useful to look at an engagement in terms of its scope, its time
horizon, and the role that
SEA consultants take in the engagement.

 • The scope refers to the choice of areas that an engagement covers.  We call these
   “capability areas” in our model of product software development and “service areas”
   in the service model (see the
Services page).  During the pre-engagement interviews,
   we consider those areas that will be part of the engagement and which capabilities
   in each area will be addressed (which services will be provided).

 • The time horizon of the engagement refers to the time-frame in which the results
   of the engagement are needed.  Some engagements have short-term goals that
   require immediate or even urgent attention.  Other engagements are long-term
   efforts at acquiring or enhancing an organization’s ability to create or procure
   software for its products.  Still others have intermediate-term goals or have
   a combination of short- and long-term objectives.

 • The role that SEA takes in a client engagement refers to the relationship of the
   consultant to the client in order to achieve the goals of the engagement. The consultant
   can take one, two, or all three roles as an analyst, an advisor, or an expert.

      • As an analyst, the consultant focuses on the client’s abilities to conduct software
        development that serves the needs of their business. Using our proprietary
        
Product Development Pyramid and a multipoint checklist, the consultant examines
        and evaluates the client’s existing capabilities in the areas within the desired scope.
        His goal is to answer key questions for each area:  Are required capabilities present?
        Are they adequate?  How can they be developed to extend productivity and
        competitive advantage?  The output is an assessment of the client’s abilities in each
        of the selected areas.

      • As an advisor, the consultant is a coach, focusing on enriching the client’s
        capabilities to produce software in the areas within the scope of the engagement.
        He first analyzes the client’s abilities in the areas, and then helps the client acquire
        missing capabilities and strengthen capabilities that are essential to meeting their
        product goals.  The advisor role requires the most collaboration with the client
        and offers the greatest long-term benefits.

      • As an expert, the consultant is accountable for the production of specific
        software deliverables, directly or indirectly performing the work needed to deliver
        the work product(s).  This role is usually combined with that of the advisor in
        a hands-on undertaking when
SEA provides the required solution and assists the
        client in developing the capability for themselves.  The expert role by itself is also
        appropriate when the client has a unique situational need that is unlikely to be
        repeated, and skill transfer is not a requirement.

There is a correlation between time horizon and scope:  Larger scopes are associated
with strategic engagements (longer time horizons) and smaller scopes with short-term
engagements.  The main objective of long-term engagements is to improve the client’s
overall software production abilities, while the main objective of short-term engagements
is usually to get something critical done (and to learn something valuable in the process).
It makes sense therefore to talk about three types of client engagements:

 • In a strategic engagement, we examine a client’s abilities to do software product
   development, and then work with the client to develop necessary capabilities to meet
   their strategic business goals.  The goal is to increase the client’s overall return on its
   software investment by choosing the right areas and right forms of investment and how
   that investment is managed.  The scope is broad and the time horizon tends to be long,
   segmented into several delivery periods.

 • A tactical engagement is for a challenged product or project in which urgent
   intervention is necessary.  We quickly assess the needs of the situation, and then apply
   specialized services to help the client manage and resolve the immediate challenge.
   The scope is narrowly focused and the time horizon tends to be relatively short.

 • In a targeted engagement, we apply our expertise in specific technical or management
   tasks, including analysis, evaluation, training, and skill transfer.  It is an à la carte
   approach to an engagement that offers the client the most flexibility in choosing specific
   long-term or short-term goals, but with limited scope.

For each type of engagement, the role of the SEA consultant can be as analyst,
as expert, and/or as advisor.  The role that the consultant takes in an engagement can
thus be plotted on a two-dimensional graph, as shown below.

The horizontal axis represents the focus on growing capabilities to produce software.
Tactical engagements tend to deemphasize the transfer of skills and the growth
of capabilities, whereas that is the whole point of strategic engagements.  The vertical
axis represents the focus on applying expertise to resolve the issue.  At the lower end,
the consultant acts as an analyst; in the middle, he acts as an advisor; and at the top end,
he is acting as the expert.  The nine titles shown in the graph represent the effective role
that the
SEA consultant takes when an engagement lies in the corresponding zone.

Every client is different, so every engagement is different.  We invest time during our
pre-engagement interviews to understand the client’s stated needs and to establish
the appropriate type of engagement (its scope and time horizon) and to choose the
right roles for
SEA consultants to take in the engagement.

Acknowledgement:  The nature of the graph and some of the titles are taken from
Alan Weiss,
Million Dollar Consulting, Third Edition, McGraw-Hill, 2003.

Home Page - About SEA - Site Map - Contact SEA - Terms of Use

©2008 Software Engineering Advisors LLC