2

Hello some programmers might know about the lean philosophy,

building a minimal viable product Lean Startup MVP.

I ask myself (when building Webapps):

"Should I put effort into writing good reusable code, testing etc."

or

"Write quick and dirty code. It just works. The customer does not care what kind of programming pattern you used etc. He/she just wants to use it."

So reading the article about a MVP is a bit paradox to me. On the one hand it says:

"version of a new product which allows a team to collect the maximum amount of validated learning about customers"

on the other:

...begin the learning process as quickly as possible

So which actually has a higher priority? To me this is a trade-off between time and quality. Correct me if I did not understand it.

Thanks.

marked as duplicate by Doc Brown, Bart van Ingen Schenau, Dynamic, user40980, Kilian Foth Mar 3 '14 at 10:24

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • I was asking what the lean concept does advise on this issue. In general it is better to write quality code. I was just asking about how does the lean philosophy think about this. Not coding in general. – zer02 Mar 2 '14 at 14:30
  • 1
    Quick and dirty is a myth. Dirty always means slow. allankelly.blogspot.de/2009/09/quick-dirty-myth.html – Doc Brown Mar 2 '14 at 14:38
5

Dirty code just gets dirtier, never cleaner. After a first release you rolled out very fast, you will have to continue to iterate fast, and roll out better and better releases. If you start from a mess, this will get increasingly harder and harder, to the point of impossible.

Dirty code is harder to test. So you will have even fewer automated tests than you normally would have had otherwise with clean code. And if you have fewer automated tests, you'll have higher chance of embarrassing, show-stopper bugs.

Dirty coding is a vicious cycle. Don't get sucked into it.

  • 3
    +1 well said, technical debt should be earned with years of maintenance, not cheaply fabricated in every iteration – Jimmy Hoffa Mar 2 '14 at 16:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.