Or why no one likes the code?
(The Source Code)What is code?
It executes all the steps and the details of the business.
What is code?
It executes all the steps and the details of the business automatically,
thousands of times,
every day.
Code is your business rules and policies, validations, workflows.
It communicates with the customer, before you.
It communicates with the customer while you are asleep.
Which one do we want?
To screw up thousands of times, every day, automatically?
Or to achieve meaningful results, each day?
People join the company everyday.
People leave the company everyday.
It's the code that stays.
And you have to live with it.
Why is it hard to understand and measure the value of the code?
The functionality that the code privides, is a current asset.
The quality of the code is a long-term liability.
How does the quality of code affect us?
When the quality of code degrades
for the same amount of money
during the same time window
we get less scope.
How does the quality of code affect us?
When the quality of code degrades
it's hard to fix bugs
because there is not enough test coverage.
How does the quality of code affect us?
When the quality of code degrades
it's hard to understand the code
because there are not enough specs
and text documents and comments in the code
get deprecated fast because they are hard to be kept uptodate
and the code sways away from them in time.
How does the quality of code affect us?
When the quality of code degrades
it's hard to add new features
because the code becomes entangled
and it does not communicate its intent
and changing anything breaks everything.
What is the main factor that affects the design of the system?
(We will come back to this)