• If it takes three days of manual QA to create a build... • If it takes one special person to create the build… • If it takes this one five year old computer that no one dares to update, because this one version of the dependency does not compile on a new OS to create the build….
code without changing its external behavior. – Wikipedia Refactoring happens within minutes, not within months. Again, in order to refactor efficiently, you need to be able to check everything all the time.
will slow you down when you least need it, close to the end of the project. • Dirty code slows you down. If code is clean, the next features go in smoothly. If it gets dirty, everything takes just a bit longer.
If your code is faulty or has side-effects, new code building upon this code will be even more faulty with more side-effects. Fixing, maintaining or extending these layers of faulty code will take even more time!
agile! Automated Builds Always be able to ship! Automated Testing Everything must work all the time! Refactoring Design must improve continually, to make future changes easy!
The need for refactoring? The test coverage? Can this really part of their role? Do the really know? Can they really decide? No! Only you. You are the coder. You are the expert.