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.
2
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.
1