Services

We've seen over the years that clients have several different ways they like to work with us.  These can be roughly broken into the following categories:

 

Acorn as Software OEM
Software System Design and Implementation
Software Development
Co-Development
Project Management

Acorn as Software OEM

The most convenient way to develop software products is to use Acorn in an OEM role.  There is an important difference between using Acorn as an OEM developer versus a custom developer.  As an OEM we take on the role of design and development with no cost to you the client.  When the product is completely tested, we sell the product units to you.  Only a per-unit price is paid when the product units are purchased from Acorn.  On the other hand, as a custom software developer, our clients will pay for the cost of product design and development and upon completion, the entire product materials and documentation are handed over to you for manufacturing or in-house use. With Acorn in an OEM role, our clients can now concentrate on the market and identify products and options that will be successful.  An extensive development budget is not necessary.  New products can be specified, developed and brought to market.  As the products are sold to the end user, they are ordered from Acorn and development costs are passed on to the end user.

To Top▲

 

Software System Design And Implementation

Acorn’s greatest strength is in software system design. Our overlapped design and development methodologies save clients money and time. Given a problem, we aim for the simplest solution through an intense series of design reviews. With our small and familiar group we manage a high level of throughput resulting in a great value for our clients.

Overlapping Design and Development

Our method involves a repetitive process of independent study of the system requirements by our engineers followed by group review. After several repetitions, a candidate design is developed and tested on the white board and put through several "what-if" troubleshooting sessions. We then subject the design to an exhaustive series of use case scenarios. As the design is adjusted, pitfalls are removed and stability is enhanced. We overlap the design effort with the development of software modules used to test basic functionality and to incrementally bring up a simple software system which begins to solve the design problem at hand.

Early Release Software

The first software modules form the building blocks of the design. At this very early stage, the customer can already receive basic reliable software to test requirements and ideas. By the time we get to a final design candidate, we have already partially debugged the system. A thoroughly debugged design is far simpler to implement than one too quickly thought out.

Implementation Is Now Faster

As a part of the design process, various software modules have already been identified. Some modules have been partially written as integral to design verification. Now, as the design is ready and has been accepted, the software development proceeds along a well-defined path as various new software module designs are prepared and tested. The result is a robust group of system software modules in the shortest amount of time.

Design Documents

Throughout the project, we are developing a series of design documents for review by our clients. These documents are matched up against client marketing requirements and then accepted or changed as required. As a result, the project is easily tracked by a trail of requirements and designs. To Top▲

 

Software Development

Sometimes clients don't need system design help as much as they need an experienced group of developers to create software that complies with a pre-existing design and is released in a timely fashion.  It is much more than 'coding' to someone else's specifications.  Software development is both an interpretive and a design process in itself.  There are many ways to get code out the door.  The developer must perform wisely and understand a system design so that a project doesn't encounter an impasse as it progresses.  We want our clients to know that we really love a good design.  And we'll put all of our experience into producing software based on sound design principles.  Acorn's engineers will take a system wide or module level specification and work with the designers to develop software modules.  We will begin with a system level review that gradually focuses on the particular project's goals.  We will offer suggestions along the way, when and if they are needed, but primarily our intention is to produce robust software to specification and on time.

To Top▲

Co-Development

We call this service 'co-development' because it highlights Acorn's ability to jump in to an ongoing project and help out with a design or implementation.  In this role our staff fits in where required.  We have in recent years performed this kind of service more frequently.  Sometimes a client needs to increase bandwidth to meet a deadline and sometimes it is a situation just a bit more desperate. As co-developers we fill roles ranging from project design lead and software module design to software implementation, testing, deployment and configuration management. Our experience in control software design can often speed a project along and help software groups meet important deadlines.  Our in-house library of drivers and modules is a major advantage when using Acorn.

To Top▲

 

Project Management

Acorn’s team will take a client’s marketing requirements and turn them into a complete System Design Specification (SDS).  An SDS is a very specific document which defines the project software goals, specifies the system designs (including hardware changes), and identifies software modules.  We know a project can get stalled in this phase - trying to come up with the perfect document that pleases everyone.  The translation from marketing requirements to engineering requirements is rarely straight forward and there are often many interested parties plus deadlines to be met. We've had great success turning marketing requirements into engineering designs.  Over the years we have found that solid requirements are always based on effective communication among the groups  involved.  As a first priority, Acorn will establish channels of  effective communication with the marketing/engineering group generating the requirements. Being frequently in touch with marketing will keep engineering clear on the desired direction. Our attitude is to provide an SDS which includes all that is possible and reasonable and agreeable.  As our project document comes into focus, so do the group relationships and responsibilities.  The SDS process prepares the groups that will be involved in the further designs and development.  In the final analysis, it is the process of defining the SDS, in addition to the document itself,  that proves itself surprisingly valuable. Upon SDS acceptance,  Acorn will estimate and allocate the resources necessary for design implementation, peer review, debugging and beta testing. It is our responsibility to bring the software project in on time and on budget. Our final product is an implemented software design, debugged and documented in full. In this role, Acorn can take on the project independently or manage a team of in-house developers.

To Top▲

Home | Services | About Acorn | Staff | Contact | Portfolio | Partner