Browse Source

New chapter: Temporary/Permanent Solution

master
Julio Biason 5 years ago
parent
commit
1a4da54f43
  1. 1
      content/books/things-i-learnt/_index.md
  2. 2
      content/books/things-i-learnt/config-file/index.md
  3. 41
      content/books/things-i-learnt/permanent-solution/index.md
  4. 2
      content/books/things-i-learnt/run-locally/index.md

1
content/books/things-i-learnt/_index.md

@ -56,6 +56,7 @@ template = "section-contentless.html"
* [Optimization Is For Compilers](optimization) * [Optimization Is For Compilers](optimization)
* [Units Makes Things Clear](units) * [Units Makes Things Clear](units)
* [If It Doesn't Run On Your Computer, You Have A Problem](run-locally) * [If It Doesn't Run On Your Computer, You Have A Problem](run-locally)
* [Nothing More Permanent Than A Temporary Solution](permanent-solution)
* Making Things Go * Making Things Go
* [The Config File Is Friend](config-file) * [The Config File Is Friend](config-file)
* [Command Line Options Are Weird, But Helpful](command-line-options) * [Command Line Options Are Weird, But Helpful](command-line-options)

2
content/books/things-i-learnt/config-file/index.md

@ -52,4 +52,4 @@ you'll find that you're half-way through it.
[^1]: In other words, they have a [time to [^1]: In other words, they have a [time to
live](https://en.wikipedia.org/wiki/Time_to_live). live](https://en.wikipedia.org/wiki/Time_to_live).
{{ 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/command-line-options", next_chapter_title="Command Line Options Are Weird, But Helpful") }} {{ chapters(prev_chapter_link="/books/things-i-learnt/permanent-solution", prev_chapter_title="Nothing More Permanent Than A Temporary Solution", next_chapter_link="/books/things-i-learnt/command-line-options", next_chapter_title="Command Line Options Are Weird, But Helpful") }}

41
content/books/things-i-learnt/permanent-solution/index.md

@ -0,0 +1,41 @@
+++
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") }}

2
content/books/things-i-learnt/run-locally/index.md

@ -39,4 +39,4 @@ If we had the chance to not use it and run all the development and tests on
our own computers, I have the feeling we could deliver the product 2-3 months our own computers, I have the feeling we could deliver the product 2-3 months
earlier. earlier.
{{ chapters(prev_chapter_link="/books/things-i-learnt/units", prev_chapter_title="Units Makes Things Clear", next_chapter_link="/books/things-i-learnt/config-file", next_chapter_title="The Config File Is Friend") }} {{ chapters(prev_chapter_link="/books/things-i-learnt/units", prev_chapter_title="Units Makes Things Clear", next_chapter_link="/books/things-i-learnt/permanent-solution", next_chapter_title="Nothing More Permanent Than A Temporary Solution") }}

Loading…
Cancel
Save