A girl has the choice between ice cream and broccoli

A Comparison of Ways to Develop Products and Software

Solcept is an engineering company that carries out embedded projects in two ways. On the one hand integrating our engineers into the customer's mixed team and on the other hand complete product development projects with our own processes and project management. We do this in teams of one or two up to more than ten specialists.

Working with an engineering service provider for complete projects or having them join the client's team is not necessarily the best choice for everyone. Sometimes freelancing, developing together with an assembler, off-shoring or hiring your own developers are better choices. In this post, we want to take an honest look at the different options for product and embedded software development.

What are the Options for Software and Product Development and what are their Advantages and Disadvantages?

Basically there are 6 possibilities to develop software and electronics:

A summary can be found in the key takeaways.

In addition, for external projects, also with EEMS, the fundamental question arises: fixed price or time and material?

Advantages and Disadvantages External Project

An embedded engineering company covers both software and hardware development. This can take two forms:

  1. as a classic external project, which outside of the specification phase and the integration and validation phases considerably frees up the customer resources
  2. as a co-development or co-creation project in a mixed team as below

Advantages External Project

  • Minimal management effort: planning, project management and quality assurance are included in the project

    • trough the project managers and processes of the engineering company the client's resources are relieved of these tasks
    • management work is limited to a few interfaces to the project

  • No cost and deadline risks: fixed price is possible

    • the customer has no risk that the effort or the deadline will not be met (engineering companies that do not have their estimates under control disappear relatively quickly...)

  • No lock-in

    • since all intellectual property goes back to the customer, he is free to choose the partners

  • Access to expertise of the entire engineering office

    • as the team can always call in other experts within the engineering office, the customer gets not only the knowledge of the project team, but that of the whole engineering office

  • Innovation/ external ideas

    • an external view of possible solutions and the transfer of fundamental ideas from other industries results in a high degree of innovation

  • Fluctuations in demand

    • a development team of almost any size can be established and dissolved rapidly, even with the same engineers who have already carried out the last project

  • Maintenance and upgrades during the entire life cycle of the project are ensured

    • engineering companies have long-term employees, who are still there after ten years
    • good engineering companies have clear processes and tools for clean documentation and for efficient training of the client's staff when transferring the project back

Disadvantages External Project

  • Familiarization with domain knowledge

    • engineers have to acquire indsutry knowledge, but typically this is one of the engineers' core competencies (practice makes perfect), so it happens efficiently

  • Specification and back transfer

    • the project must be specified in sufficient detail for a project award
      unless the customer uses the engineering company in a mixed team
    • if desired, the transfer back to the customer at the end of the project requires some effort

  • The whole team is not always on site

    • this aspect is strongly put into perspective by digitalization and remote access, especially in post-COVID times
    • clear intermediate goals and intermediate results can have more impact than on-site control

Advantages and Disadvantages Mixed Team

An embedded engineering company covers as service provider both software and hardware development. The shared team is the second form of collaboration:

  1. as a classical external project as above
  2. as a co-development or co-creation project, where one to several engineers of the engineering office work together in the mixed team of the customer and also with other service providers

Advantages Mixed Team

  • No lock-in

    • as all intellectual property remains with the customer

  • Access to expertise of the entire engineering office

    • as the team within the engineering office can always call on other experts, the customer gets not only the knowledge of the project team, but that of the entire engineering office

  • Innovation/ external ideas

    • an external view of possible solutions and the transfer of basic ideas from other industries results in a high degree of innovation

  • Fluctuations in demand

    • a development team of almost any size can be established and dissolved rapidly, even with the same engineers who have already carried out the last project

  • Maintenance and upgrades during the entire life cycle of the project are ensured

    • engineering companies have long-term employees, who are still there after ten years

Often it is also seen as an advantage that for mixed teams "the work must not be precisely specified", i.e. that there is no effort for specifications. This is a misconception in that the effort to define the work typically happens permanently and in an unstructured way and thus simply vanishes into the project work.

