Scratch Development
Key points
- Scratch development means building everything from requirements definition through design and implementation entirely from zero, without relying on an existing product or template.
- It offers the most freedom of the five options, but also tends to demand the most cost and development time.
- It's chosen for work that's so unique nothing else can substitute for it, or when no existing product can meet the requirements.
What is scratch development?
Scratch development (also called "full-scratch development") is a development approach where the system is designed and built entirely from zero, tailored to your own requirements, without using an existing package or template as a foundation.
Everything — screen layouts, business logic, database structure — is entirely up to you to decide. In exchange, you have to think through, build, and take responsibility for all of it yourselves.
How scratch development works
Unlike an off-the-shelf product where you "pick from features that already exist," scratch development means carrying out every step of system development yourselves (or through a contractor) from the ground up.
definition
release
Teacher Pochi's hintIt's like designing and building a custom home from scratch with an architect. You get to decide the floor plan and materials exactly how you want them — but it costs more time and money to get there.
Advantages
- Workflows and screen designs can be built to match your company's actual operations perfectly.
- Less constrained when adding future features or handling spec changes.
- No licensing fees, and you're not at the mercy of spec changes from an off-the-shelf vendor.
Disadvantages
- Everything from requirements definition through design, implementation, and testing takes time and money.
- Maintaining and operating the system you built is entirely your (or your contractor's) responsibility.
- If the engineers who worked on it move on or leave, the specs can easily become a black box.
When scratch development is a good fit
Scratch development is worth considering for cases like:
- Digitizing a business process that's a genuine, unique competitive advantage over rivals
- Cases where an off-the-shelf SaaS or package simply can't meet the requirements
- The core part of a system you plan to grow as your own product over the long term
On the other hand, choosing scratch development for run-of-the-mill work often ends up just piling on cost and time for no real benefit, so it's worth being careful there.
Practical pitfalls to watch for
Summary
Scratch development is the option that gives you the most freedom, building a system entirely your own from zero. It also costs more in time and money, so it's important to be sure the uniqueness it offers is something the other options genuinely can't deliver.
Related topics: