8
How to Develop Software Better and Faster:
A Guide to Strategic Outsourcing
Art & Logic
software engineering and design
Know your priorities
The three factors affecting your
project are schedule, budget and
functionality. Only two of those
elements can be emphasized at
any one time.
For example, if speed and cost
are important, be prepared to
scale back on functionality. If
functionality is essential, plan to
have a higher budget or longer
timetable.
Return On Investment (ROI)
Cost is always part of the decision to outsource, but as Steve McConnell says, "the
goal of awarding a contract is not to choose the lowest bid but to choose the vendor
that will provide the best value" (Software Development, Dec. '97). A project that is
accurately estimated and carefully managed will end up costing less than a bid that
starts low but creeps up dramatically as the project goes on. Fixed-price (flat-rate)
contracts can result in reduced functionality if the firm is forced to cut corners to meet
the budget. Even if the flat-rate project is re-estimated to include the new scope,
valuable engineering time is lost. Most often a time-and-materials contract
leads to a better relationship between you and your software engineering partner. It
provides the flexibility needed to complete a project in the face of changing project
requirements.
Some engineering managers express concern that a time-and-materials arrangement
only benefits the outsourcing firm. They suspect that the firm will purposely drag the
project out in order to increase billing. But, a trustworthy firm is highly motivated to
finish your project on time and on budget. The risk of losing repeat business far
outweighs any temptation to artificially extend a project.
Accountability
A top firm should provide weekly status reports as well as a single point of contact to
make sure all your concerns are dealt with quickly. Source code releases, milestone
checks, and status reports provide you with evidence that your engineering dollars are
being well-spent.
Expect the firm to prepare a "Software Development Services Agreement" (SDSA) that
carefully outlines the services to be performed, fees and payment terms. This contract
should be supplied in addition to a detailed project plan describing the exact
specifications of your software project. Make sure you know and understand what you
are paying the firm for. For example, make sure you retain the rights to the intellectual
property (IP) generated by your project.
Remember, choosing the right outsourcing provider for your company is the best way
to ensure that you are satisfied with the software created for your hardware product.
Take the time to properly evaluate the firm for fit with your project and organization.
You may find that you are able to rely on your chosen outsourcing partner for many
additional software projects.
www.artlogic.com
330 North Brand Blvd.
Suite 280
Glendale CA 91203
Phone: 818-500-1933
Fax: 818-500-1533