Site Search

Many people struggle with questions like, "What is scratch development, and how does it differ from package development?", "Should we continue outsourcing the development of peripheral functions and business applications for our core systems using scratch development, as we have done in the past?", and "We want to move towards in-house development, but is scratch development our only option?". This article will clearly explain everything from the basic meaning of scratch development to its differences from package development and the key points for success. In addition, we will introduce low-code development, which is attracting attention as a third option that bridges the gap between scratch development and package development.

What is scratch development?

Scratch development is a system development method that involves creating a custom-made system from scratch, from requirements definition to design and implementation, without using existing packaged software or templates.

The term "scratch" is derived from "scratch" and means "from scratch," which is the origin of the term "scratch development."

The biggest advantage is that, because you're not bound by the specifications of existing products, you can build a system exactly as you envision it, tailored to your company's workflow and specific requirements.

Differences from full-scratch development

A similar term is "full scratch development." Generally, scratch development refers to developing something from scratch while making some use of existing frameworks and libraries, whereas full scratch development refers to avoiding the use of frameworks and templates as much as possible and implementing a wider range of things from scratch.

However, since this distinction varies depending on the organization and vendor, it's best to clarify in advance "how much of the work will be considered in-house development" when placing an order or getting a quote to prevent misunderstandings later on.

The difference between development from scratch and development using a package.

Comparison item Development from scratch Package development
Degree of freedom in development Very expensive (designed from scratch to meet requirements) Limited to the package specifications.
development cost It tends to be expensive Relatively easy to control
Introduction speed Requirements definition and development take a long time. Easy to implement in a short period of time
Customizability Fully compatible with your business workflow The work mainly involves configuration changes and minor additional development.
Suitable cases Highly unique business processes and large-scale core systems When prioritizing routine tasks and early implementation

Package development is a method of customizing and implementing commercially available software that is already completed, by changing settings, adjusting screen designs, and making minor additional development as needed.

This approach is in contrast to development from scratch, and each has its own distinct advantages and disadvantages.

Advantages of development from scratch

1. High degree of flexibility allows for the creation of original systems.

With scratch development, you can freely design the required functions, screens, and integration methods with other systems without being constrained by the specifications of existing products.

We can flexibly accommodate situations where the business content is unique or where features not available in existing packages are required.

2. Can be fully adapted to your company's workflow.

In package development, requests can only be incorporated within a certain set of predetermined specifications.

On the other hand, with custom development, you can create a user-friendly system tailored to your company's business processes and operational rules.

3. It leads to differentiation and competitiveness from other companies.

Because you can implement unique features and UI/UX, it becomes easier to create services and operational efficiencies that other companies don't offer, leading to the creation of a competitive advantage.

This high degree of flexibility is particularly valuable in areas that are fundamental to the business, such as core systems.

Disadvantages of development from scratch

1. Development costs and time tend to be high.

Because the design and implementation are done from scratch, development costs and time tend to be higher compared to package development.

The process from requirements definition to going live tends to be lengthy, requiring careful planning while assessing the return on investment.

2. Risks of reliance on specific individuals and black Box specifications

Because it is a system with proprietary specifications, there is a tendency for knowledge to be concentrated in the hands of the vendor and engineers who were in charge of its development.

As a result, there is a risk that specifications will become a black Box due to personnel changes or resignations, so it is necessary to consider documentation and the design of a maintenance system as well.

3. Difficulty in defining requirements and securing IT personnel.

The success or failure of development from scratch largely depends on the accuracy of the requirements definition.

However, companies often lack personnel who possess both on-site operational knowledge and expertise in both IT and OT, and it's not uncommon for them to stumble at the requirements definition stage.

Due to these cost and organizational hurdles, many companies are unsure whether to continue relying on outsourcing or to move towards in-house production. For more information on the reasons why DX promotion in the manufacturing industry is not progressing as expected, please also see the following article.

Companies and cases where custom development is suitable

Companies with unique business processes and special requirements

Companies with industry-specific business practices or unique production and logistics flows that are not found in other companies often cannot be adequately addressed by existing packages, and this is where custom development comes into play.

If you need functionality that cannot be supported by existing packages

In areas where customization is difficult due to the limitations of packaged products, such as integration with existing core systems or specific production and quality control requirements, there are many functions that can only be realized through scratch development.

Key points for successful development from scratch

Thoroughly define the requirements.

In development from scratch, the accuracy with which on-site operations are articulated during the requirements definition phase greatly influences the subsequent design and development quality. It is crucial for the on-site departments and the IT department to work closely together and start development with no discrepancies in understanding.

Choose a reliable development partner

Because development from scratch tends to be a long-term project, choosing a partner who can provide consistent support from requirements definition to design, implementation, operation, and maintenance is key to success.

Choose a company with a support system that understands IT and OT.

In manufacturing system development, an understanding of operational technology (OT), such as production equipment and control systems, is essential, as well as information systems (IT).