Disadvantages Mixed Team

  • Management effort from planning, project management and quality assurance

    • project managers and processes must be available

  • Familiarization with domain knowledge

    • engineers have to acquire indistry knowledge, but typically this is one of the engineers' core competencies (practice makes perfect), so it happens efficiently

  • The whole team is not always on site

    • this aspect is strongly put into perspective by digitalization and remote access, especially in post-COVID times

  • Cost and deadline risks: no fixed price possible

    • the customer bears the risk himself if the cost or deadline is not met

Advantages and Disadvantages Own Development Team

For many companies, this is seen as the ideal way, but it is also not free of potholes.

Advantages In-House Development Team

  • The evident cost are lower

    • the cost for own engineers are lower, if you can really use them to full capacity (maybe not by as much as you think)

  • The domain knowledge does not have to be acquired

    • as long as there is no fluctuation, the acquired industry knowledge is retained from one development project to another

  • Maintenance and upgrades throughout the lifecycle of the project are ensured

    • with own processes for clean documentation
    • however, this documentation often becomes a victim of the time pressure at the start of production

Disadvantages In-House Development Team

  • Management effort from planning, project management and quality assurance

    • project managers and processes must be available

  • Enough work for the necessary specialists

    • embedded development has become a very broad field in recent years, which can no longer be mastered in its entirety by one or two developers

  • Legacy projects delay development

    • as soon as production or service calls, current projects tend to get put on the backburner

  • Cost and deadline risks (time-to-market)

    • the incentive to meet effort and deadline targets is often smaller internally than with external partners

  • Fluctuations in demand

    • are difficult to balance with a fixed team

  • Company myopia

    • it happens that internal, closed teams lose their creativity and ability to innovate over time

An in-house development team is the best solution for covering the core competencies, if these really lie in the embedded area. Here, as in IT, it is necessary to check whether a strategic partnership is not an even better solution. With the product development executed as an external project or in mixed teams .

Advantages and Disadvantages EEMS (Electronic Engineering and Manufacturing Services)

Many EMS (Electronic Manufacturing Services) also offer development services.

Advantages EEMS

  • Low management effort due to getting development and production from a single source

    • however, engineering companies can also act as general contractors, which has the advantage that the optimal partner for production can be selected depending on the product

  • No cost and deadline risks: fixed price is possible

    • the customer has no risk that the effort or the deadline will not be met

  • Maintenance and enhancements during the entire life cycle of the project are ensured

    • EEMS have long-term employees, who are still there after ten years

Disadvantages EEMS

  • Lock-in, directly or indirectly

    • directly by keeping the intellectual property with the contractor, indirectly by optimizing the product to the contractor's own production capabilities and thus making it more difficult to transfer to another producer

  • Development is sometimes only a stopgap or a means of utilizing the company's own production capacity

    • it happens that development is not taken seriously enough
    • also in the depth and breadth of the required knowledge

  • Familiarization with domain knowledge

    • engineers have to acquire industry knowledge

  • in addition, most of the disadvantages of external projects apply

Advantages and Disadvantages Freelancer

To compensate for the disadvantages of not being able to adapt to peaks in demand, and to obtain additional knowledge, freelancers can be brought in (body leasing).

Advantages Freelancer

  • Evident costs can be lower

    • the costs are lower depending on the hourly rate, with full cost accounting maybe not as much as you think

  • Fluctuations in demand

    • a development team of almost any size can be established and dissolved rapidly, even with the same engineers who have already carried out the last project

  • On site and in our IT system

    • visibility and control are at least theoretically given: "He does exactly what I want"; this aspect is strongly put into perspective by digitalization and remote access, especially in post-COVID times
    • clear intermediate goals and intermediate results can have more impact than on-site control

Disadvantages Freelancer

  • Cost and deadline risks (time-to-market)

    • effort and deadline targets are not part of the contract (attendance is charged)

  • Expertise

    • the true expertise and performance often is only apparent after a few months

  • Familiarization with domain knowledge

    • engineers have to acquire industry knowledge, but typically this is one of the freelancers' core competencies (practice makes perfect), so it happens efficiently

  • Maintenance and upgrades can be difficult

    • if good documentation and knowledge transfer is not taken care of during the project, the knowledge leaves the company together with the freelancer without documentation
    • in two years another engineer comes from the same contractor

