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."


"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.


  • 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, 2014 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, 2014 at 14:38

1 Answer 1


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 Mar 2, 2014 at 16:25

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