A System Is Not a Finished Product. It Is Something You Grow.
How Configuration Changed My View of System Design
Wow! The system started transforming itself without writing a single line of code!
From Confidence in Development to a New Discovery
I have been involved in system development for many years, and before I knew it, I had spent eight years leading and controlling large-scale projects.
In my early career, I worked mainly with Java-based systems and gained experience across the entire lifecycle—from design and development to testing and operations.
To be honest, I had become fairly confident in my ability to build systems.
Gather requirements.
Design.
Develop.
Test.
Release.
I believed that was simply how systems were built.
Then I had an experience that completely challenged that mindset.
It was a project to implement an overseas enterprise software package.
The Lesson I Learned in London
As part of the project, I attended a two-week training program in London to learn the product and prepare for customer implementation.
What I learned there was not just product knowledge.
It was an entirely different way of thinking about system architecture.
At that time, I believed that customer requirements were something that had to be implemented through programming.
Of course, we used configuration settings.
Operating system settings.
Server settings.
Log retention periods.
Memory allocation.
Job scheduling.
Configuration was used to optimize system performance and simplify operations.
In other words, configuration was merely a supporting mechanism behind the scenes.
When Configuration Became the Product
However, this package was different.
It contained an astonishing number of configuration options.
More importantly, the purpose was completely different.
These settings did not exist to run the system.
They existed to change the system itself for each customer.
Approval workflows.
Screen fields.
Input validation rules.
Notification conditions.
Business processes.
Customer-specific requirements were absorbed through configuration.
At first, I was amazed.
“Can this really be configured?”
“Do we really not need to write code for this?”
These questions crossed my mind repeatedly during the training.
A System Designed to Evolve
Gradually, however, I began to understand.
This system was not designed as a finished product.
It was designed to evolve.
You improve it through operations.
Customers request new features.
You do not immediately start development.
First, you address the need through configuration.
Only when configuration is insufficient do you include enhancements in the next release.
The system continues to grow.
And it continuously adapts to each customer.
Operations Matter More Than We Think
That was when I realized something important.
Development is not the most important part.
Operations are.
You learn through operations.
You improve through operations.
You create value through operations.
A system's life begins on the day it is released.
Completion of development is not the goal.
It is the starting point.
Even today, this experience remains vivid in my memory.
Is Competitive Advantage in Code or Configuration?
One reason is that many Japanese system development projects still rely heavily on the mindset of finalizing requirements before development begins.
Of course, that approach has value.
But is it enough?
Every customer operates differently.
Markets continue to change.
AI is accelerating the speed of requirement changes.
In such an environment, can we really solve everything through development alone?
Perhaps the true competitive advantage of a system lies elsewhere.
Perhaps it lies in answering a different question:
“How much can be changed through configuration?”
This idea may be controversial.
Yet recently, I have started to believe it.
The best systems of the future may not be the systems with the best code.
They may be the systems with the best configuration capabilities.
The Bigger Future of Systems
The two weeks I spent in London were far more than product training.
They changed the way I think about the future of systems.
And every time I encounter a new technology, I am reminded of one thing.
The world of systems is incredibly deep.
There is still so much I do not know.
And that is exactly what makes it fascinating.
I can do it! Tomorrow, I will take the first step forward.
コメント
コメントを投稿