Advantages and Disadvantages Near-Shoring/ Off-Shoring

Mainly to avoid the cost, projects are outsourced nearby (typically Eastern Europe) or worldwide (typically East Asia).

Advantages Near-Shoring/ Off-Shoring

  • The evident cost are lower to even massively lower

    • the long-term costs (TCO: Total Cost of Ownership) including support and quality assurance at a distance and product maintenance can again eat away at these short-term advantages

Disadvantages Near-Shoring/ Off-Shoring

  • Distance, also cultural

    • different understandings of e.g. quality and time can render such projects interesting

  • Maintenance and upgrades during the entire life cycle of the project

    • in two years, there is a big chance that no one will be there for queries anymore, sometimes whole teams change already during the project

  • Expertise

    •  it is not always easy to ensure that the required embedded knowledge and seniority are available for the project

  • Familiarization with domain knowledge

    • engineers have to acquire industry knowledge

  • The whole team is not always on site

    • this aspect is strongly put into perspective by digitalization and remote access, especially in post-COVID times

Key Takeaways

Each of the six paths to the product has its own advantages and disadvantages.

Pros and Cons External Project

Contracting out the complete development results in the smallest management effort, risks can be minimized through fixed price and there is no lock-in. Maintenance and expandability are also ensured. For this, the project must be sufficiently clearly specified at the beginning and the external parties must first acquire the industry knowledge.

Pros and Cons Mixed Team

If you cannot prepare exact specifications in advance, then a mixed team of in-house developers and those from an engineering firm is the best choice. The benefits come at the cost of managing all the engineers and the risks, which are all yours.

Pros and Cons In-House Development Team

With an in-house team, the apparent cost are low and maintenance is assured. The knowledge of the industry is also available. On the other hand, the management effort is quite high and legacy issues can delay new development. Also, fluctuations in demand cannot be balanced well and embedded specialist knowledge may be lacking.

Pros and Cons EEMS

The obvious advantage of development by an EMS is the reduction of interfaces due to the fact that everything comes from one source. Make sure that you are not just a stopgap and that the contracts exclude lock-in with the contractor.

Pros and Cons Freelancer

At first glance, freelancers are the easiest solution to fill resource and expertise shortages. However, the long-term maintenance and all risks, including the qualification of the freelancers, remain with you.

Pros and Cons Near-Shoring/ Off-Shoring

Off-shoring usually looks like the most cost-effective solution in the short term. However, this advantage can be eroded away by the large cultural and geographical distance, the many fluctuations and the need to ensure expertise.

How to Select a Partner?

As soon as you have decided to carry out the project with a partner, the question arises how to choose one. For this purpose we have created an outsourcing checklist.

Which is Better: Fixed Price or Time and Material?

There are two general charging models for external, defined projects. What are their advantages and disadvantages?

Time and material billing, which also includes most so-called "agile contracts", allows simpler changes on demand. All risks remain with the customer. The danger with this approach is that of feature creep, which can jeopardize the cost and schedule goals of the project. Most often this happens because when the decision to change is made, it is not clear by how much which feature will drive the price.

A fixed price shifts the risks to the contractor, which naturally includes it in the price. The incentive to achieve the deadline and cost targets is massively greater. The customer may find it unpleasant that his targets, the specifications for fixed price must also be fixed. In practice, this can have the advantage that clear decisions about the product must be made in advance. Changes are then always possible, with the advantage that each change also gets a clear price and deadline effect, which can be included in the decision for its implementation.

 

Do you still have questions about these six paths to a development project?  If so, contact us directly or comment your thoughts below!

Are you ready for a project or considering a mixed team? Contact me!

Keywords/ Tags

Questions & Comments

No Comments

Do You have Additional Questions?

* These fields are required

Let us discuss your idea/ your project