You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
2.1 KiB
42 lines
2.1 KiB
5 years ago
|
+++
|
||
|
title = "Things I Learnt The Hard Way - Nothing More Permanent Than A Temporary Solution"
|
||
|
date = 2019-07-29
|
||
|
|
||
|
[taxonomies]
|
||
|
tags = ["en-au", "books", "things i learnt", "code", "writing code", "temporary solutions"]
|
||
|
+++
|
||
|
|
||
|
Depending on where you look, "Nothing more permanent than a temporary
|
||
|
solution" is either an old Russian proverb or a quote by Milton Friedman.
|
||
|
Thing is, temporary solutions, unless you think about the future to fix them,
|
||
|
will become permanent.
|
||
|
|
||
|
<!-- more -->
|
||
|
|
||
|
A temporary solution may appear either as a proof-of-concept or due some
|
||
|
restrained deadline. You may create perfect [system
|
||
|
specs](/books/things-i-learnt/spec-first), you may have a perfect
|
||
|
understanding of the whole [in your Gherkin
|
||
|
files](/books/things-i-learnt/gherkin) but, at some point, you'll put some
|
||
|
small script to fix a minor problem, or do a "not so good" solution to a point
|
||
|
due to deadlines.
|
||
|
|
||
|
This happens and unless you take steps to get rid of those, you'll end up with
|
||
|
a bunch of spaghetti code pretty fast. And that will snowball to a point that
|
||
|
you won't be able to manage the project.
|
||
|
|
||
|
Once a scrum master suggested that we came with an idea to our product manager
|
||
|
to do something akin to "Every three sprints, we'll focus on product value;
|
||
|
the fourth one is ours to fix the things that are annoying us". I don't think
|
||
|
we ever talking to the product manager about this, but we managed to open
|
||
|
issues on our ticket system about the small warts we left behind, specially
|
||
|
due deadlines. So there we had, a specially crafted bug type for "technical
|
||
|
debt" which we never actually took the time to fix.
|
||
|
|
||
|
Unless you have a pretty good safety net to fix those, they will life forever.
|
||
|
And it may be a better option to tell "we can't deliver in time" than adding
|
||
|
(yet another) temporary solution, as hard as it is to convince the higher ups
|
||
|
that you can't deliver the product with a temporary solution.
|
||
|
|
||
|
{{ chapters(prev_chapter_link="/books/things-i-learnt/run-locally", prev_chapter_title="If It Doesn't Run On Your Computer, You Have A Problem", next_chapter_link="/books/things-i-learnt/config-file", next_chapter_title="The Config File Is Friend") }}
|