Is "building from scratch" the only way to develop from scratch? Low-code is a third option.

As we have seen, development from scratch offers a high degree of freedom but is costly and time-consuming, while package development is speedy but has limitations in terms of freedom. In recent years, "low-code development" has been attracting attention as an option that resolves this trade-off between the two.

What is the low-code development platform "Mendix"?

Mendix is an enterprise-grade low-code development platform provided by Siemens AG, covering everything from requirements analysis to development and post-release operation within a single environment.

By utilizing a low-code development platform like Mendix, you can build systems with the flexibility to design applications tailored to your business needs, without the development effort required for development from scratch.

Instead of rebuilding the core system from scratch, a growing trend is to utilize existing core systems such as ERP and MES, positioning Mendix as a layer around them to flexibly absorb changes in on-site operations and unique requirements. This approach is valued because it avoids frequent changes to the core system, allowing for maintainability while adapting to on-site needs.

Combining the freedom of scratch development with the speed of package development.

This allows on-site staff without programming skills to participate in development, leading to reduced development costs for IT engineers, shorter development periods, and increased in-house development.

For companies that want uniqueness but don't have the time and cost to develop from scratch, this can be a viable option.

If you are considering improving inefficient business processes that rely on paper and Excel, or promoting DX through in-house development, please consider low-code development as an option alongside scratch development. Specific methods for business process improvement are also introduced in the following document.

A silver bullet for business waste! Business improvement starting with low code

See other Mendix use cases here.

*Registration required for viewing/downloading

Request PDF download

Mendix is just one option among many low-code development platforms. For those who would like to compare it with other manufacturing DX tools such as ERP, PLM, and MES, please also refer to the following.

If you're unsure whether custom development or package development is right for your company, please consult with Macnica, including exploring the option of low-code development.

Frequently Asked Questions about Scratch Development

Q.
How much does it cost to develop something from scratch?
A.
As a general guideline, small-scale development typically costs between 3 million and 10 million yen, medium-scale projects between 10 million and 50 million yen, and large-scale projects can cost 50 million to over 100 million yen.
The cost varies greatly depending on the scale of the system being developed and the required specifications. In addition to the system construction costs, running costs (operating expenses) such as server usage fees and maintenance will also be required.
For a detailed consideration, we recommend starting by consulting with a reliable development partner and requesting a quote.
Q.
How long does it take to develop a game from scratch?
A.
As a general guideline, small-scale systems take 3 to 6 months, medium-scale systems 6 months to 1.5 years, and large-scale systems about 1 to 3 years.
Depending on the scale of the system and the complexity of the requirements, the time required from requirements definition to release is generally longer compared to using a packaged solution, as it involves building from scratch.
Establishing a clear agreement with vendors regarding the project's schedule during its initial stages is key to success.
Q.
What is the difference between development from scratch and development from full scratch?
A.
Scratch development refers to development that partially utilizes existing frameworks and libraries, while full scratch development refers to development that is implemented almost entirely without using them.
However, the usage varies from organization to organization, so it's best to confirm the definition when placing an order.
Q.
In what industries and sectors is development from scratch (developing from scratch) used?
A.
Many manufacturing companies, such as those in the automotive, electrical and industrial equipment, semiconductor, and food industries, have their own unique production processes and workflows.
Scratch development is frequently used for core systems and production management systems.
Q.
Can development from scratch and low-code development be used together?
A.
Yes, it's possible. More and more companies are using a combination of development methods, such as developing core systems from scratch for parts where uniqueness is crucial, and developing business applications and tools for on-site improvement using low-code development, depending on the purpose.
Q.
Is developing from scratch outdated?
A.
Rather than being outdated, it's more accurate to say that the ability to judge the right person for the right job is becoming increasingly important.
The expansion of areas that can be handled by packages and low-code development has led to an increase in cases where tasks that previously required development from scratch can now be accomplished using other methods.
On the other hand, in areas with unique requirements for core systems or those directly related to competitive advantage, there are still functions that can only be achieved through scratch development. The important thing is not whether it's "scratch development or not," but rather identifying which parts of the system require uniqueness and using scratch development for core business components and low-code development for peripheral business applications that are prone to change.

Understand the characteristics of development from scratch and choose the optimal development method.

Scratch development allows for the creation of highly customizable, bespoke systems, but it also comes with significant costs, time constraints, and organizational burdens. It's crucial to understand the differences between scratch development and package development and choose the most suitable method based on your company's specific business needs and requirements.

If you want to maintain uniqueness but don't have the time and cost to dedicate to scratch development, the low-code development platform "Mendix" is a strong option. Macnica leverages its extensive experience in supporting DX in the manufacturing industry and its expertise in IT x OT to provide end-to-end support from requirements definition to development and operation. Please feel free to contact us if you are having trouble selecting a development methodology.

We will propose the optimal development approach tailored to your company's challenges and requirements. Please feel free to contact us.